/*
 * Frontend theme override layer.
 *
 * Keep this file for scoped overrides of existing Flatsome or WooCommerce
 * markup. New child-theme-owned components belong in assets/components/.
 */

body.camap-theme-ui {
	--cardShadow: 0 8px 24px var(--sicomp-border-alpha);
	--cardShadowHover: 0 12px 28px rgba(var(--sicomp-shadow-rgb), 0.10);
	--buttonShadow: 0 1px 2px var(--sicomp-border-alpha);
	--buttonShadowHover: 0 6px 14px rgba(var(--sicomp-shadow-rgb), 0.10);
	background: var(--sicomp-page-background);
	line-height: 1.7;
}

body.camap-theme-ui .page-wrapper {
	padding-top: 18px;
	background: var(--sicomp-page-background);
}

body.camap-theme-ui .container,
body.camap-theme-ui .row-divided > .col,
body.camap-theme-ui .row-box-shadow-1 .col-inner,
body.camap-theme-ui .box,
body.camap-theme-ui .sidebar .widget,
body.camap-theme-ui .blog-post-inner,
body.camap-theme-ui .wrap_background_aside,
body.camap-theme-ui .archive-page-header,
body.camap-theme-ui .section-content > .row > .col > .col-inner {
	border-radius: 18px;
}

body.camap-theme-ui .sidebar .widget,
body.camap-theme-ui .blog-post-inner,
body.camap-theme-ui .box,
body.camap-theme-ui .wrap_background_aside,
body.camap-theme-ui .archive-page-header {
	border: 1px solid var(--cardBorder);
	box-shadow: var(--cardShadow);
	background: var(--sicomp-card);
}

body.camap-theme-ui .form-flat input:not([type=submit]),
body.camap-theme-ui .form-flat textarea,
body.camap-theme-ui .form-flat select,
body.camap-theme-ui .woocommerce form .form-row input.input-text,
body.camap-theme-ui .woocommerce form .form-row textarea,
body.camap-theme-ui .woocommerce form .form-row select {
	min-height: 44px;
	border-radius: var(--radius-lg, 14px);
	border: 1px solid var(--sicomp-secondary-border-soft);
	box-shadow: 0 1px 0 var(--sicomp-white-highlight) inset;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.camap-theme-ui .form-flat input:not([type=submit]):focus,
body.camap-theme-ui .form-flat textarea:focus,
body.camap-theme-ui .form-flat select:focus,
body.camap-theme-ui .woocommerce form .form-row input.input-text:focus,
body.camap-theme-ui .woocommerce form .form-row textarea:focus,
body.camap-theme-ui .woocommerce form .form-row select:focus {
	border-color: var(--mainColor);
	box-shadow: 0 0 0 4px var(--sicomp-focus-ring-soft);
	background: var(--sicomp-card);
}

body.camap-theme-ui .page-wrapper .button,
body.camap-theme-ui .page-wrapper button,
body.camap-theme-ui .page-wrapper input[type="submit"],
body.camap-theme-ui .page-wrapper input[type="reset"],
body.camap-theme-ui .page-wrapper input[type="button"],
body.camap-theme-ui .page-wrapper .btn,
body.camap-theme-ui .page-wrapper .woocommerce a.button,
body.camap-theme-ui .page-wrapper .woocommerce button.button,
body.camap-theme-ui .page-wrapper .woocommerce input.button,
body.camap-theme-ui .page-wrapper .woocommerce #respond input#submit {
	min-height: 46px;
	border-radius: var(--radius-base, 8px);
	font-weight: 700;
	letter-spacing: 0.01em;
	box-shadow: var(--buttonShadow);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

body.camap-theme-ui .page-wrapper .button:hover,
body.camap-theme-ui .page-wrapper button:hover,
body.camap-theme-ui .page-wrapper input[type="submit"]:hover,
body.camap-theme-ui .page-wrapper input[type="reset"]:hover,
body.camap-theme-ui .page-wrapper input[type="button"]:hover,
body.camap-theme-ui .page-wrapper .btn:hover,
body.camap-theme-ui .page-wrapper .woocommerce a.button:hover,
body.camap-theme-ui .page-wrapper .woocommerce button.button:hover,
body.camap-theme-ui .page-wrapper .woocommerce input.button:hover,
body.camap-theme-ui .page-wrapper .woocommerce #respond input#submit:hover {
	box-shadow: var(--buttonShadowHover);
}

body.camap-theme-ui .page-wrapper .button.is-outline,
body.camap-theme-ui .page-wrapper .is-outline,
body.camap-theme-ui .page-wrapper .woocommerce a.button.alt,
body.camap-theme-ui .page-wrapper .woocommerce button.button.alt,
body.camap-theme-ui .page-wrapper .woocommerce input.button.alt {
	box-shadow: none;
}

body.camap-theme-ui .cm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid transparent;
	border-radius: var(--radius-base, 8px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	box-shadow: var(--buttonShadow);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

body.camap-theme-ui .cm-btn:hover,
body.camap-theme-ui .cm-btn:focus-visible {
	text-decoration: none;
	box-shadow: var(--buttonShadowHover);
}

body.camap-theme-ui a:focus-visible,
body.camap-theme-ui button:focus-visible,
body.camap-theme-ui input:focus-visible,
body.camap-theme-ui select:focus-visible,
body.camap-theme-ui textarea:focus-visible,
body.camap-theme-ui [tabindex]:focus-visible,
body.camap-theme-ui .button:focus-visible,
body.camap-theme-ui .btn:focus-visible,
body.camap-theme-ui .cm-btn:focus-visible,
body.camap-theme-ui .button-icon:focus-visible,
body.camap-theme-ui .swiper-button-prev:focus-visible,
body.camap-theme-ui .swiper-button-next:focus-visible {
	outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color, var(--mainColor));
	outline-offset: var(--focus-ring-offset, 2px);
}

body.camap-theme-ui .button-icon:focus-visible,
body.camap-theme-ui .swiper-button-prev:focus-visible,
body.camap-theme-ui .swiper-button-next:focus-visible {
	box-shadow: 0 0 0 4px var(--sicomp-focus-ring);
}

body.camap-theme-ui .cm-btn--primary {
	background: var(--mainColor);
	border-color: var(--mainColor);
	color: var(--sicomp-text-inverse);
}

body.camap-theme-ui .cm-btn--surface {
	background: var(--sicomp-card);
	border-color: var(--sicomp-border-alpha-strong);
	color: var(--textColor);
	box-shadow: none;
}

/* Theme color refresh: skin existing WooCommerce and Flatsome surfaces. */
body.camap-theme-ui {
	--cardShadow: var(--sicomp-shadow-card, 0 1px 2px rgba(var(--sicomp-shadow-rgb), 0.06));
	--cardShadowHover: var(--sicomp-shadow-soft, 0 6px 18px var(--sicomp-border-alpha));
	--buttonShadow: 0 1px 2px var(--sicomp-border-alpha);
	--buttonShadowHover: 0 6px 14px rgba(var(--sicomp-primary-rgb), 0.14);
}

body.camap-theme-ui a {
	color: var(--sicomp-link);
}

body.camap-theme-ui a:hover,
body.camap-theme-ui a:focus-visible {
	color: var(--sicomp-primary-hover);
}

body.camap-theme-ui .woocommerce-info,
body.camap-theme-ui .woocommerce-message,
body.camap-theme-ui .woocommerce-error {
	border: 1px solid var(--sicomp-border);
	border-radius: 8px;
	background: var(--sicomp-card);
	color: var(--sicomp-text);
	box-shadow: var(--sicomp-shadow-card);
}

body.camap-theme-ui .woocommerce-info {
	border-color: var(--sicomp-info-border-soft);
	background: var(--sicomp-info-soft);
}

body.camap-theme-ui .woocommerce-message {
	border-color: var(--sicomp-success-border-soft);
	background: var(--sicomp-success-soft);
}

body.camap-theme-ui .woocommerce-error {
	border-color: var(--sicomp-danger-border-soft);
	background: var(--sicomp-danger-soft);
	color: var(--sicomp-danger);
}

body.camap-theme-ui .camap-bacs-details {
	width: 100%;
	border: 1px solid var(--sicomp-border);
	border-collapse: collapse;
	background: var(--sicomp-card);
	box-shadow: var(--sicomp-shadow-card);
}

body.camap-theme-ui .camap-bacs-details__header,
body.camap-theme-ui .camap-bacs-details__icon-cell,
body.camap-theme-ui .camap-bacs-details__info-cell {
	border: 1px solid var(--sicomp-border);
	padding: 6px 10px;
	vertical-align: top;
}

body.camap-theme-ui .camap-bacs-details__header {
	background: var(--sicomp-primary);
	color: var(--sicomp-text-inverse);
}

body.camap-theme-ui .camap-bacs-details__icon-cell {
	width: 200px;
}

body.camap-theme-ui .camap-bacs-details__icon {
	display: block;
	max-width: 100%;
	height: auto;
}

body.camap-theme-ui .header-main,
body.camap-theme-ui .header-wrapper.stuck .header-main {
	background: var(--sicomp-primary);
	color: var(--sicomp-text-inverse);
}

body.camap-theme-ui .header-bg-color {
	background: var(--sicomp-primary);
}

body.camap-theme-ui .header-main .nav > li > a,
body.camap-theme-ui .header-main .header-button .button {
	color: currentColor;
}

body.camap-theme-ui .header-main #logo img {
	filter: brightness(0) invert(1);
}

body.camap-theme-ui .header-main .nav > li > a,
body.camap-theme-ui .header-main .nav > li > a:hover,
body.camap-theme-ui .header-main .nav > li.active > a,
body.camap-theme-ui .header-main .nav > li.current > a {
	color: var(--sicomp-text) !important;
}

body.camap-theme-ui .header-main .nav > li > a:hover,
body.camap-theme-ui .header-main .nav > li.active > a,
body.camap-theme-ui .header-main .nav > li.current > a {
	color: var(--sicomp-primary) !important;
}

body.camap-theme-ui .header .searchform-wrapper,
body.camap-theme-ui .header .searchform {
	border-radius: var(--radius-base, 8px);
}

body.camap-theme-ui .header .search-field,
body.camap-theme-ui .searchform .search-field {
	background: var(--sicomp-card) !important;
	border-color: var(--sicomp-border) !important;
	color: var(--sicomp-text) !important;
}

body.camap-theme-ui .header .search-field::placeholder,
body.camap-theme-ui .searchform .search-field::placeholder {
	color: var(--sicomp-text-muted);
	opacity: 1;
}

body.camap-theme-ui .header .search-field:focus,
body.camap-theme-ui .searchform .search-field:focus {
	border-color: var(--sicomp-primary);
	box-shadow: var(--shadow-focus);
}

body.camap-theme-ui .searchform .ux-search-submit,
body.camap-theme-ui .searchform button[type="submit"] {
	background: var(--sicomp-primary);
	border-color: var(--sicomp-primary);
	color: var(--sicomp-text-inverse);
}

body.camap-theme-ui .header .searchform .ux-search-submit.button {
	position: relative;
	z-index: 12;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	background: transparent;
	border-color: transparent;
	color: var(--sicomp-primary) !important;
	opacity: 1;
}

body.camap-theme-ui .header .searchform .ux-search-submit.button i,
body.camap-theme-ui .header .searchform .ux-search-submit.button svg,
body.camap-theme-ui .header .searchform .ux-search-submit.button::before {
	color: currentColor !important;
	fill: currentColor;
	stroke: currentColor;
	opacity: 1;
}

body.camap-theme-ui .header .searchform .ux-search-submit.button i {
	position: relative;
	z-index: 13;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	line-height: 1;
}

body.camap-theme-ui .searchform .ux-search-submit:hover,
body.camap-theme-ui .searchform button[type="submit"]:hover {
	background: var(--sicomp-primary-hover);
	border-color: var(--sicomp-primary-hover);
}

body.camap-theme-ui .header .searchform .ux-search-submit.button:hover {
	background: var(--sicomp-primary-soft);
	border-color: transparent;
	color: var(--sicomp-primary-hover) !important;
}

body.camap-theme-ui .page-wrapper .button:not(.is-outline),
body.camap-theme-ui .page-wrapper button[type="submit"],
body.camap-theme-ui .page-wrapper input[type="submit"],
body.camap-theme-ui .page-wrapper .woocommerce a.button,
body.camap-theme-ui .page-wrapper .woocommerce button.button,
body.camap-theme-ui .page-wrapper .woocommerce input.button,
body.camap-theme-ui .page-wrapper .single_add_to_cart_button {
	background: var(--sicomp-primary);
	border-color: var(--sicomp-primary);
	color: var(--sicomp-text-inverse);
}

body.camap-theme-ui .page-wrapper .button:not(.is-outline):hover,
body.camap-theme-ui .page-wrapper button[type="submit"]:hover,
body.camap-theme-ui .page-wrapper input[type="submit"]:hover,
body.camap-theme-ui .page-wrapper .woocommerce a.button:hover,
body.camap-theme-ui .page-wrapper .woocommerce button.button:hover,
body.camap-theme-ui .page-wrapper .woocommerce input.button:hover,
body.camap-theme-ui .page-wrapper .single_add_to_cart_button:hover {
	background: var(--sicomp-primary-hover);
	border-color: var(--sicomp-primary-hover);
	color: var(--sicomp-text-inverse);
}

body.camap-theme-ui .widget_shopping_cart .button,
body.camap-theme-ui .widget_shopping_cart .button:hover {
	color: var(--sicomp-text-inverse);
}

body.camap-theme-ui .page-wrapper .is-outline,
body.camap-theme-ui .page-wrapper .button.is-outline {
	border-color: var(--sicomp-primary);
	color: var(--sicomp-primary);
}

body.camap-theme-ui .price,
body.camap-theme-ui .price ins,
body.camap-theme-ui .price .amount,
body.camap-theme-ui .woocommerce-Price-amount,
body.camap-theme-ui .camap-product-price .woocommerce-Price-amount,
body.camap-theme-ui .p-price,
body.camap-theme-ui .search-price,
body.camap-theme-ui .cart_item .product-price,
body.camap-theme-ui .cart_item .product-subtotal {
	color: var(--sicomp-price);
}

body.camap-theme-ui .price del,
body.camap-theme-ui del .woocommerce-Price-amount,
body.camap-theme-ui .old-price,
body.camap-theme-ui .price-old,
body.camap-theme-ui .price-old-value,
body.camap-theme-ui .regular-price,
body.camap-theme-ui .compare-price {
	color: var(--sicomp-price-regular);
}

body.camap-theme-ui .price del .amount,
body.camap-theme-ui .price del bdi,
body.camap-theme-ui .price del .woocommerce-Price-amount,
body.camap-theme-ui del .amount,
body.camap-theme-ui del bdi,
body.camap-theme-ui del .woocommerce-Price-currencySymbol,
body.camap-theme-ui .old-price .amount,
body.camap-theme-ui .old-price bdi,
body.camap-theme-ui .old-price .woocommerce-Price-amount,
body.camap-theme-ui .price-old .amount,
body.camap-theme-ui .price-old bdi,
body.camap-theme-ui .price-old .woocommerce-Price-amount,
body.camap-theme-ui .price-old-value .amount,
body.camap-theme-ui .price-old-value bdi,
body.camap-theme-ui .price-old-value .woocommerce-Price-amount,
body.camap-theme-ui .regular-price .amount,
body.camap-theme-ui .regular-price bdi,
body.camap-theme-ui .regular-price .woocommerce-Price-amount,
body.camap-theme-ui .compare-price .amount,
body.camap-theme-ui .compare-price bdi,
body.camap-theme-ui .compare-price .woocommerce-Price-amount {
	color: var(--sicomp-price-regular);
}

body.camap-theme-ui .onsale,
body.camap-theme-ui .badge .badge-inner,
body.camap-theme-ui .price-discount-badge,
body.camap-theme-ui .p-discount,
body.camap-theme-ui .product-small .smart {
	background: var(--sicomp-discount);
	color: var(--sicomp-text-inverse);
}

body.camap-theme-ui .stock,
body.camap-theme-ui .p-stock,
body.camap-theme-ui .in-stock,
body.camap-theme-ui .price-note__status--check {
	color: var(--sicomp-success);
}

body.camap-theme-ui .deal-gift,
body.camap-theme-ui .gift-label,
body.camap-theme-ui .price-note__gift {
	color: var(--sicomp-gift);
}

body.camap-theme-ui .stock svg,
body.camap-theme-ui .stock [class*="icon"],
body.camap-theme-ui .p-stock svg,
body.camap-theme-ui .p-stock [class*="icon"],
body.camap-theme-ui .product-status svg,
body.camap-theme-ui .product-status [class*="icon"],
body.camap-theme-ui .price-note__status--check svg,
body.camap-theme-ui .price-note__status--check [class*="icon"],
body.camap-theme-ui .deal-gift svg,
body.camap-theme-ui .deal-gift [class*="icon"],
body.camap-theme-ui .gift-label svg,
body.camap-theme-ui .gift-label [class*="icon"],
body.camap-theme-ui .product-gift svg,
body.camap-theme-ui .product-gift [class*="icon"] {
	color: inherit;
	fill: none;
	stroke: currentColor;
}

body.camap-theme-ui .woocommerce-error,
body.camap-theme-ui .message-container.alert-color,
body.camap-theme-ui .is-form.invalid,
body.camap-theme-ui .woocommerce-invalid input.input-text {
	border-color: var(--sicomp-danger);
}

body.camap-theme-ui .woocommerce-error,
body.camap-theme-ui .woocommerce-error a {
	color: var(--sicomp-danger);
}

body.camap-theme-ui .woocommerce-message {
	border-color: var(--sicomp-success-border-soft);
	background: var(--sicomp-success-soft);
	color: var(--sicomp-text);
}

body.camap-theme-ui .woocommerce-info {
	border-color: var(--sicomp-info-border-soft);
	background: var(--sicomp-info-soft);
	color: var(--sicomp-text);
}

body.camap-theme-ui .header .live-search-results .autocomplete-selected,
body.camap-theme-ui .header .live-search-results .autocomplete-suggestion:hover,
body.camap-theme-ui .nav > li:not(.account-item):not(.cart-item) > .nav-dropdown.nav-dropdown-default > li > a:hover {
	background: var(--sicomp-primary-soft);
	color: var(--sicomp-primary);
}

body.camap-theme-ui .page-wrapper .product-small.box {
	border-radius: 20px;
}

body.camap-theme-ui .page-wrapper .product-small .box-image {
	overflow: hidden;
	border-radius: 18px 18px 0 0;
}

body.camap-theme-ui .page-wrapper .product-small .box-image img {
	transition: transform 0.35s ease;
}

body.camap-theme-ui .page-wrapper .product-small:hover .box-image img {
	transform: scale(1.04);
}

body.camap-theme-ui .page-wrapper .product-small .box-text {
	padding: 16px 16px 18px;
}

body.camap-theme-ui .page-wrapper .product-title a {
	font-size: 15px;
	line-height: 1.55;
}

body.camap-theme-ui .page-wrapper .price-box {
	min-height: 52px;
}

body.camap-theme-ui .page-wrapper .price-box .price {
	font-size: 24px;
}

body.camap-theme-ui .page-wrapper .price-box .smart,
body.camap-theme-ui .page-wrapper .onsale,
body.camap-theme-ui .page-wrapper .badge {
	border-radius: 999px;
	padding-left: 10px;
	padding-right: 10px;
}

body.camap-theme-ui .page-wrapper .woocommerce-tabs ul {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	border-bottom: 1px solid rgba(var(--sicomp-shadow-rgb), 0.1);
}

body.camap-theme-ui .page-wrapper .woocommerce-tabs ul li {
	margin: 0;
}

body.camap-theme-ui .page-wrapper .woocommerce-tabs ul li a {
	padding-bottom: 14px;
	font-size: 15px;
	font-weight: 700;
}

body.camap-theme-ui .page-wrapper .breadcrumbs {
	margin-bottom: 16px;
}

body.camap-theme-ui .page-wrapper .breadcrumbs * {
	font-size: 13px;
	letter-spacing: 0.01em;
}

body.camap-theme-ui .page-wrapper .product-thumbnails a {
	border-radius: 14px;
}

body.camap-theme-ui .page-wrapper .woocommerce-pagination ul li span,
body.camap-theme-ui .page-wrapper .woocommerce-pagination ul li a {
	border-radius: 12px;
	min-width: 2.5em;
	height: 2.5em;
	line-height: 2.3em;
}

body.camap-theme-ui .page-wrapper .section-title-container,
body.camap-theme-ui .page-wrapper .product-section-title {
	margin-bottom: 18px;
}

body.camap-theme-ui .page-wrapper .section-title-normal,
body.camap-theme-ui .page-wrapper .heading-title,
body.camap-theme-ui .page-wrapper .product-section h3 {
	letter-spacing: -0.02em;
}

@media (max-width: 849px) {
	body.camap-theme-ui .page-wrapper {
		padding-top: 12px;
	}

	body.camap-theme-ui .sidebar .widget,
	body.camap-theme-ui .blog-post-inner,
	body.camap-theme-ui .box,
	body.camap-theme-ui .wrap_background_aside,
	body.camap-theme-ui .archive-page-header {
		border-radius: 14px;
	}

	body.camap-theme-ui .page-wrapper .product-small .box-text {
		padding: 14px;
	}
}

/* Mobile sidebar logo (inlined from mobile-logo.css) */
.mobile-sidebar .logo-custom img {
	width: 150px;
}

.mobile-sidebar .logo-custom {
	display: flex;
	justify-content: center;
	padding-left: 0 !important;
	padding-top: 0;
	margin-top: 20px 0;
}
