/**
 * Theme Name:     Astra Child
 * Author:         Brainstorm Force
 * Template:       astra
 * Text Domain:	   astra-child
 * Description:    The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
 */
.single .entry-content {
    font-size: 17px;
    line-height: 1.8;
    color: #333;
    word-break: keep-all;
}

.single .entry-content p {
    margin-bottom: 1.5em;
    font-family: 'Noto Sans KR', 'Malgun Gothic', 'Apple SD Gothic Neo', 'Nanum Gothic', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.single .entry-content h1,
.single .entry-content h2,
.single .entry-content h3:not(.rpm-title),
.single .entry-content h4,
.single .entry-content h5,
.single .entry-content h6 {
    font-family: 'Noto Sans KR', 'Malgun Gothic', 'Apple SD Gothic Neo', 'Nanum Gothic', sans-serif;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 2em;
    margin-bottom: 0.8em;
    color: #1a1a1a;
}

.single .entry-content h1 {
    font-size: 28px;
    padding: 20px 25px;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    border-left: 5px solid #667eea;
    letter-spacing: -0.03em;
}

.single .entry-content h2 {
    font-size: 24px;
    padding: 18px 22px;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    border-left: 4px solid #667eea;
    letter-spacing: -0.03em;
}

.single .entry-content h3:not(.rpm-title) {
    font-size: 20px;
    font-weight: 600;
    padding: 15px 20px;
    background: linear-gradient(135deg, rgba(255, 126, 95, 0.03) 0%, rgba(254, 180, 123, 0.03) 100%);
    border-radius: 6px;
    position: relative;
    overflow: hidden;
    border-left: 3px solid #ff7e5f;
    letter-spacing: -0.02em;
}

.single .entry-content h4 {
    font-size: 18px;
    font-weight: 600;
    padding: 12px 18px;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.02) 0%, rgba(118, 75, 162, 0.02) 100%);
    border-radius: 5px;
    position: relative;
    overflow: hidden;
    border-left: 2px solid #667eea;
    letter-spacing: -0.01em;
}

.single .entry-content h5 {
    font-size: 16px;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    border-left: 2px solid #9575cd;
    letter-spacing: -0.01em;
}

.single .entry-content h6 {
    font-size: 15px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
    border-left: 1px solid #bb86fc;
    letter-spacing: 0;
}

/* RPM 관련글 테마 간섭 차단 */
.single .entry-content .rpm-title {
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: inherit !important;
}

/* 모든 mark 태그에 네온 글로우 효과 적용 */
mark {
    background: #fff9c4;
    padding: 4px 2px;
    border-radius: 12px;
    box-shadow: 0 0 15px rgba(255, 235, 59, 0.4);
    border: 1px solid #ffeb3b;
    animation: subtle-glow 2s ease-in-out infinite alternate;
    color: inherit;
    /* 원래 텍스트 색상 유지 */
}

/* 은은한 글로우 애니메이션 */
@keyframes subtle-glow {
    from {
        box-shadow: 0 0 10px rgba(255, 235, 59, 0.3);
    }

    to {
        box-shadow: 0 0 20px rgba(255, 235, 59, 0.5);
    }
}

/* 버튼 블록 자체를 센터 정렬 */
.wp-block-button {
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
}

.wp-block-buttons {
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

/* 워드프레스 버튼 그라데이션 스타일 */
.wp-block-button .wp-block-button__link {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 15px 30px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    color: white !important;
    box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3) !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* 호버 효과 */
.wp-block-button .wp-block-button__link:hover {
    background: linear-gradient(135deg, #764ba2 0%, #667eea 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 25px rgba(102, 126, 234, 0.4) !important;
    color: white !important;
}

/* 클릭 효과 */
.wp-block-button .wp-block-button__link:active {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 15px rgba(102, 126, 234, 0.3) !important;
}

/* 반짝이는 애니메이션 효과 */
.wp-block-button .wp-block-button__link::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.wp-block-button .wp-block-button__link:hover::before {
    left: 100%;
}

/* ============================================
   인테리어 견적 서비스 메뉴 강조 스타일
   ============================================ */

/* 부모 li 요소 정렬 */
.main-header-menu .menu-item:has(a[href*="project"]),
.ast-builder-menu .menu-item:has(a[href*="project"]) {
    display: flex !important;
    align-items: center !important;
}

/* 메뉴 아이템 타겟팅 (project 링크) */
.main-header-menu a[href*="project"],
.ast-builder-menu a[href*="project"],
.menu-item a[href*="project"],
.menu-item.highlight-menu > a,
.menu-item.cta-menu > a {
    background: #5046e5 !important;
    color: #fff !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    letter-spacing: -0.01em !important;
    transition: all 0.2s ease !important;
    border: none !important;
    height: auto !important;
    min-height: unset !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.main-header-menu a[href*="project"]:hover,
.ast-builder-menu a[href*="project"]:hover,
.menu-item a[href*="project"]:hover,
.menu-item.highlight-menu > a:hover,
.menu-item.cta-menu > a:hover {
    background: #3730a3 !important;
    transform: translateY(-1px) !important;
}

/* ============================================
   모바일 메뉴에서도 표시
   ============================================ */

@media (max-width: 921px) {
    .ast-mobile-popup-content a[href*="project"],
    .ast-mobile-header-content a[href*="project"],
    .ast-builder-menu-mobile a[href*="project"],
    .toggle-on a[href*="project"],
    .menu-item.highlight-menu > a,
    .menu-item.cta-menu > a {
        background: #5046e5 !important;
        color: #fff !important;
        padding: 10px 20px !important;
        border-radius: 6px !important;
        display: inline-block !important;
        margin: 8px 0 !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        text-align: center !important;
    }

    .ast-mobile-popup-content .menu-item a[href*="project"],
    .ast-mobile-header-content .menu-item a[href*="project"] {
        display: inline-block !important;
        visibility: visible !important;
    }
}

/* ============================================
   모바일 헤더 중앙 CTA 버튼
   ============================================ */

/* 모바일 헤더 중앙 버튼 */
.mobile-header-cta {
    display: none !important;
}

@media (max-width: 921px) {
    .mobile-header-cta {
        display: inline-block !important;
        position: fixed !important;
        top: 12px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        background: #5046e5 !important;
        color: #fff !important;
        padding: 8px 14px !important;
        border-radius: 6px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        z-index: 9999 !important;
        box-shadow: 0 2px 8px rgba(80, 70, 229, 0.3) !important;
        transition: all 0.2s ease !important;
    }

    .mobile-header-cta:hover {
        background: #3730a3 !important;
        color: #fff !important;
    }
}

/* ============================================
   모바일 고정 하단 CTA 버튼 (선택사항)
   ============================================ */
.mobile-cta-fixed {
    display: none;
}

@media (max-width: 768px) {
    .mobile-cta-fixed {
        display: block !important;
        position: fixed !important;
        bottom: 20px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        z-index: 9999 !important;
    }

    .mobile-cta-fixed a {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
        color: #fff !important;
        padding: 15px 30px !important;
        border-radius: 50px !important;
        font-weight: 700 !important;
        font-size: 16px !important;
        text-decoration: none !important;
        box-shadow: 0 6px 25px rgba(102, 126, 234, 0.5) !important;
        animation: pulse-glow 2s ease-in-out infinite !important;
    }
}

