/* Lawn Adore WordPress Theme Styles
   All custom classes, animations, and WooCommerce overrides.
   Tailwind utility classes come from the CDN configured in header.php. */

/* ===== FONT FAMILIES ===== */
body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: 'Oswald', sans-serif; }
.font-heading { font-family: 'Oswald', sans-serif; }
.font-body { font-family: 'Inter', sans-serif; }

/* ===== PAGE LAYOUT ===== */
.page-content-offset { padding-top: 80px; }

/* WordPress admin bar spacing */
.admin-bar nav.fixed { top: 32px; }
@media screen and (max-width: 782px) {
    .admin-bar nav.fixed { top: 46px; }
}

/* ===== GRAIN TEXTURE OVERLAYS ===== */
.grain-overlay { position: relative; }
.grain-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.03;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    background-size: 200px 200px;
    z-index: 0;
}

.grain-overlay-dark { position: relative; }
.grain-overlay-dark::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.06;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    background-size: 200px 200px;
    z-index: 0;
}

/* ===== STICKY HERO BACKGROUND ===== */
.hero-bg-fixed {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}
@supports (-webkit-touch-callout: none) {
    .hero-bg-fixed { background-attachment: scroll; }
}

/* ===== ANIMATIONS ===== */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
.animate-float { animation: float 4s ease-in-out infinite; }

@keyframes glow-pulse {
    0%, 100% { box-shadow: 0 0 20px hsl(92 55% 35% / 0.15); }
    50% { box-shadow: 0 0 40px hsl(92 55% 35% / 0.35), 0 0 80px hsl(92 55% 35% / 0.1); }
}
.glow-cta { animation: glow-pulse 3s ease-in-out infinite; }

/* Scroll reveal */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* ===== DOT GRID PATTERN ===== */
.dot-pattern {
    background-image: radial-gradient(circle, hsl(92 55% 35% / 0.08) 1px, transparent 1px);
    background-size: 24px 24px;
}

/* ===== FAQ ACCORDION ===== */
.faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}
.faq-arrow {
    transition: transform 0.3s ease;
}

/* ===== HEADING HOVER EFFECTS ===== */
h1, h2, h3, h4, h5, h6 {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default;
}
h1:hover, h2:hover {
    letter-spacing: 0.02em;
    text-shadow: 0 0 30px hsl(92 55% 35% / 0.2);
}
h3:hover, h4:hover {
    color: hsl(92 55% 35%);
    text-shadow: 0 0 20px hsl(92 55% 35% / 0.15);
}

/* ===== INPUT HOVER ===== */
input, textarea, select {
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
input:hover, textarea:hover, select:hover {
    border-color: hsl(92 55% 35% / 0.5) !important;
    box-shadow: 0 0 0 3px hsl(92 55% 35% / 0.08) !important;
}
input:focus, textarea:focus, select:focus {
    border-color: hsl(92 55% 35%) !important;
    box-shadow: 0 0 0 3px hsl(92 55% 35% / 0.15) !important;
}

/* ===== WOOCOMMERCE OVERRIDES ===== */

/* Hide WooCommerce breadcrumbs */
.woocommerce .woocommerce-breadcrumb { display: none; }

/* Product grid */
.woocommerce .products .product {
    background: hsl(150 30% 15%);
    border: 1px solid hsl(150 20% 20%);
    padding: 0;
    transition: all 0.5s;
}
.woocommerce .products .product:hover {
    border-color: hsl(92 55% 35% / 0.3);
    box-shadow: 0 25px 50px -12px hsl(92 55% 35% / 0.1);
    transform: translateY(-8px);
}
.woocommerce .products .product img { margin: 0; width: 100%; }
.woocommerce .products .product .woocommerce-loop-product__title {
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: hsl(60 20% 95%);
    padding: 16px 24px 4px;
}
.woocommerce .products .product .price {
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: hsl(92 55% 35%);
    padding: 0 24px 16px;
}
.woocommerce .products .product .button,
.woocommerce .products .product .added_to_cart {
    background: hsl(92 55% 35%);
    color: hsl(60 20% 99%);
    border: none;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding: 12px 24px;
    width: 100%;
    text-align: center;
    transition: all 0.3s;
}
.woocommerce .products .product .button:hover { background: hsl(92 45% 45%); }

/* Single product */
.woocommerce div.product .product_title {
    font-family: 'Oswald', sans-serif;
    font-size: 48px;
    font-weight: 800;
    color: hsl(60 20% 95%);
}
.woocommerce div.product p.price {
    font-family: 'Oswald', sans-serif;
    font-size: 40px;
    font-weight: 800;
    color: hsl(92 55% 35%);
}
.woocommerce div.product .woocommerce-product-details__short-description {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    color: hsl(150 12% 60%);
    line-height: 1.7;
}
.woocommerce .single_add_to_cart_button {
    background: hsl(92 55% 35%) !important;
    color: hsl(60 20% 99%) !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    padding: 16px 40px !important;
    border: none !important;
    transition: all 0.3s !important;
}
.woocommerce .single_add_to_cart_button:hover {
    background: hsl(92 45% 45%) !important;
    box-shadow: 0 20px 40px hsl(92 55% 35% / 0.2) !important;
}

/* Cart and checkout */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce { color: hsl(60 20% 95%); }
.woocommerce table.shop_table {
    background: hsl(150 30% 15%);
    border-color: hsl(150 20% 20%);
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
    border-color: hsl(150 20% 20%);
    color: hsl(60 20% 95%);
}

/* WooCommerce notices */
.woocommerce-message, .woocommerce-info {
    background: hsl(150 30% 15%);
    border-top-color: hsl(92 55% 35%);
    color: hsl(60 20% 95%);
}
.woocommerce-error {
    background: hsl(150 30% 15%);
    border-top-color: hsl(0 84% 60%);
    color: hsl(60 20% 95%);
}

/* WooCommerce product grid columns */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
}
@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}
