/*
Theme Name: Arkhe Child LAMP
Theme URI: https://yakinikulamp.com
Description: Arkhe child theme for LAMP - Luxury Private Yakiniku
Author: LAMP
Author URI: https://yakinikulamp.com
Template: arkhe
Version: 1.0.0
License: GPL-2.0+
Text Domain: arkhe-child-lamp
*/

/* ========================================
   LAMP Design System - CSS Variables
   ======================================== */
:root {
  /* Backgrounds */
  --lamp-bg-deep: #050505;
  --lamp-bg-surface: #0F0F0F;
  --lamp-bg-section: #080808;

  /* Text */
  --lamp-text-primary: #E5E5E5;
  --lamp-text-muted: #888888;
  --lamp-text-subtle: #555555;
  --lamp-text-dim: #777777;
  --lamp-text-dark: #666666;

  /* Accent Colors */
  --lamp-crimson: #8B0000;
  --lamp-gold: #C5A059;
  --lamp-gold-hover: #b08d4a;

  /* Borders */
  --lamp-border: #222222;
  --lamp-border-light: #333333;
  --lamp-border-subtle: #111111;

  /* Typography */
  --lamp-font-serif: 'Noto Serif JP', serif;
  --lamp-font-sans: 'Zen Kaku Gothic New', sans-serif;
  --lamp-font-display: 'Cormorant Garamond', serif;

  /* Layout */
  --lamp-container: 1400px;
  --lamp-container-narrow: 1200px;
  --lamp-container-xs: 1000px;

  /* Transitions */
  --lamp-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --lamp-ease-smooth: cubic-bezier(0.22, 1, 0.36, 1);
  --lamp-duration: 500ms;
  --lamp-duration-long: 700ms;

  /* Override Arkhe CSS Variables */
  --ark-color--main: #C5A059;
  --ark-color--text: #E5E5E5;
  --ark-color--link: #C5A059;
  --ark-color--bg: #050505;
  --ark-color--gray: #222222;
}

/* ========================================
   Base Styles
   ======================================== */
body {
  background-color: var(--lamp-bg-deep);
  color: var(--lamp-text-primary);
  font-family: var(--lamp-font-serif);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
}

::selection {
  background-color: var(--lamp-crimson);
  color: #fff;
}

a {
  color: var(--lamp-gold);
  transition: color var(--lamp-duration) ease;
}

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

/* Hide Arkhe default elements on front page */
.home .l-content__title,
.home .c-pageTitle {
  display: none;
}

/* Remove Arkhe sidebar on front page */
.home .l-sidebar {
  display: none;
}

.home .l-mainContent {
  max-width: 100%;
  width: 100%;
}

/* Override Arkhe container on front page */
.home .l-content,
.home .l-mainContent__body,
.home .post_content {
  max-width: 100%;
  padding: 0;
  margin: 0;
}

/* ========================================
   Noise Texture Overlay
   ======================================== */
.lamp-noise {
  position: fixed;
  inset: 0;
  opacity: 0.04;
  pointer-events: none;
  z-index: 9999;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* ========================================
   Animations
   ======================================== */
@keyframes lampFadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lamp-animate-fade-in-up {
  animation: lampFadeInUp 1.2s var(--lamp-ease) forwards;
}

.lamp-fade-target {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 1s var(--lamp-ease), transform 1s var(--lamp-ease);
}

.lamp-fade-target.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ========================================
   Utility Classes
   ======================================== */
.lamp-text-gold {
  color: var(--lamp-gold);
}

.lamp-text-crimson {
  color: var(--lamp-crimson);
}

.lamp-text-muted {
  color: var(--lamp-text-muted);
}

.lamp-vertical-rl {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

.lamp-mask-gradient {
  mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}

/* Full-width block escape */
.lamp-fullw {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  max-width: 100vw;
}

/* ========================================
   Arkhe Theme Overrides
   ======================================== */

/* Arkhe header bar */
.l-header {
  background-color: transparent;
}

/* Arkhe content area */
.l-content {
  background-color: var(--lamp-bg-deep);
}

/* Arkhe footer */
.l-footer {
  background-color: var(--lamp-bg-deep);
  border-color: var(--lamp-border-subtle);
}

/* Arkhe post content for front page */
.home .post_content {
  color: var(--lamp-text-primary);
}

/* ========================================
   Instagram (LightWidget)
   ======================================== */
.lightwidget-widget {
  border: 0 !important;
}

/* ========================================
   Google Reviews (Trustindex)
   ======================================== */

/* --- Base / Container --- */
.ti-widget,
.ti-widget[data-set-id] {
  background-color: transparent !important;
  font-family: var(--lamp-font-serif) !important;
}

.ti-widget .ti-widget-container {
  background-color: transparent !important;
}

/* --- Footer (Rating Header Area) --- */
.ti-widget .ti-footer,
.ti-widget .ti-footer-grid {
  background-color: transparent !important;
  border-bottom: 1px solid var(--lamp-border) !important;
  padding-bottom: 24px !important;
  margin-bottom: 16px !important;
}

.ti-widget .ti-fade-container {
  background: transparent !important;
}

/* Rating text "EXCELLENT" */
.ti-widget .ti-rating-text {
  color: var(--lamp-text-primary) !important;
}

.ti-widget strong.ti-rating,
.ti-widget .ti-rating-text strong.ti-rating {
  color: var(--lamp-gold) !important;
  font-family: var(--lamp-font-display) !important;
  letter-spacing: 0.15em !important;
  font-size: 1.1em !important;
}

/* "Based on X reviews" */
.ti-widget .ti-rating-text span,
.ti-widget .ti-rating-text .nowrap {
  color: var(--lamp-text-muted) !important;
  font-size: 0.85rem !important;
}

.ti-widget .ti-rating-text strong[data-number-formatted] {
  color: var(--lamp-gold) !important;
}

/* Google logo area */
.ti-widget .ti-large-logo {
  opacity: 0.7;
}

/* --- Review Cards --- */
.ti-widget .ti-review-item,
.ti-widget .ti-review-item.source-Google {
  background-color: var(--lamp-bg-surface) !important;
  border: 1px solid var(--lamp-border) !important;
  border-radius: 4px !important;
  transition: border-color 0.3s ease !important;
}

.ti-widget .ti-review-item:hover {
  border-color: var(--lamp-border-light) !important;
}

.ti-widget .ti-review-item .ti-inner {
  background-color: transparent !important;
}

/* Review header */
.ti-widget .ti-review-header {
  border-bottom: none !important;
}

.ti-widget .ti-platform-icon img {
  opacity: 0.6;
}

/* Reviewer name */
.ti-widget .ti-name {
  color: var(--lamp-text-primary) !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
}

/* Date */
.ti-widget .ti-date,
.ti-widget .ti-date span {
  color: var(--lamp-text-muted) !important;
  font-size: 0.75rem !important;
}

/* Stars */
.ti-widget .ti-stars {
  opacity: 0.9;
}

/* Review body text */
.ti-widget .ti-review-text-container {
  color: var(--lamp-text-primary) !important;
  font-size: 0.875rem !important;
  line-height: 1.8 !important;
}

/* "Read more" link */
.ti-widget .ti-read-more span,
.ti-widget .ti-read-more .ti-read-more-active {
  color: var(--lamp-gold) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.05em !important;
}

/* Verified badge tooltip */
.ti-widget .ti-verified-review {
  color: var(--lamp-text-muted) !important;
}

.ti-widget .ti-verified-tooltip {
  background-color: var(--lamp-bg-surface) !important;
  color: var(--lamp-text-muted) !important;
  border: 1px solid var(--lamp-border) !important;
  font-size: 0.7rem !important;
}

/* --- Slider Controls --- */
.ti-widget .ti-controls .ti-next,
.ti-widget .ti-controls .ti-prev {
  background-color: rgba(197, 160, 89, 0.1) !important;
  border: 1px solid rgba(197, 160, 89, 0.4) !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
}

.ti-widget .ti-controls .ti-next:hover,
.ti-widget .ti-controls .ti-prev:hover {
  background-color: rgba(197, 160, 89, 0.25) !important;
  border-color: var(--lamp-gold) !important;
}

.ti-widget .ti-controls .ti-next::after,
.ti-widget .ti-controls .ti-prev::after {
  border-color: var(--lamp-gold) !important;
}

/* Progress bar */
.ti-widget .ti-controls-line {
  background-color: var(--lamp-border) !important;
  height: 2px !important;
  margin-top: 16px !important;
}

.ti-widget .ti-controls-line .dot {
  background-color: var(--lamp-gold) !important;
  height: 2px !important;
}

/* ========================================
   VK Table (Store Info Table)
   ======================================== */

.is-style-vk-table-border-top-bottom,
figure.wp-block-table.has-black-background-color {
  overflow: visible;
}

@media (max-width: 767px) {
  .is-style-vk-table-border-top-bottom,
  figure.wp-block-table.has-black-background-color {
    margin-left: -16px !important;
    margin-right: -16px !important;
  }
}

.is-style-vk-table-border-top-bottom table,
figure.wp-block-table table.has-black-background-color {
  background-color: var(--lamp-bg-section) !important;
  border-collapse: collapse;
  border: none !important;
  width: 100%;
}

/* 店舗情報 heading */
h5.wp-block-heading.has-black-background-color {
  text-align: center !important;
  background-color: transparent !important;
  color: #fff !important;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.2em;
  padding: 0 !important;
  margin-bottom: 48px;
}

.is-style-vk-table-border-top-bottom table td,
.is-style-vk-table-border-top-bottom table th,
figure.wp-block-table table.has-black-background-color td {
  border-bottom: 1px solid var(--lamp-border) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  padding: 20px 0 !important;
  vertical-align: top;
  font-size: 0.875rem;
  line-height: 1.8;
  color: var(--lamp-text-primary) !important;
}

/* Label column (left) */
.is-style-vk-table-border-top-bottom table td:first-child,
figure.wp-block-table table.has-black-background-color td:first-child {
  color: var(--lamp-text-muted) !important;
  font-weight: 400;
  white-space: nowrap;
  width: 120px;
  padding-right: 24px !important;
  letter-spacing: 0.1em;
  font-size: 0.8rem;
}

/* Mobile: stack label + value vertically */
@media (max-width: 767px) {
  .is-style-vk-table-border-top-bottom table,
  .is-style-vk-table-border-top-bottom table tbody,
  .is-style-vk-table-border-top-bottom table tr,
  .is-style-vk-table-border-top-bottom table td,
  figure.wp-block-table table.has-black-background-color,
  figure.wp-block-table table.has-black-background-color tbody,
  figure.wp-block-table table.has-black-background-color tr,
  figure.wp-block-table table.has-black-background-color td {
    display: block;
    width: 100% !important;
  }

  .is-style-vk-table-border-top-bottom table tr,
  figure.wp-block-table table.has-black-background-color tr {
    padding: 20px 0;
    border-bottom: 1px solid var(--lamp-border) !important;
  }

  .is-style-vk-table-border-top-bottom table td,
  .is-style-vk-table-border-top-bottom table th,
  figure.wp-block-table table.has-black-background-color td {
    padding: 0 !important;
    border: none !important;
  }

  /* Label: small gold tag */
  .is-style-vk-table-border-top-bottom table td:first-child,
  figure.wp-block-table table.has-black-background-color td:first-child {
    color: var(--lamp-gold, #C5A059) !important;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    padding-bottom: 6px !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  /* Value: full width, larger text */
  .is-style-vk-table-border-top-bottom table td:last-child,
  figure.wp-block-table table.has-black-background-color td:last-child {
    font-size: 0.95rem;
    line-height: 1.8;
  }

  .is-style-vk-table-border-top-bottom .open_time p,
  figure.wp-block-table .open_time p {
    font-size: 0.95rem !important;
  }
}

@media (min-width: 768px) {
  .is-style-vk-table-border-top-bottom table td:first-child,
  figure.wp-block-table table.has-black-background-color td:first-child {
    width: 160px;
    padding-right: 40px !important;
    font-size: 0.875rem;
  }
}

/* Phone link in table */
.is-style-vk-table-border-top-bottom table a,
figure.wp-block-table table.has-black-background-color a {
  color: #fff;
  text-decoration: none;
  transition: color 300ms ease;
}

.is-style-vk-table-border-top-bottom table a:hover,
figure.wp-block-table table.has-black-background-color a:hover {
  color: var(--lamp-gold);
}

/* Nested open_time block inside table */
.is-style-vk-table-border-top-bottom .open_time,
figure.wp-block-table .open_time {
  margin: 0 !important;
  padding: 0 !important;
}

.is-style-vk-table-border-top-bottom .open_time p,
figure.wp-block-table .open_time p {
  text-align: left !important;
  font-size: 0.875rem;
  color: var(--lamp-text-primary) !important;
  line-height: 1.8;
  margin-bottom: 4px !important;
}

.is-style-vk-table-border-top-bottom .open_time .wp-block-group__inner-container,
figure.wp-block-table .open_time .wp-block-group__inner-container {
  padding: 0 !important;
}
