/*
Theme Name: 結婚相談所スエナガ
Author: 結婚相談所スエナガ（柴田 航平）
Description: 結婚相談所スエナガのオリジナルWordPressテーマ
Version: 2.0.0
*/

/* --- 基本設定 --- */
body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #4A5568; /* Gray-700 */
    background-color: #ffffff; /* White */
}
.font-serif { font-family: 'Noto Serif JP', serif; }
.font-handwriting { font-family: 'Dancing Script', cursive; }

.text-brand { color: #9A3412; } /* Orange-900 */
.bg-brand { background-color: #C2410C; } /* Orange-800 */
.bg-brand-light { background-color: #FFEDD5; } /* Orange-100 */

/* --- ボタン --- */
.btn {
    padding: 0.75rem 1.75rem; /* 12px 28px */
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 9999px; /* Pill shape */
}

/* Primary CTA Button (Emerald) */
.btn-primary {
    background-color: #10B981; /* Emerald-500 */
    color: #ffffff;
}
.btn-primary:hover { background-color: #059669; } /* Emerald-600 */

/* Secondary Button (Orange) */
.btn-secondary {
    background-color: transparent;
    color: #EA580C; /* Orange-600 */
    border-color: #EA580C;
}
.btn-secondary:hover {
    background-color: #EA580C;
    color: #ffffff;
}

/* --- セクションタイトル --- */
.section-title {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.875rem; /* text-3xl */
    font-weight: 700;
    color: #9A3412; /* Orange-900 */
}
.section-subtitle {
    font-size: 0.875rem;
    color: #FB923C; /* Orange-400 */
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
}

/* --- アニメーション --- */
#mobile-menu {
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
}
.faq-icon {
    transition: transform 0.3s ease-in-out;
}

/* --- Floating CTA Button --- */
.floating-cta-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
    background-color: #10B981; /* Emerald-500 */
    color: white;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    text-decoration: none;
    transition: transform 0.3s ease;
}
.floating-cta-button:hover {
    background-color: #059669; /* Emerald-600 */
    transform: scale(1.1);
}
@media (min-width: 768px) {
    .floating-cta-button {
        display: none;
    }
}

/* --- ブログ記事装飾スタイル --- */
.entry-content h2 {
    font-family: 'Noto Serif JP', serif;
    color: #9A3412; /* Orange-900 */
    font-size: 1.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #FFEDD5; /* Orange-100 */
    margin-top: 2.5em;
    margin-bottom: 1.5em;
}
.entry-content p {
    line-height: 1.8;
}
.entry-content a {
    color: #F97316; /* Orange-500 */
    font-weight: bold;
    text-decoration: none;
}
.entry-content a:hover {
    text-decoration: underline;
}
.entry-content mark, .marker {
    background: linear-gradient(transparent 60%, #FDBA74 60%); /* Orange-300 */
    font-weight: bold;
}
.entry-content blockquote {
    border-left: 4px solid #FDBA74; /* Orange-300 */
    padding: 0.5em 1.5em;
    margin: 1.5em 0;
    background-color: #FFF7ED; /* Orange-50 */
    color: #9A3412; /* Orange-900 */
}
.is-style-swell-checklist li::before {
    content: '✔';
    position: absolute;
    left: 0;
    color: #22C55E; /* Green-500 */
    font-weight: bold;
}


/* Added by helper: nav & plan spacing tweaks */
@media (min-width: 768px){
  header nav a{padding-top:.75rem;padding-bottom:.75rem;}
}
#plan .grid{row-gap:3rem;}

/* Pricing alignment */
.price-amount{font-variant-numeric: tabular-nums;}

/* ---- Plan cards vertical alignment helpers ---- */
@media (min-width: 1024px){
  .plan-title{ min-height: 2.75rem; }        /* keep titles one-line/ two-line height */
  .plan-desc{ min-height: 3.5rem; }          /* ensure description lines align */
  .plan-priceblock{ min-height: 9.5rem; }    /* price & breakdown block aligns across cards */
  .plan-features{ min-height: 12rem; }       /* feature list area aligns; keeps CTA aligned */
}
/* number alignment (already added earlier) */
.price-amount{ font-variant-numeric: tabular-nums; }

/* ---- Plan cards alignment: desktop-priority overrides (v2) ---- */
@media (min-width: 1024px){
  .plan-title{ min-height: 2.5rem; }
  .plan-desc{ min-height: 3.5rem; }
  .plan-priceblock{ min-height: 12rem; }
  .plan-features{ min-height: 14rem; }
}



/* ---- Plan features: two-column layout on desktop ---- */
@media (min-width: 1024px){
  .plan-features{
    column-count: 2;
    column-gap: 1.5rem;
  }
  .plan-features li{
    break-inside: avoid;
  }
}

