/*!
Theme Name: persimma
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: persimma
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

persimma is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

        /* CSS Variables - Persimma Brand Colors */
        :root {
            --color-charcoal: #0D0D0D;
            --color-ivory: #F7F3EA;
            --color-sand: #D8C7A8;
            --color-persimmon: #D8742A;
            --color-saffron: #C9963E;
            --color-burgundy: #5A1F22;
            --color-plum: #211416;
            --color-fig-brown: #7A4A2F;
            --color-apple-cream: #E8D6B8;
            --color-leaf-green: #6F7A4E;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Lato', sans-serif;
            background-color: var(--color-ivory);
            color: var(--color-charcoal);
            overflow-x: hidden;
        }

        /* Typography */
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Playfair Display', serif;
            font-weight: 600;
            color: var(--color-charcoal);
        }

        /* Header / Navigation */
        .navbar {
            background-color: var(--color-ivory);
            padding: 1.5rem 0;
            border-bottom: 1px solid var(--color-sand);
            height: 88px;
        }

        .navbar-brand {
            font-family: 'Playfair Display', serif;
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--color-charcoal) !important;
            letter-spacing: 2px;
        }

        .navbar-brand span {
            display: block;
            font-size: 0.5em;
            letter-spacing: 3px;
            font-weight: 400;
            margin-top: -5px;
        }

        .nav-link {
            color: var(--color-charcoal) !important;
            font-weight: 500;
            margin-left: 2rem;
            position: relative;
            transition: all 0.3s ease;
        }

        .nav-link:hover {
            color: var(--color-persimmon) !important;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 2px;
            background-color: var(--color-persimmon);
            transition: width 0.3s ease;
        }

        .nav-link:hover::after {
            width: 100%;
        }

        /* Hero Section */
        .hero {
            background-color: var(--color-charcoal);
            min-height: 600px;
            display: flex;
            align-items: center;
            overflow: hidden;
            position: relative;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            padding: 4rem 2rem;
        }

        .hero h1 {
            color: var(--color-ivory);
            font-size: clamp(2.5rem, 6vw, 4.5rem);
            line-height: 1.1;
            margin-bottom: 1rem;
            font-weight: 700;
            letter-spacing: -1px;
        }

        .hero .subheadline {
            color: var(--color-sand);
            font-size: clamp(1.2rem, 2.5vw, 1.75rem);
            letter-spacing: 2px;
            font-weight: 300;
            margin-bottom: 2rem;
        }

        .hero-image {
            position: relative;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-image img {
            max-width: 100%;
            height: auto;
            object-fit: contain;
        }

        /* CTA Buttons */
        .btn-primary-persimma {
            background-color: var(--color-persimmon);
            color: var(--color-ivory);
            border: none;
            padding: 0.75rem 2rem;
            font-weight: 600;
            border-radius: 0;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: 0.9rem;
        }

        .btn-primary-persimma:hover {
            background-color: var(--color-saffron);
            color: var(--color-ivory);
            transform: translateY(-2px);
            box-shadow: 0 8px 16px rgba(216, 116, 42, 0.3);
        }

        .btn-secondary-persimma {
            background-color: transparent;
            color: var(--color-ivory);
            border: 2px solid var(--color-sand);
            padding: 0.75rem 2rem;
            font-weight: 600;
            border-radius: 0;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: 0.9rem;
        }

        .btn-secondary-persimma:hover {
            background-color: var(--color-ivory);
            color: var(--color-charcoal);
            border-color: var(--color-ivory);
        }

        /* Secondary Banner */
        .secondary-banner {
            background: linear-gradient(180deg, #F7F3EA 0%, #E8D6B8 100%);
            padding: 4rem 2rem;
            position: relative;
            overflow: hidden;
        }

        .secondary-banner img {
            max-width: 100%;
            height: auto;
            object-fit: cover;
            border-radius: 8px;
        }

        /* Product Section */
        .products-section {
            background-color: var(--color-ivory);
            padding: 5rem 0;
        }

        .section-title {
            text-align: center;
            font-size: clamp(2rem, 4vw, 3rem);
            margin-bottom: 3rem;
            color: var(--color-charcoal);
            position: relative;
            padding-bottom: 1.5rem;
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 3px;
            background: linear-gradient(135deg, var(--color-persimmon) 0%, var(--color-saffron) 100%);
            border-radius: 2px;
        }

        .product-card {
            background-color: white;
            border: none;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            border-radius: 8px;
            overflow: hidden;
            transition: all 0.3s ease;
            height: 100%;
        }

        .product-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
        }

        .product-card img {
            width: 100%;
            height: 250px;
            object-fit: cover;
            background: linear-gradient(135deg, var(--color-apple-cream) 0%, var(--color-sand) 100%);
        }

        .product-card-body {
            padding: 1.5rem;
        }

        .product-card-title {
            font-size: 1.3rem;
            margin-bottom: 0.5rem;
            color: var(--color-charcoal);
        }

        .product-card-text {
            color: var(--color-fig-brown);
            font-size: 0.95rem;
            line-height: 1.6;
            margin-bottom: 1.5rem;
        }

        /* Luxury Section */
        .luxury-section {
            background: linear-gradient(135deg, var(--color-burgundy) 0%, var(--color-plum) 100%);
            padding: 5rem 2rem;
            color: var(--color-ivory);
            text-align: center;
        }

        .luxury-section h2 {
            color: var(--color-ivory);
            font-size: clamp(2rem, 4vw, 2.8rem);
            margin-bottom: 1.5rem;
        }

        .luxury-section p {
            color: var(--color-sand);
            font-size: 1.1rem;
            margin-bottom: 2rem;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }

        /* Footer */
        .footer {
            background-color: var(--color-charcoal);
            color: var(--color-ivory);
            padding: 3rem 0 1.5rem;
            margin-top: 5rem;
        }

        .footer h6 {
            color: var(--color-persimmon);
            font-size: 1rem;
            margin-bottom: 1rem;
            letter-spacing: 1px;
        }

        .footer-link {
            color: var(--color-sand);
            text-decoration: none;
            transition: color 0.3s ease;
            display: block;
            margin-bottom: 0.5rem;
            font-size: 0.9rem;
        }

        .footer-link:hover {
            color: var(--color-persimmon);
        }

        .footer-divider {
            border-top: 1px solid var(--color-sand);
            margin: 2rem 0;
        }

        .footer-bottom {
            text-align: center;
            color: var(--color-sand);
            font-size: 0.85rem;
        }

        /* Responsive Adjustments */
        @media (max-width: 768px) {
            .navbar {
                height: 76px;
                padding: 1rem 0;
            }

            .hero {
                min-height: 500px;
            }

            .hero h1 {
                font-size: 2.5rem;
            }

            .hero .subheadline {
                font-size: 1.1rem;
            }

            .section-title {
                font-size: 2rem;
            }

            .navbar-toggler {
                border-color: var(--color-persimmon);
            }

            .navbar-toggler-icon {
                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23D8742A' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
            }
        }

        @media (max-width: 576px) {
            .navbar {
                height: 64px;
            }

            .navbar-brand {
                font-size: 1.4rem;
            }

            .nav-link {
                margin-left: 0;
            }

            .hero {
                min-height: 450px;
            }

            .hero h1 {
                font-size: 2rem;
            }

            .hero .subheadline {
                font-size: 0.95rem;
            }

            .luxury-section {
                padding: 3rem 1rem;
            }

            .product-card img {
                height: 200px;
            }
        }

        /* Accessibility */
        .visually-hidden {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        /* Image optimization */
        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        .hero img {
            object-fit: cover;
            object-position: center;
        }
