/*
Theme Name: HeartFold
Theme URI: https://heartfold.dev/
Author: HeartFold
Author URI: https://heartfold.dev/
Description: HeartFold公式テーマ。気の利いた便利機能、低価格買い切りの安心感、親しみやすく明るいデザイン、多言語対応（日英中）、柔軟なセール・マルチストア管理、包括的製品LPを備えた高機能テーマです。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: heartfold
Domain Path: /languages
*/

/* ==========================================================================
   CSS Variables & Design Tokens (Clean, Bright & Warm Palette)
   ========================================================================== */
:root {
  /* Brand Colors */
  --hf-primary: #ff4766;         /* Heart Coral Red */
  --hf-primary-hover: #ff2e52;
  --hf-primary-light: #fff0f3;
  --hf-primary-glow: rgba(255, 71, 102, 0.25);
  
  --hf-secondary: #00b4d8;       /* Sky Cyan (Trust & Clarity) */
  --hf-secondary-hover: #0096c7;
  --hf-secondary-light: #e8f9fd;
  
  --hf-accent: #ffb703;          /* Sunshine Yellow (Delight & Warmth) */
  --hf-accent-light: #fff8e6;
  
  --hf-success: #10b981;         /* Fresh Green */
  --hf-sale: #ff3366;            /* Vibrant Sale Red */
  --hf-sale-bg: #ffe4e9;
  
  /* Neutral Backgrounds */
  --hf-bg-body: #f8faff;         /* Clean Ultra-light Blue/White */
  --hf-bg-surface: #ffffff;      /* Pure White Surface */
  --hf-bg-subtle: #f1f5f9;       /* Soft Light Gray */
  --hf-bg-elevated: #ffffff;
  
  /* Text Colors */
  --hf-text-main: #1e293b;       /* Slate 800 - Crisp readable text */
  --hf-text-muted: #64748b;      /* Slate 500 */
  --hf-text-subtle: #94a3b8;     /* Slate 400 */
  --hf-text-light: #ffffff;
  
  /* Borders & Shadows */
  --hf-border: #e2e8f0;
  --hf-border-focus: #ff4766;
  --hf-radius-sm: 8px;
  --hf-radius-md: 14px;
  --hf-radius-lg: 22px;
  --hf-radius-full: 9999px;
  
  --hf-shadow-sm: 0 2px 8px rgba(30, 41, 59, 0.04);
  --hf-shadow-md: 0 8px 24px rgba(30, 41, 59, 0.07);
  --hf-shadow-lg: 0 16px 36px rgba(30, 41, 59, 0.1);
  --hf-shadow-glow: 0 10px 25px rgba(255, 71, 102, 0.28);
  --hf-shadow-cyan: 0 10px 25px rgba(0, 180, 216, 0.25);
  
  /* Typography */
  --hf-font-display: 'Plus Jakarta Sans', 'Outfit', 'Zen Maru Gothic', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --hf-font-body: 'Plus Jakarta Sans', 'Noto Sans JP', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  
  /* Transitions */
  --hf-transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  --hf-transition-bounce: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  
  /* Layout */
  --hf-container-max: 1200px;
  --hf-container-narrow: 840px;
  --hf-header-height: 76px;
}

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

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--hf-font-body);
  background-color: var(--hf-bg-body);
  color: var(--hf-text-main);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

a {
  color: var(--hf-primary);
  text-decoration: none;
  transition: var(--hf-transition);
}

a:hover {
  color: var(--hf-primary-hover);
}

ul, ol {
  list-style: none;
}

button, input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--hf-font-display);
  color: var(--hf-text-main);
  line-height: 1.3;
  font-weight: 700;
}

/* Container */
.hf-container {
  width: 100%;
  max-width: var(--hf-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.hf-container-narrow {
  max-width: var(--hf-container-narrow);
}
