/*
Theme Name: Pure Sweet
Theme URI: https://getgraceflow.com/
Author: GraceFlow
Author URI: https://getgraceflow.com/
Description: 神田・岩本町のメンズエステ向けオリジナルテーマ。王道の型（3カラムPickup・特大出勤表・固定CTAバー）を維持したまま、墨色×アイボリー×ローズ×金の格上デザインに仕上げたTailwind CSSベーステーマ。
Version: 1.0.0
Requires at least: 6.0
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: pure-sweet
*/

/* ------------------------------------------------------------------
   基本
------------------------------------------------------------------ */
html {
    scroll-behavior: smooth;
}
body {
    -webkit-font-smoothing: antialiased;
}

/* ------------------------------------------------------------------
   見出し下の細い金線
------------------------------------------------------------------ */
.rule-gold::after {
    content: '';
    display: block;
    width: 3.5rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, #b3925c, transparent);
    margin: 1.25rem auto 0;
}

/* ------------------------------------------------------------------
   写真ホバー：静かなズーム
------------------------------------------------------------------ */
.ph-zoom img {
    transition: transform 1.2s cubic-bezier(.22, 1, .36, 1);
}
.ph-zoom:hover img {
    transform: scale(1.06);
}

/* ------------------------------------------------------------------
   カードの浮き
------------------------------------------------------------------ */
.lift {
    transition: transform .45s ease, box-shadow .45s ease;
}
.lift:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px -16px rgba(38, 33, 31, .18);
}

/* ------------------------------------------------------------------
   CTAボタン
------------------------------------------------------------------ */
.btn-primary {
    background: #b06a75;
    color: #fff;
    transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
    box-shadow: 0 10px 28px -10px rgba(176, 106, 117, .55);
}
.btn-primary:hover {
    background: #96525e;
    transform: translateY(-2px);
}
.btn-ghost {
    border: 1px solid #b06a75;
    color: #96525e;
    background: rgba(255, 255, 255, .75);
    transition: all .35s ease;
}
.btn-ghost:hover {
    background: #b06a75;
    color: #fff;
}

/* ------------------------------------------------------------------
   フェードイン
------------------------------------------------------------------ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}
.fade-up    { animation: fadeUp 1.1s cubic-bezier(.22, 1, .36, 1) both; }
.fade-up-d1 { animation-delay: .25s; }
.fade-up-d2 { animation-delay: .5s; }

/* ------------------------------------------------------------------
   ニュースティッカー
------------------------------------------------------------------ */
@keyframes ticker {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.ticker-track {
    animation: ticker 28s linear infinite;
}

/* ------------------------------------------------------------------
   週間出勤表（セラピスト詳細ページ用）
------------------------------------------------------------------ */
.schedule-table th {
    background-color: #26211f;
    color: #faf7f2;
    font-size: 10px;
    letter-spacing: .2em;
    font-weight: 500;
    padding: 14px 6px;
    border-right: 1px solid rgba(250, 247, 242, .12);
}
.schedule-table th:last-child {
    border-right: none;
}
.schedule-table th.today {
    background-color: #b06a75;
}
.schedule-table td {
    background-color: #fff;
    font-size: 11px;
    letter-spacing: .08em;
    padding: 18px 6px;
    text-align: center;
    border: 1px solid #efe8e0;
}
.schedule-table td.today {
    background-color: #f7eeee;
}

/* ------------------------------------------------------------------
   週間出勤表（トップページ：キャスト×7曜日マトリクス）
------------------------------------------------------------------ */
.weekly-table th {
    background-color: #26211f;
    color: #faf7f2;
    font-size: 11px;
    letter-spacing: .25em;
    font-weight: 500;
    padding: 14px 8px;
    text-align: center;
    border-right: 1px solid rgba(250, 247, 242, .12);
}
.weekly-table th:last-child {
    border-right: none;
}
.weekly-table th.today {
    background-color: #b06a75;
}
.weekly-table td {
    background-color: #fff;
    padding: 14px 8px;
    text-align: center;
    border: 1px solid #efe8e0;
    white-space: nowrap;
}
.weekly-table td.today {
    background-color: #f7eeee;
}
/* 左端キャスト列：スマホ横スクロール時も固定 */
.weekly-table th.cast-col,
.weekly-table td.cast-col {
    position: sticky;
    left: 0;
    text-align: left;
    min-width: 170px;
    padding-left: 16px;
}
.weekly-table th.cast-col {
    z-index: 3;
    background-color: #26211f;
}
.weekly-table td.cast-col {
    z-index: 2;
    background-color: #faf7f2;
    box-shadow: 6px 0 12px -8px rgba(38, 33, 31, .35);
}
