/* =========================
   鑑定者詳細ページ
   main#single-teller
========================= */

#single-teller {
    --tw-bg-opacity: 1;
    background: rgb(229 223 226 / var(--tw-bg-opacity, 1));
    color: #3f3f46;
    overflow: hidden;
}

#single-teller .font-serif-en {
    font-family: "Cormorant Garamond", serif;
}

/* 本文エリア */
#single-teller .entry-content p {
    margin-bottom: 1.8em;
    line-height: 2.15;
}

#single-teller .entry-content h2 {
    font-size: 1.5rem;
    color: #a18b51;
    margin-top: 2.8rem;
    margin-bottom: 1.4rem;
    border-bottom: 1px solid rgba(186, 172, 168, 0.45);
    padding-bottom: 0.5rem;
}

#single-teller .entry-content h3 {
    font-size: 1.2rem;
    color: #555;
    margin-top: 2.2rem;
    margin-bottom: 1.1rem;
}

#single-teller .entry-content ul,
#single-teller .entry-content ol {
    margin: 0 0 1.8em 1.5em;
    line-height: 2;
}

/* 飾り */
#single-teller .flower-mark {
    position: absolute;
    pointer-events: none;
    user-select: none;
    line-height: 1;
}

#single-teller .soft-blur {
    filter: blur(40px);
}

/* 区切り線 */
#single-teller .profile-divider-dark {
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(185, 170, 166, 0.95) 18%,
        rgba(185, 170, 166, 0.55) 50%,
        rgba(185, 170, 166, 0.18) 82%,
        transparent 100%
    );
}

#single-teller .profile-divider-gold {
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(161, 139, 81, 0.12) 18%,
        rgba(161, 139, 81, 0.55) 50%,
        rgba(161, 139, 81, 0.12) 82%,
        transparent 100%
    );
}

#single-teller .lead-text p {
  line-height: 2rem;
}

/* 得意な相談内容 */
#single-teller .specialty-luxury {
    box-shadow:
        0 20px 50px rgba(80, 60, 40, 0.06),
        inset 0 0 0 1px rgba(161, 139, 81, 0.12);
}

#single-teller .specialty-luxury::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(161, 139, 81, 0.25);
    border-radius: 0.85rem;
    pointer-events: none;
    z-index: 2;
}

#single-teller .specialty-luxury::after {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: 1rem;
    padding: 10px;
    background:
        repeating-linear-gradient(
            135deg,
            rgba(161, 139, 81, 0.12) 0,
            rgba(161, 139, 81, 0.12) 1px,
            rgba(255, 255, 255, 0) 1px,
            rgba(255, 255, 255, 0) 7px
        );
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    mask-composite: exclude;
    pointer-events: none;
    z-index: 1;
}

#single-teller .specialty-tag {
    box-shadow:
        0 6px 18px rgba(80, 60, 40, 0.05),
        inset 0 0 0 1px rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(4px);
}

/* メッセージ本文 */
#single-teller .message-editor-box {
    padding: 36px 40px;
    border: 1px solid rgba(161, 139, 81, 0.22);
    border-radius: 14px;
    background: rgba(255, 255, 255, 1);
    line-height: 2;
}

/* ギャラリー：Swiper */
#single-teller .profile-gallery-section {
    overflow: visible;
}

#single-teller .profile-gallery-swiper {
    overflow: visible;
}

#single-teller .profile-gallery-swiper .swiper-wrapper {
    align-items: flex-start;
    transition-timing-function: linear !important;
}

#single-teller .profile-gallery-swiper .swiper-slide {
    height: auto;
}

#single-teller .profile-gallery-card {
    overflow: hidden;
    border-radius: 0.5rem;
    background: #fff;
    padding: 0.5rem;
    animation: fortuneFloat 6s ease-in-out infinite;
    will-change: transform;
}

#single-teller .profile-gallery-card:hover img {
    transform: scale(1.08);
}

#single-teller .profile-gallery-swiper .swiper-slide:nth-child(2) .profile-gallery-card {
    animation-delay: -2s;
}

#single-teller .profile-gallery-swiper .swiper-slide:nth-child(3) .profile-gallery-card {
    animation-delay: -4s;
}

/* 768px以下 */
@media (max-width: 768px) {
    #single-teller .message-editor-box {
        padding: 28px 15px;
    }

    #single-teller .profile-gallery-section {
        max-width: none;
        margin-left: -1rem;
        margin-right: -1rem;
        overflow: hidden;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    #single-teller .profile-gallery-swiper {
        overflow: visible;
    }

    #single-teller .profile-gallery-card {
        border-radius: 1rem;
        padding: 0.5rem;
        background: rgba(255, 255, 255, 0.92);
        filter: none;
        animation: fortuneFloatSp 5s ease-in-out infinite;
    }

    #single-teller .profile-gallery-card img {
        border-radius: 0.75rem;
    }
}

/* アニメーション */
@keyframes fortuneFloat {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-14px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes fortuneFloatSp {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }

    100% {
        transform: translateY(0);
    }
}