/* Colors - Against BCN Minimalist Theme */
:root {
    --background-color: #ffffff;
    --text-color: #2c2c2c;
    --accent-color: #1a1a1a;
    --background-color-secondary: #fafafa;
    --text-color-secondary: #6b6b6b;
    --accent-color-secondary: #1a1a1a;
    --border-color: #e5e5e5;
}

body {
    background-color: var(--background-color);
    color: var(--text-color);
}

a {
    color: var(--accent-color);
}

/* Typography - Clean & Minimal */
:root {
    --h1-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --h1-font-size-value: 36px;
    --h1-line-height: 1.3;
    --h1-font-weight: 300;
    --h1-font-style: normal;
    --h1-color: var(--text-color);
    --h2-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --h2-size: 24px;
    --h2-line-height: 1.4;
    --h2-font-weight: 300;
    --h2-font-style: normal;
    --h2-color: var(--text-color);
    --h3-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --h3-size: 18px;
    --h3-line-height: 1.5;
    --h3-font-weight: 400;
    --h3-font-style: normal;
    --h3-color: var(--text-color);
    --p-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --p-size: 15px;
    --p-line-height: 1.6;
    --p-font-weight: 300;
    --p-font-style: normal;
    --p-color: var(--text-color);
    --button-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --button-font-size: 14px;
    --button-line-height: 1.5;
    --button-font-weight: 400;
    --button-font-style: normal;
    --button-color: var(--text-color);
}

#device-wrapper body {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
}

#device-wrapper h1 {
    font-family: var(--h1-font-family);
    font-size: var(--h1-font-size-value);
    line-height: var(--h1-line-height);
    font-weight: var(--h1-font-weight);
    font-style: var(--h1-font-style);
    color: var(--h1-color);
}

#device-wrapper h2 {
    font-family: var(--h2-font-family);
    font-size: var(--h2-size);
    line-height: var(--h2-line-height);
    font-weight: var(--h2-font-weight);
    font-style: var(--h2-font-style);
    color: var(--h2-color);
}

#device-wrapper h3 {
    font-family: var(--h3-font-family);
    font-size: var(--h3-size);
    line-height: var(--h3-line-height);
    font-weight: var(--h3-font-weight);
    font-style: var(--h3-font-style);
    color: var(--h3-color);
}

#device-wrapper p {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
    color: var(--p-color);
}

#device-wrapper button, #device-wrapper .btn, #device-wrapper .btn-primary, #device-wrapper .btn-secondary, #device-wrapper input[type="submit"], #device-wrapper input[type="button"] {
    font-family: var(--button-font-family);
    font-size: var(--button-font-size);
    line-height: var(--button-line-height);
    font-weight: var(--button-font-weight);
    font-style: var(--button-font-style);
    color: var(--button-color);
}

/* Buttons */
:root {
    /* Primary Button */
    --btn-primary-bg-color: var(--accent-color);
    --btn-primary-text-color: var(--background-color);
    --btn-primary-border-color: #000000;
    --btn-primary-hover-bg-color: var(--accent-color);
    --btn-primary-hover-text-color: var(--background-color);
    --btn-primary-hover-border-color: #ffffff;
    --btn-primary-selected-bg-color: rgba(0, 0, 0, 1);
    --btn-primary-selected-text-color: #ffffff;
    --btn-primary-selected-border-color: #ffffff;
    --btn-primary-border-radius: 0px;
    --btn-primary-border-width: 0px;
    --btn-primary-box-shadow: none;
    --btn-primary-padding-vertical: 5px;
    --btn-primary-padding-horizontal: 20px;

    /* Secondary Button */
    --btn-secondary-bg-color: rgba(0, 0, 0, 0);
    --btn-secondary-text-color: #000000;
    --btn-secondary-border-color: #000000;
    --btn-secondary-hover-bg-color: var(--background-color);
    --btn-secondary-hover-text-color: var(--text-color);
    --btn-secondary-hover-border-color: #000000;
    --btn-secondary-selected-bg-color: rgba(211, 217, 223, 0);
    --btn-secondary-selected-text-color: #495057;
    --btn-secondary-selected-border-color: #98a2ac;
    --btn-secondary-border-radius: 0px;
    --btn-secondary-border-width: 1px;
    --btn-secondary-box-shadow: none;
    --btn-secondary-padding-vertical: 4px;
    --btn-secondary-padding-horizontal: 20px;
}

/* Layout - Spacious & Minimalist */

:root {
    --container-width-value: 1400px;
    --spacing-value: 60px;
    --header-height: 80px;
    --logo-max-height: 40px;
    --header-bg-color-select: var(--background-color);
    --header-bg-color-custom: #ffffff;
    --header-bg-color: var(--background-color);
    --page-bg-color-select: var(--background-color);
    --page-bg-color-custom: #ffffff;
    --page-bg-color: var(--background-color);
    --footer-bg-color-select: var(--background-color-secondary);
    --footer-bg-color-custom: #fafafa;
    --footer-bg-color: #fff;
}

.container {
    max-width: var(--container-width-value);
    padding: var(--spacing-value);
}

#device-wrapper header {
    background-color: var(--header-bg-color) !important;
    height: var(--header-height) !important;
}

#device-wrapper div#page, #device-wrapper main {
    background-color: var(--page-bg-color) !important;
}

#device-wrapper footer {
    background-color: var(--footer-bg-color) !important;
}

/* Custom - Against BCN Gallery Styles */

/* Discrete Menu */
#device-wrapper nav {
    border-bottom: 1px solid var(--border-color);
}

#device-wrapper nav ul li a {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 13px;
    color: var(--text-color);
    transition: color 0.3s ease;
}

#device-wrapper nav ul li a:hover {
    color: var(--accent-color);
}

/* Product Gallery - 3 columns */
.product-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    padding: 60px 0;
    max-width: var(--container-width-value);
    margin: 0 auto;
}

.product-item {
    position: relative;
    overflow: hidden;
}

.product-item img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/5;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.product-item:hover img {
    transform: scale(1.02);
}

.product-info {
    margin-top: 15px;
    text-align: left;
}

.product-name {
    font-size: 15px;
    font-weight: 400;
    color: var(--text-color);
    margin-bottom: 5px;
}

.product-category {
    font-size: 13px;
    color: var(--text-color-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Responsive */
@media (max-width: 1024px) {
    .product-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .product-gallery {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 40px 20px;
    }
}

/* Remove all gradients, border-radius, shadows and transforms from website */
#device-wrapper * {
    border-radius: 0 !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
    transition: none !important;
}
