/*
Theme Name: Palmwood Rentals
Theme URI: https://palmwoodrentals.com
Author: Palmwood Rentals
Author URI: https://palmwoodrentals.com
Description: Custom WooCommerce theme for Palmwood Rentals – Inland Empire Audio & Karaoke Rental. Built for easy online booking with product packages, cart, and checkout.
Version: 2.2.3
Requires at least: 6.0
Requires PHP: 8.0
Tested up to: 6.5
WC requires at least: 8.0
WC tested up to: 9.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: palmwood-rentals
Tags: woocommerce, rental, audio, events, custom

--------------------------------------------------------------------
PALMWOOD RENTALS THEME — BRAND VARIABLES & BASE RESET
--------------------------------------------------------------------
*/

:root {
  --brand:        #FF5C1A;
  --brand-dark:   #C93D00;
  --brand-light:  #FFF0EB;
  --dark:         #111110;
  --dark2:        #1C1C1A;
  --dark3:        #2A2A27;
  --gray:         #888780;
  --light:        #F7F5F0;
  --white:        #FFFFFF;
  --text:         #111110;
  --text-muted:   #5F5E5A;
  --radius:       12px;
  --radius-sm:    8px;
  --shadow:       0 4px 24px rgba(0,0,0,0.10);
  --font-head:    'Bebas Neue', sans-serif;
  --font-body:    'DM Sans', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--white);
  color: var(--text);
  font-size: 16px;
  line-height: 1.6;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--brand); }
a:hover { color: var(--brand-dark); }

/* TYPOGRAPHY */
h1,h2,h3 { font-family: var(--font-head); letter-spacing: 1px; line-height: 1.1; }
h4,h5,h6 { font-family: var(--font-body); font-weight: 600; }
p { margin-bottom: 1rem; }

/* LAYOUT */
.container { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; }
.section-pad { padding: 5rem 0; }
.section-label { font-size: 0.75rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--brand); margin-bottom: 0.5rem; display: block; }
.section-title { font-family: var(--font-head); font-size: clamp(2rem,4vw,3rem); margin-bottom: 0.8rem; }
.section-sub { color: var(--text-muted); max-width: 520px; margin-bottom: 2.5rem; }

/* BUTTONS */
.btn, .button, input[type="submit"], button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  background: var(--brand); color: var(--white) !important;
  padding: 0.8rem 1.8rem; border-radius: var(--radius-sm);
  font-family: var(--font-body); font-weight: 600; font-size: 0.95rem;
  border: none; cursor: pointer; text-decoration: none;
  transition: background 0.2s, transform 0.15s;
}
.btn:hover, .button:hover, input[type="submit"]:hover, button[type="submit"]:hover {
  background: var(--brand-dark); transform: translateY(-2px); color: var(--white) !important;
}
.btn-outline {
  background: transparent !important; color: var(--dark) !important;
  border: 1.5px solid var(--dark); padding: 0.75rem 1.6rem;
}
.btn-outline:hover { background: var(--dark) !important; color: var(--white) !important; }
.btn-dark { background: var(--dark) !important; }
.btn-dark:hover { background: var(--dark3) !important; }

/* FORMS */
input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="number"], input[type="date"],
select, textarea {
  width: 100%; padding: 0.75rem 1rem;
  border: 1px solid #ddd; border-radius: var(--radius-sm);
  font-family: var(--font-body); font-size: 0.95rem; color: var(--text);
  background: var(--white); transition: border-color 0.2s; outline: none;
}
input:focus, select:focus, textarea:focus { border-color: var(--brand); }
label { font-size: 0.85rem; font-weight: 600; display: block; margin-bottom: 0.35rem; color: var(--text-muted); }

/* BADGES */
.badge {
  display: inline-block; padding: 0.2rem 0.7rem;
  border-radius: 20px; font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.5px; text-transform: uppercase;
}
.badge-brand { background: var(--brand); color: var(--white); }
.badge-light { background: var(--brand-light); color: var(--brand); }
.badge-dark  { background: var(--dark); color: var(--white); }

/* RESPONSIVE */
@media (max-width: 768px) {
  .section-pad { padding: 3.5rem 0; }
  .hide-mobile { display: none !important; }
  body.admin-bar { padding-top: 0 !important; }
}
