
/*
Theme Name: Tex Wiggles & The Velveteen Jiggles
Theme URI: https://example.com/tex-wiggles
Author: Steve + ChatGPT
Author URI: https://example.com
Description: A custom WordPress theme for Tex Wiggles & The Velveteen Jiggles — vintage country-western style with music, tour dates, gallery, and WooCommerce support.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: texwiggles
Tags: custom-theme, music, band, woocommerce, vintage
*/

/* --- Base Reset-ish --- */
* { box-sizing: border-box; }
body { margin: 0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; color: #1f2937; background: radial-gradient(ellipse at top, #fde68a 0%, #fff7ed 50%, #fde68a 100%); }
a { color: #92400e; text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

/* --- Layout --- */
.container { max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.section { padding: 4rem 0; }
.grid { display: grid; gap: 1.25rem; }
.grid-2 { grid-template-columns: 1fr; }
@media (min-width: 1024px) { .grid-2 { grid-template-columns: 1fr 1fr; } }

/* --- Header --- */
.site-header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(6px); background: rgba(255, 251, 235, 0.7); border-bottom: 1px solid #fcd34d; }
.site-header .inner { height: 64px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: .5rem; font-weight: 900; letter-spacing: 0.04em; }
.nav { display: none; gap: 1rem; font-weight: 600; }
@media (min-width: 768px) { .nav { display: flex; } }
.btn, button, input[type=submit] { border: none; background: #b45309; color: white; padding: .6rem .9rem; border-radius: 1rem; cursor: pointer; font-weight: 700; }
.btn.secondary { background: #fcd34d; color: #7c2d12; }
.btn.link { background: transparent; color: #7c2d12; }

/* --- Hero --- */
.hero { padding: 5rem 0 3rem; }
.badge { display: inline-block; background: #fef3c7; border: 1px solid #fcd34d; border-radius: 999px; padding: .25rem .6rem; color: #7c2d12; font-weight: 700; font-size: .85rem; }
.h1 { font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 900; line-height: 1.1; }
.subtle { color: #6b7280; font-size: .9rem; }

.card { border: 1px solid rgba(120, 53, 15, .1); border-radius: 1rem; background: rgba(255,255,255,.85); overflow: hidden; }
.card .card-body { padding: 1rem; }
.card .card-header { padding: 1rem; border-bottom: 1px solid rgba(120, 53, 15, .1); }
.card .card-title { font-weight: 800; }
.card .card-footer { padding: 1rem; border-top: 1px solid rgba(120, 53, 15, .1); }

.table { width: 100%; border-collapse: collapse; }
.table th, .table td { padding: .75rem .5rem; border-top: 1px solid #e5e7eb; text-align: left; }
.table thead th { background: #fef3c7; text-transform: uppercase; font-size: .75rem; letter-spacing: .06em; color: #6b7280; }

.gallery { display: grid; gap: 1rem; grid-template-columns: repeat(1, 1fr); }
@media (min-width: 640px) { .gallery { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .gallery { grid-template-columns: repeat(3, 1fr); } }

.site-footer { border-top: 1px solid #fcd34d; padding: 2rem 0; color: #6b7280; text-align: center; font-size: .9rem; }

/* Utility */
.mt-1 { margin-top: .25rem; } .mt-2 { margin-top: .5rem; } .mt-3 { margin-top: .75rem; } .mt-4 { margin-top: 1rem; } .mt-6 { margin-top: 1.5rem; } .mt-8 { margin-top: 2rem; }
.mb-1 { margin-bottom: .25rem; } .mb-2 { margin-bottom: .5rem; } .mb-3 { margin-bottom: .75rem; } .mb-6 { margin-bottom: 1.5rem; } .mb-8 { margin-bottom: 2rem; }
.flex { display: flex; } .items-center { align-items: center; } .justify-between { justify-content: space-between; } .gap-1 { gap: .25rem; } .gap-2 { gap: .5rem; } .gap-3 { gap: .75rem; } .gap-4 { gap: 1rem; }
.bold { font-weight: 700; } .center { text-align: center; }
.badge-velvet { background: #ede9fe; color: #4c1d95; border: 1px solid #ddd6fe; }
