﻿/* ============================================
TRANSPARENT LOGO FIX
============================================ */

.logo-img {
height: 60px;
width: auto;
background: transparent !important;
mix-blend-mode: multiply;
filter: brightness(1.1) contrast(0.95);
}

.logo {
background: transparent !important;
display: inline-flex;
align-items: center;
}

/* ============================================
FOOTER - 20% BIGGER TAYLOR LOGO (144px)
============================================ */

.builder-logo {
height: 144px;
width: auto;
background: transparent;
}

/* ============================================
BASE STYLES & VARIABLES
============================================ */

:root {
--color-primary: #2c1810;
--color-accent: #d4af37;
--color-accent-dark: #b8941f;
--color-text: #4a4a4a;
--color-text-light: #666;
--color-bg: #faf8f5;
--color-bg-alt: #f5f9f6;
--color-bg-warm: #fdfbf7;
--color-border: #e5e5e5;
--font-heading: 'Cormorant Garamond', serif;
--font-body: 'Inter', sans-serif;
--transition: all 0.3s ease;
--shadow-sm: 0 2px 10px rgba(0,0,0,0.05);
--shadow-md: 0 10px 30px rgba(0,0,0,0.1);
--shadow-lg: 0 20px 40px rgba(0,0,0,0.15);
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
font-family: var(--font-body);
font-weight: 300;
color: var(--color-text);
background-color: var(--color-bg);
line-height: 1.6;
}

.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

/* ============================================
HEADER & NAVIGATION
============================================ */

.header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
background: rgba(250, 248, 245, 0.95);
backdrop-filter: blur(10px);
border-bottom: 1px solid var(--color-border);
transition: var(--transition);
}

.header-container {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 20px;
max-width: 1200px;
margin: 0 auto;
}

.main-nav {
display: flex;
gap: 35px;
}

.main-nav a {
font-family: var(--font-body);
font-size: 0.85rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--color-primary);
text-decoration: none;
position: relative;
padding: 5px 0;
transition: var(--transition);
}

.main-nav a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background: var(--color-accent);
transition: var(--transition);
}

.main-nav a:hover::after,
.main-nav a.active::after {
width: 100%;
}

.mobile-toggle {
display: none;
flex-direction: column;
gap: 5px;
background: none;
border: none;
cursor: pointer;
padding: 5px;
}

.mobile-toggle span {
display: block;
width: 25px;
height: 2px;
background: var(--color-primary);
transition: var(--transition);
}

/* ============================================
HERO SECTION - UPDATED WITH IMAGE
============================================ */

.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
padding: 120px 20px 80px;
overflow: hidden;
}

.hero-with-image {
min-height: auto;
padding: 150px 20px 100px;
}

.hero-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at center, rgba(255,255,255,0.3) 0%, rgba(250,248,245,0.8) 100%);
pointer-events: none;
}

.hero-content {
position: relative;
z-index: 2;
text-align: center;
max-width: 800px;
}

.hero-image-container {
margin-bottom: 40px;
display: flex;
justify-content: center;
}

.hero-main-image {
max-width: 100%;
height: auto;
max-height: 400px;
object-fit: contain;
border-radius: 12px;
box-shadow: var(--shadow-lg);
}

.hero-eyebrow {
display: block;
font-family: var(--font-body);
font-size: 0.75rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 3px;
color: var(--color-accent-dark);
margin-bottom: 20px;
}

.hero-title {
font-family: var(--font-heading);
font-size: 3.5rem;
font-weight: 400;
color: var(--color-primary);
line-height: 1.2;
margin-bottom: 25px;
}

.hero-subtitle {
font-size: 1.1rem;
color: var(--color-text);
max-width: 600px;
margin: 0 auto 40px;
line-height: 1.8;
}

.hero-buttons {
display: flex;
gap: 20px;
justify-content: center;
flex-wrap: wrap;
}

/* ============================================
BUTTONS
============================================ */

.btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 15px 35px;
font-family: var(--font-body);
font-size: 0.85rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1.5px;
text-decoration: none;
border-radius: 8px;
cursor: pointer;
transition: var(--transition);
border: none;
}

.btn-primary {
background: var(--color-primary);
color: white;
}

.btn-primary:hover {
background: #3d2418;
transform: translateY(-2px);
box-shadow: var(--shadow-md);
}

.btn-secondary {
background: transparent;
color: var(--color-primary);
border: 2px solid var(--color-primary);
}

.btn-secondary:hover {
background: var(--color-primary);
color: white;
}

.btn-outline {
background: transparent;
color: var(--color-primary);
border: 2px solid var(--color-border);
}

.btn-outline:hover {
border-color: var(--color-accent);
color: var(--color-accent-dark);
}

.btn-small {
padding: 10px 20px;
font-size: 0.75rem;
}

.btn-full {
width: 100%;
}

/* Quantity selector buttons */
.btn-quantity {
padding: 12px 20px;
font-size: 0.8rem;
background: white;
color: var(--color-primary);
border: 2px solid var(--color-border);
margin: 0 5px;
}

.btn-quantity:hover {
border-color: var(--color-accent);
background: var(--color-accent);
color: white;
}

/* ============================================
SECTIONS
============================================ */

.section {
padding: 100px 0;
}

.section-alt {
background: var(--color-bg-warm);
}

.section-header {
text-align: center;
margin-bottom: 60px;
}

.section-eyebrow {
display: block;
font-family: var(--font-body);
font-size: 0.75rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 3px;
color: var(--color-accent-dark);
margin-bottom: 15px;
}

.section-title {
font-family: var(--font-heading);
font-size: 2.5rem;
font-weight: 500;
color: var(--color-primary);
margin-bottom: 15px;
}

.section-subtitle {
font-size: 1rem;
color: var(--color-text-light);
max-width: 600px;
margin: 0 auto;
}

.section-cta {
text-align: center;
margin-top: 50px;
}

/* ============================================
PRODUCT GRIDS & CARDS
============================================ */

.product-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 30px;
}

.product-grid-3 {
grid-template-columns: repeat(3, 1fr);
}

.product-grid-4 {
grid-template-columns: repeat(4, 1fr);
}

.product-grid-5 {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 25px;
}

.product-card {
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: var(--transition);
}

.product-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-md);
}

.product-card-compact .product-info {
padding: 20px;
}

.product-card-compact .product-title {
font-size: 1.1rem;
}

.product-card-compact .product-description {
font-size: 0.85rem;
}

.product-image-wrapper {
position: relative;
aspect-ratio: 1;
overflow: hidden;
background: var(--color-bg);
}

.product-image {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}

.product-card:hover .product-image {
transform: scale(1.05);
}

.product-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(44, 24, 16, 0.7);
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: var(--transition);
}

.product-card:hover .product-overlay {
opacity: 1;
}

/* Special overlay for products with options */
.product-overlay-options {
flex-direction: column;
padding: 20px;
}

.quantity-selector {
text-align: center;
}

.quantity-label {
color: white;
font-size: 0.9rem;
margin-bottom: 15px;
font-weight: 500;
}

.quantity-buttons {
display: flex;
gap: 10px;
justify-content: center;
flex-wrap: wrap;
}

.product-info {
padding: 25px;
}

.product-title {
font-family: var(--font-heading);
font-size: 1.25rem;
font-weight: 500;
color: var(--color-primary);
margin-bottom: 10px;
}

.product-description {
font-size: 0.9rem;
color: var(--color-text-light);
line-height: 1.6;
margin-bottom: 15px;
}

.product-price {
font-family: var(--font-heading);
font-size: 1.2rem;
font-weight: 600;
color: var(--color-accent-dark);
}

/* ============================================
SPECIFIC SECTION STYLES
============================================ */

/* Dangle Collection */
.section-dangle {
background-color: #fdfbf7;
}

/* Nature Collection */
.section-nature {
background-color: var(--color-bg-alt);
border-top: 4px solid #7da58b;
border-bottom: 4px solid #7da58b;
}

.section-nature-shop {
background-color: #f5f9f6;
border-top: 4px solid #7da58b;
border-bottom: 4px solid #7da58b;
}

/* Additional Products */
.section-additional {
background-color: #fdfcfa;
}

/* Headdress Collection */
.section-headdress {
background-color: #f8f5f0;
border-top: 3px solid var(--color-accent);
border-bottom: 3px solid var(--color-accent);
}

/* Seasonal */
.section-seasonal {
background-color: #f0f7fa;
}

/* ============================================
CTA BLOCK
============================================ */

.section-cta-block {
background: var(--color-bg-warm);
}

.cta-card {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
background: white;
border-radius: 16px;
overflow: hidden;
box-shadow: var(--shadow-md);
}

.cta-content {
padding: 60px;
}

.cta-title {
font-family: var(--font-heading);
font-size: 2.2rem;
font-weight: 500;
color: var(--color-primary);
margin-bottom: 20px;
}

.cta-text {
font-size: 1.05rem;
color: var(--color-text);
margin-bottom: 30px;
line-height: 1.8;
}

.cta-image {
height: 100%;
min-height: 400px;
}

.cta-image img {
width: 100%;
height: 100%;
object-fit: cover;
}

/* ============================================
ABOUT PAGE STYLES
============================================ */

.about-hero {
background-color: var(--color-bg);
padding: 150px 0 100px;
}

.about-hero-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
}

.about-image img {
width: 100%;
height: auto;
border-radius: 12px;
box-shadow: var(--shadow-lg);
}

.about-title {
font-family: var(--font-heading);
font-size: 3rem;
color: var(--color-primary);
margin-bottom: 30px;
font-weight: 500;
line-height: 1.2;
}

.about-text {
font-size: 1.1rem;
line-height: 1.9;
color: var(--color-text);
}

.about-text p {
margin-bottom: 20px;
}

.about-text strong {
color: var(--color-primary);
font-weight: 600;
}

.about-text em {
font-style: italic;
color: #8b6914;
font-family: var(--font-heading);
font-size: 1.2em;
}

/* Mission Section */
.section-mission {
background: white;
}

.mission-content {
max-width: 800px;
margin: 0 auto;
text-align: center;
font-size: 1.1rem;
line-height: 1.9;
}

.mission-content p {
margin-bottom: 20px;
}

/* Values Section */
.section-values {
background: var(--color-bg-warm);
}

.values-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 30px;
}

.value-card {
background: white;
padding: 40px 30px;
border-radius: 12px;
text-align: center;
box-shadow: var(--shadow-sm);
transition: var(--transition);
}

.value-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-md);
}

.value-card h3 {
font-family: var(--font-heading);
font-size: 1.5rem;
color: var(--color-primary);
margin-bottom: 15px;
}

.value-card p {
font-size: 0.95rem;
color: var(--color-text-light);
line-height: 1.6;
}

/* ============================================
CUSTOM ORDERS PAGE
============================================ */

.page-header {
background: linear-gradient(135deg, #f5f0e8 0%, #faf8f5 100%);
padding: 150px 0 80px;
text-align: center;
}

.page-eyebrow {
display: block;
font-size: 0.75rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 3px;
color: var(--color-accent-dark);
margin-bottom: 15px;
}

.page-title {
font-family: var(--font-heading);
font-size: 3rem;
font-weight: 500;
color: var(--color-primary);
margin-bottom: 15px;
}

.page-subtitle {
font-size: 1.1rem;
color: var(--color-text-light);
max-width: 600px;
margin: 0 auto;
}

.section-custom {
background: white;
}

.custom-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: start;
}

.custom-card {
background: var(--color-bg);
padding: 40px;
border-radius: 12px;
}

.custom-card h2 {
font-family: var(--font-heading);
font-size: 1.8rem;
color: var(--color-primary);
margin-bottom: 20px;
}

.custom-card > p {
margin-bottom: 30px;
line-height: 1.8;
}

.custom-list {
list-style: none;
margin-bottom: 30px;
}

.custom-list li {
display: flex;
gap: 15px;
margin-bottom: 20px;
align-items: flex-start;
}

.custom-bullet {
color: var(--color-accent);
font-size: 1.2rem;
line-height: 1;
}

.custom-list li div {
flex: 1;
}

.custom-list li strong {
display: block;
color: var(--color-primary);
margin-bottom: 5px;
}

.custom-list li span {
font-size: 0.9rem;
color: var(--color-text-light);
}

.custom-note {
background: white;
padding: 20px;
border-radius: 8px;
border-left: 4px solid var(--color-accent);
}

.custom-image {
width: 50%;
margin: 0 auto; /* Optional: centers the image */
}

.custom-image img {
width: 100%;
height: auto; /* Maintains aspect ratio */
display: block;
}

/* Custom Form */
.custom-form-wrapper {
max-width: 700px;
margin: 0 auto;
}

.custom-form {
background: white;
padding: 50px;
border-radius: 16px;
box-shadow: var(--shadow-md);
}

.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}

.form-group {
margin-bottom: 25px;
}

.form-group label {
display: block;
margin-bottom: 8px;
font-weight: 500;
color: var(--color-primary);
font-size: 0.9rem;
}

.form-group input,
.form-group select,
.form-group textarea {
width: 100%;
padding: 15px;
border: 1px solid var(--color-border);
border-radius: 8px;
font-family: var(--font-body);
font-size: 1rem;
transition: var(--transition);
background: white;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
outline: none;
border-color: var(--color-accent);
box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
}

.form-checkbox {
display: flex;
align-items: center;
gap: 10px;
}

.form-checkbox input {
width: auto;
}

.form-checkbox label {
margin-bottom: 0;
}

.form-success {
text-align: center;
padding: 60px 40px;
background: white;
border-radius: 16px;
box-shadow: var(--shadow-md);
}

.success-icon {
width: 80px;
height: 80px;
background: #7da58b;
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 2.5rem;
margin: 0 auto 30px;
}

.form-success h3 {
font-family: var(--font-heading);
font-size: 1.8rem;
color: var(--color-primary);
margin-bottom: 15px;
}

.form-success p {
color: var(--color-text);
margin-bottom: 30px;
}

/* ============================================
CONTACT PAGE
============================================ */

.section-contact {
background: white;
}

.contact-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
}

.contact-info h2,
.contact-form-wrapper h2 {
font-family: var(--font-heading);
font-size: 1.8rem;
color: var(--color-primary);
margin-bottom: 40px;
}

.contact-item {
margin-bottom: 35px;
}

.contact-item h3 {
font-family: var(--font-heading);
font-size: 1.2rem;
color: var(--color-primary);
margin-bottom: 10px;
}

.contact-item p {
color: var(--color-text);
}

.contact-item a {
color: var(--color-accent-dark);
text-decoration: none;
}

.contact-item a:hover {
text-decoration: underline;
}

.contact-form .form-group {
margin-bottom: 25px;
}

.contact-form label {
display: block;
margin-bottom: 8px;
font-weight: 500;
color: var(--color-primary);
}

.contact-form input,
.contact-form textarea {
width: 100%;
padding: 15px;
border: 1px solid var(--color-border);
border-radius: 8px;
font-family: var(--font-body);
font-size: 1rem;
transition: var(--transition);
}

.contact-form input:focus,
.contact-form textarea:focus {
outline: none;
border-color: var(--color-accent);
}

/* ============================================
FOOTER
============================================ */

.footer {
background: var(--color-primary);
color: rgba(255,255,255,0.8);
padding: 80px 0 0;
}

.footer-container {
display: grid;
grid-template-columns: 2fr 1.5fr 1fr;
gap: 60px;
max-width: 1200px;
margin: 0 auto;
padding: 0 20px 60px;
}

.footer-title {
font-family: var(--font-heading);
font-size: 1.5rem;
color: white;
margin-bottom: 15px;
font-weight: 500;
}

.footer-tagline {
font-style: italic;
opacity: 0.9;
}

.footer-contact p {
margin-bottom: 10px;
font-size: 0.95rem;
}

.footer-contact a {
color: var(--color-accent);
text-decoration: none;
}

.footer-contact a:hover {
text-decoration: underline;
}

.builder-text {
font-size: 0.85rem;
}

.builder-text a {
color: var(--color-accent);
text-decoration: none;
}

.footer-bottom {
border-top: 1px solid rgba(255,255,255,0.1);
padding: 30px 0;
text-align: center;
font-size: 0.9rem;
opacity: 0.8;
}

/* ============================================
RESPONSIVE DESIGN
============================================ */

@media (max-width: 1024px) {
.product-grid {
grid-template-columns: repeat(3, 1fr);
}

.product-grid-5 {
grid-template-columns: repeat(3, 1fr);
}

.values-grid {
grid-template-columns: repeat(2, 1fr);
}

.about-hero-grid {
gap: 40px;
}

.cta-card {
grid-template-columns: 1fr;
}

.cta-image {
min-height: 300px;
order: -1;
}
}

@media (max-width: 768px) {
.mobile-toggle {
display: flex;
}

.main-nav {
position: fixed;
top: 80px;
left: 0;
right: 0;
background: rgba(250, 248, 245, 0.98);
flex-direction: column;
padding: 30px;
gap: 20px;
transform: translateY(-100%);
opacity: 0;
visibility: hidden;
transition: var(--transition);
}

.main-nav.active {
transform: translateY(0);
opacity: 1;
visibility: visible;
}

.hero-title {
font-size: 2.5rem;
}

.hero-main-image {
max-height: 300px;
}

.product-grid,
.product-grid-3,
.product-grid-4,
.product-grid-5 {
grid-template-columns: repeat(2, 1fr);
}

.about-hero-grid {
grid-template-columns: 1fr;
}

.about-title {
font-size: 2.2rem;
}

.custom-layout {
grid-template-columns: 1fr;
}

.contact-grid {
grid-template-columns: 1fr;
gap: 60px;
}

.form-row {
grid-template-columns: 1fr;
}

.footer-container {
grid-template-columns: 1fr;
gap: 40px;
text-align: center;
}

.cta-content {
padding: 40px;
}

.cta-title {
font-size: 1.8rem;
}

.values-grid {
grid-template-columns: 1fr;
}

.custom-form {
padding: 30px;
}

.section-title {
font-size: 2rem;
}

.page-title {
font-size: 2.2rem;
}
}

@media (max-width: 480px) {
.product-grid,
.product-grid-3,
.product-grid-4,
.product-grid-5 {
grid-template-columns: 1fr;
}

.hero-buttons {
flex-direction: column;
width: 100%;
}

.btn {
width: 100%;
}

.hero-title {
font-size: 2rem;
}

.hero-main-image {
max-height: 250px;
}

.about-title {
font-size: 1.8rem;
}

.builder-logo {
height: 120px;
}
}

/* ============================================
UTILITY CLASSES
============================================ */

.text-center {
text-align: center;
}

.mb-0 {
margin-bottom: 0;
}

.mt-0 {
margin-top: 0;
}

/* Center Hero Content */
.hero-content {
  display: flex;
  flex-direction: column;
  align-items: center; /* Centers items horizontally */
  text-align: center;  /* Centers text lines */
}

.hero-main-image {
  display: block;
  margin: 0 auto 1.5rem auto; /* Centers the image and adds space below */
  max-width: 100%;
  height: auto;
}

.hero-subtitle {
  margin-bottom: 2rem;
  max-width: 600px; /* Prevents text from getting too wide on desktop */
}

.hero-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center; /* Centers buttons horizontally */
}

/* ============================================
CUSTOM ORDERS - SMALLER HEADDRESS IMAGE
============================================ */

.custom-image img {
width: 100%;
max-width: 400px;
height: auto;
border-radius: 12px;
box-shadow: var(--shadow-md);
margin: 0 auto;
display: block;
}
