35410-vm/assets/css/custom.css
2025-11-02 05:34:28 +00:00

308 lines
6.0 KiB
CSS

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root {
--primary-color: #1a1a1a;
--accent-color: #c5a47e;
--background-color: #fdfdfd;
--surface-color: #ffffff;
--text-color: #333;
--heading-font: 'Playfair Display', serif;
--body-font: 'Inter', sans-serif;
}
body {
font-family: var(--body-font);
color: var(--text-color);
background-color: var(--background-color);
line-height: 1.7;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--heading-font);
color: var(--primary-color);
}
a {
color: var(--accent-color);
text-decoration: none;
transition: 0.3s;
}
a:hover {
color: #a28664;
text-decoration: none;
}
.btn-primary {
background-color: var(--accent-color);
border-color: var(--accent-color);
padding: 12px 30px;
border-radius: 4px;
font-family: var(--body-font);
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1px;
}
.btn-primary:hover {
background-color: #a28664;
border-color: #a28664;
}
/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.site-header {
padding: 1.5rem 0;
background-color: var(--surface-color) !important;
border-bottom: 1px solid #efefef;
}
.header-content {
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
font-family: var(--heading-font);
font-size: 1.75rem;
font-weight: 700;
color: var(--primary-color) !important;
}
.main-nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 2rem;
}
.main-nav a {
font-family: var(--body-font);
text-transform: uppercase;
letter-spacing: 1px;
font-size: 0.9rem;
font-weight: 500;
color: var(--primary-color);
padding-bottom: 0.5rem;
border-bottom: 2px solid transparent;
}
.main-nav a:hover, .main-nav a.active {
color: var(--accent-color);
border-bottom-color: var(--accent-color);
}
/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
height: 85vh;
background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('https://images.pexels.com/photos/298863/pexels-photo-298863.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2');
background-size: cover;
background-position: center;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.hero h1 {
font-size: 4.5rem;
color: #fff;
font-weight: 700;
}
.hero p {
font-size: 1.2rem;
color: #fff;
margin-bottom: 30px;
}
.hero-small {
padding: 4rem 0;
background-color: #f8f9fa;
text-align: center;
border-bottom: 1px solid #dee2e6;
}
.hero-small h1 {
font-size: 2.5rem;
margin-bottom: 0.5rem;
}
.hero-small p {
font-size: 1.1rem;
color: #6c757d;
}
/*--------------------------------------------------------------
# Product Section
--------------------------------------------------------------*/
.product-section {
padding: 80px 0;
}
.section-title {
text-align: center;
margin-bottom: 60px;
}
.section-title h2 {
font-size: 3rem;
font-weight: 700;
}
.product-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 2rem;
}
.product-card {
border: none;
border-radius: 8px;
overflow: hidden;
background-color: var(--surface-color);
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.product-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}
.product-image-wrapper {
height: 350px;
width: 100%;
overflow: hidden;
}
.product-image {
height: 100%;
width: 100%;
object-fit: cover;
transition: transform 0.4s ease;
}
.product-card:hover .product-image {
transform: scale(1.05);
}
.product-info {
padding: 25px;
text-align: center;
}
.product-name {
font-size: 1.25rem;
font-weight: 600;
margin-bottom: 5px;
}
.product-price {
font-size: 1.3rem;
font-weight: 700;
color: var(--accent-color);
}
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-footer {
background-color: var(--primary-color);
color: #a9a9a9;
padding: 40px 0;
font-size: 0.9rem;
text-align: center;
}
.site-footer a {
color: #fff;
}
.site-footer a:hover {
color: var(--accent-color);
}
.site-footer .social-links a {
font-size: 1.2rem;
margin: 0 10px;
}
/*--------------------------------------------------------------
# Product Detail Page
--------------------------------------------------------------*/
.product-detail-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
padding: 4rem 0;
align-items: start;
}
.product-detail-images .main-product-image {
width: 100%;
border-radius: 8px;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.product-title {
font-size: 2.8rem;
margin-bottom: 1rem;
}
.product-price-detail {
font-size: 2rem;
font-weight: 700;
color: var(--accent-color);
margin-bottom: 2rem;
}
.product-description {
font-size: 1rem;
line-height: 1.8;
color: #555;
margin-bottom: 2rem;
}
.add-to-cart-form .quantity-selector {
margin-bottom: 1.5rem;
}
.add-to-cart-form .quantity-input {
width: 80px;
padding: 0.5rem;
text-align: center;
border: 1px solid #ccc;
border-radius: 4px;
}
.add-to-cart-form .btn-primary {
width: 100%;
padding: 1rem;
font-size: 1.1rem;
}
/* Notices */
.notice {
text-align: center;
padding: 2rem;
margin: 2rem auto;
border-radius: 0.25rem;
background-color: #f8f9fa;
border: 1px solid #dee2e6;
max-width: 800px;
}
.notice-error {
background-color: #f8d7da;
color: #721c24;
border-color: #f5c6cb;
}