/*
Theme Name: Three Pillars Wine
Theme URI: https://threepillarswine.co.uk
Author: In The Loop Software Company
Author URI: https://itlsoftware.company
Description: Bespoke Full Site Editing (FSE) block theme for Three Pillars Wine. Built to Core Framework standards with Playfair Display and Manrope typography, Obsidian luxury cellar palette, and integrated Sommelier AI.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.1
Text Domain: threepillars
Tags: full-site-editing, block-themes, e-commerce, custom-colors, custom-typography, responsive-layout
*/

/* ── GOOGLE FONTS & MATERIAL SYMBOLS ── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,700&family=Manrope:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

/* ── CORE RESET & CSS TOKENS ── */
:root {
  --primary: #c9a84c;
  --primary-dim: #a8893c;
  --primary-glow: rgba(201, 168, 76, 0.12);
  --primary-border: rgba(201, 168, 76, 0.22);
  --on-primary: #0a0a0f;

  --error: #d41132;
  --error-glow: rgba(212, 17, 50, 0.12);
  --on-error: #ffffff;

  --bg: #0a0a0f;
  --surface: #111118;
  --surface-variant: #18181f;
  --surface-container: #1c1c24;
  --on-surface: #e8e4e0;
  --on-muted: #8a8580;

  --outline: rgba(255, 255, 255, 0.07);
  --outline-variant: rgba(255, 255, 255, 0.12);
  --outline-primary: rgba(201, 168, 76, 0.22);

  --display: 'Playfair Display', Georgia, serif;
  --body: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background-color: var(--bg);
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--bg);
  color: var(--on-surface);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

/* Material Symbols Icon Helper */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  font-size: 20px;
  line-height: 1;
  vertical-align: middle;
  display: inline-block;
}

/* Chip / Badge Component */
.tp-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
  line-height: 1;
}

.tp-chip-gold {
  background: var(--primary-glow);
  border: 1px solid var(--primary-border);
  color: var(--primary);
}

.tp-chip-red {
  background: var(--error-glow);
  border: 1px solid rgba(212, 17, 50, 0.35);
  color: var(--error);
}

.tp-chip-muted {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--outline);
  color: var(--on-muted);
}

/* Wine Card Styling */
.wine-card {
  background: var(--surface);
  border: 1px solid var(--outline);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.wine-card:hover {
  transform: translateY(-4px);
  border-color: var(--outline-primary);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5), 0 0 20px var(--primary-glow);
}

/* Glassmorphism Surface */
.glass-panel {
  background: rgba(17, 17, 24, 0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--outline);
}

/* Sticky Header */
.tp-site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(10, 10, 15, 0.9);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--outline);
}

/* Smooth Links */
a {
  color: var(--primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: #e2c974;
}

/* WooCommerce Button Styling Overrides */
.wp-block-button__link {
  font-family: var(--body);
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: var(--radius-sm);
  transition: all 0.25s ease;
}

.is-style-gold-button .wp-block-button__link {
  background: var(--primary);
  color: var(--on-primary);
  border: 1px solid var(--primary);
}

.is-style-gold-button .wp-block-button__link:hover {
  background: #dfc168;
  box-shadow: 0 4px 16px var(--primary-glow);
}

.is-style-outline-button .wp-block-button__link {
  background: transparent;
  color: var(--on-surface);
  border: 1px solid var(--outline-variant);
}

.is-style-outline-button .wp-block-button__link:hover {
  border-color: var(--primary);
  color: var(--primary);
}

/* Mobile Responsiveness Rules */
@media (max-width: 768px) {
  .wp-block-columns {
    gap: 1.5rem !important;
  }
}
