/*
Theme Name: Ocin Lite
Theme URI: https://www.quemalabs.com/theme/ocin-lite/
Author: Quema Labs
Author URI: https://www.quemalabs.com/
Description: Ocin Lite is a beautiful WooCommerce theme perfect for modern and clean online shops. With a responsive design will make your online store  look great on all devices.
Version: 1.0.21
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.en.html
Text Domain: ocin-lite
Tags: e-commerce, right-sidebar, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
*/

/* Reset CSS */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

html,
body {
	height: 100%;
	width: 100%;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	min-height: 100vh;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	overflow-x: hidden;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

a {
	text-decoration: none;
	color: inherit;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
	height: auto;
}

input,
button,
textarea,
select {
	font: inherit;
	border: none;
	outline: none;
}

button {
	background: none;
	cursor: pointer;
}

/* Remove animations for people who've turned them off */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Main CSS with variables */
:root {
	/* Brand Colors */
	--primary-color: #ad9884;
	--secondary-color: #e31e24;
	--light-gray: #f5f5f5;

	/* Additional UI Colors */
	--text-color: #333333;
	--text-light: #858585;
	--white: #ffffff;
	--black: #000000;
	--success: #28a745;
	--warning: #ffc107;
	--error: #dc3545;

	/* Borders */
	--border-color: var(--light-gray);
	--border-radius: 4px;
	--border-radius-lg: 8px;

	/* Spacing */
	--spacing-xs: 0.25rem;
	--spacing-sm: 0.5rem;
	--spacing-md: 1rem;
	--spacing-lg: 1.5rem;
	--spacing-xl: 2rem;
	--spacing-xxl: 3rem;

	/* Typography */
	--font-primary: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
		Oxygen, Ubuntu, Cantarell, sans-serif;
	--font-secondary: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
		Oxygen, Ubuntu, Cantarell, sans-serif;
	--font-size-xs: 0.75rem; /* 12px */
	--font-size-sm: 0.875rem; /* 14px */
	--font-size-md: 1rem; /* 16px */
	--font-size-lg: 1.125rem; /* 18px */
	--font-size-xl: 1.25rem; /* 20px */
	--font-size-xxl: 1.5rem; /* 24px */
	--font-size-xxxl: 2rem; /* 32px */

	/* Font weights */
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;

	/* Container widths */
	--container-width: 1440px;
	--container-padding: var(--spacing-md);
}

/* Font import */
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500;600;700&display=swap");

/* Base styles */
body {
	font-family: var(--font-primary);
	color: var(--text-color);
	background-color: var(--white);
	font-size: var(--font-size-md);
	font-weight: var(--font-weight-regular);
}

.container {
	width: 100%;
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

/* Utility classes */
.text-primary {
	color: var(--primary-color);
}

.text-secondary {
	color: var(--secondary-color);
}

.bg-primary {
	background-color: var(--primary-color);
}

.bg-secondary {
	background-color: var(--secondary-color);
}

.bg-light {
	background-color: var(--light-gray);
}

/* Button styles */
.btn {
	display: inline-block;
	padding: var(--spacing-sm) var(--spacing-lg);
	border-radius: var(--border-radius);
	font-weight: var(--font-weight-medium);
	text-align: center;
	transition: all var(--transition-fast);
}

.btn-primary {
	background-color: var(--primary-color);
	color: var(--white);
}

.btn-primary:hover {
	background-color: color-mix(in srgb, var(--primary-color) 80%, black);
}

.btn-secondary {
	background-color: var(--secondary-color);
	color: var(--white);
}

.btn-secondary:hover {
	background-color: color-mix(in srgb, var(--secondary-color) 80%, black);
}

/* Link styles */
a {
	text-decoration: none;
	color: var(--primary-color);
	transition: color var(--transition-fast);
}

a:hover {
	color: var(--secondary-color);
}

/* Typography helpers */
.fw-light {
	font-weight: var(--font-weight-light);
}

.fw-regular {
	font-weight: var(--font-weight-regular);
}

.fw-medium {
	font-weight: var(--font-weight-medium);
}

.fw-semibold {
	font-weight: var(--font-weight-semibold);
}

.fw-bold {
	font-weight: var(--font-weight-bold);
}

/* WooCommerce specific styles */
.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--primary-color);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--primary-color);
}

.woocommerce-error {
	border-top-color: var(--secondary-color);
}

.woocommerce-error::before {
	color: var(--secondary-color);
}

.xoo-wsc-items-count,
.xoo-wsc-icon-basket1 {
	transition: 0.2s ease-in-out !important;
}

.xoo-wsc-cart-trigger {
	background-color: var(--success);
}

.xoo-wsc-cart-added::before {
	color: var(--success);
}

/* Responsive utilities */
@media (max-width: 1440px) {
	:root {
		--container-width: 1200px;
	}
}

@media (max-width: 1200px) {
	:root {
		--container-width: 992px;
	}
}

@media (max-width: 992px) {
	:root {
		--container-width: 768px;
	}
}

@media (max-width: 768px) {
	:root {
		--container-width: 576px;
	}

	.xoo-wsc-cart-trigger {
		background-color: var(--white) !important;
	}
}

@media (max-width: 576px) {
	:root {
		--container-width: 100%;
		--container-padding: var(--spacing-md);
	}

	body {
		font-size: 14px;
	}
}

/* Hide/show elements based on screen size */
.hide-on-desktop {
	display: none;
}

.hide-on-mobile {
	display: block;
}

@media (max-width: 768px) {
	.hide-on-desktop {
		display: block;
	}

	.hide-on-mobile {
		display: none;
	}
}
