/*
Theme Name: WAKABA Security Group
Theme URI: https://wakaba-sapporo.co.jp/
Description: 株式会社WAKABA 公式サイトテーマ - 警備事業・建設土木事業
Author: WAKABA CO., LTD.
Author URI: https://wakaba-sapporo.co.jp/
Version: 1.0.0
License: All Rights Reserved
Text Domain: wakaba
*/

/* ============================================
   Import Google Fonts
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap');

/* ============================================
   CSS Custom Properties (Design Tokens)
   ============================================ */
:root {
  --color-wakaba-green: #2D5A27;
  --color-wakaba-dark: #0A0A0A;
  --color-black: #000000;
  --color-white: #ffffff;
  --font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --font-serif: 'Playfair Display', serif;
  --transition-base: 300ms ease;
  --transition-slow: 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ============================================
   Reset & Base
   ============================================ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-color: var(--color-black);
  color: var(--color-white);
  font-family: var(--font-sans);
  line-height: 1.5;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

::selection {
  background-color: var(--color-wakaba-green);
  color: var(--color-white);
}

a {
  color: inherit;
  text-decoration: none;
}

img, video {
  max-width: 100%;
  display: block;
}

ul, ol {
  list-style: none;
}

button {
  cursor: pointer;
  background: none;
  border: none;
  font-family: inherit;
  color: inherit;
}

/* ============================================
   Layout Utilities
   ============================================ */
.wakaba-container {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

.wakaba-flex-grow {
  flex-grow: 1;
}

/* ============================================
   Custom Utility Classes (from Tailwind layer)
   ============================================ */
.glass-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.letter-spacing-widest {
  letter-spacing: 0.5em;
}

/* Cinematic grey matching effect */
.wakaba-tint {
  filter: grayscale(0.85) contrast(1.2) brightness(0.8);
  transition: filter 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.wakaba-image-container:hover .wakaba-tint {
  filter: grayscale(0.4) contrast(1.15) brightness(0.9);
}

.wakaba-image-container {
  position: relative;
}

.wakaba-image-container::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(23, 23, 23, 0.4);
  mix-blend-mode: multiply;
  pointer-events: none;
  transition: background 700ms ease;
}

.wakaba-image-container:hover::after {
  background: rgba(23, 23, 23, 0.2);
}
