/*
 * 수원계단청소 커스텀 스타일
 * 모든 글과 페이지에 적용되는 청소업체 테마
 * 메인 페이지(.mainhome-wrapper)는 제외
 */

/* 전체 레이아웃 */
body:not(.mainhome-wrapper):not(:has(.mainhome-wrapper)) {
    font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif !important;
    background: #f8f9fa !important;
    color: #333 !important;
    line-height: 1.8;
}

/* 메인 페이지가 아닌 경우에만 적용 */
body:not(:has(.mainhome-wrapper)) body,
:not(.mainhome-wrapper) > body {
    font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif !important;
    background: #f8f9fa !important;
    color: #333 !important;
    line-height: 1.8;
}

/* 컨테이너 - WordPress 글/페이지에만 적용 */
body:not(:has(.mainhome-wrapper)) .wp-site-blocks,
.wp-site-blocks:not(.mainhome-wrapper *) {
    background: white;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 40px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
}

/* 헤더 영역 */
body:not(:has(.mainhome-wrapper)) .wp-block-post-title,
body:not(:has(.mainhome-wrapper)) .entry-title,
body:not(:has(.mainhome-wrapper)) h1.wp-block-heading {
    font-size: 48px !important;
    font-weight: 900 !important;
    color: #1a5490 !important;
    margin-bottom: 30px !important;
    line-height: 1.3 !important;
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 4px solid #4CAF50;
}

/* 제목들 */
body:not(:has(.mainhome-wrapper)) h2,
body:not(:has(.mainhome-wrapper)) h2.wp-block-heading {
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #1a5490 !important;
    margin: 50px 0 25px 0 !important;
    padding-left: 15px;
    border-left: 5px solid #4CAF50;
}

body:not(:has(.mainhome-wrapper)) h3,
body:not(:has(.mainhome-wrapper)) h3.wp-block-heading {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #2d6ca5 !important;
    margin: 40px 0 20px 0 !important;
}

body:not(:has(.mainhome-wrapper)) h4,
body:not(:has(.mainhome-wrapper)) h4.wp-block-heading {
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin: 30px 0 15px 0 !important;
}

/* 단락 */
body:not(:has(.mainhome-wrapper)) p,
body:not(:has(.mainhome-wrapper)) .wp-block-paragraph {
    font-size: 17px !important;
    line-height: 1.9 !important;
    color: #555 !important;
    margin-bottom: 20px !important;
}

/* 링크 */
body:not(:has(.mainhome-wrapper)) a {
    color: #1a5490 !important;
    text-decoration: none !important;
    font-weight: 600;
    transition: all 0.3s;
}

body:not(:has(.mainhome-wrapper)) a:hover {
    color: #4CAF50 !important;
    text-decoration: underline !important;
}

/* 리스트 */
body:not(:has(.mainhome-wrapper)) ul,
body:not(:has(.mainhome-wrapper)) ol {
    margin: 25px 0 !important;
    padding-left: 30px !important;
}

body:not(:has(.mainhome-wrapper)) li {
    margin: 12px 0 !important;
    line-height: 1.8 !important;
    color: #555 !important;
    font-size: 17px !important;
}

body:not(:has(.mainhome-wrapper)) ul li::marker {
    color: #4CAF50 !important;
    font-weight: bold;
}

body:not(:has(.mainhome-wrapper)) ol li::marker {
    color: #1a5490 !important;
    font-weight: bold;
}

/* 인용구 */
body:not(:has(.mainhome-wrapper)) blockquote,
body:not(:has(.mainhome-wrapper)) .wp-block-quote {
    background: linear-gradient(135deg, #E8F5E9, #E3F2FD) !important;
    border-left: 5px solid #4CAF50 !important;
    padding: 25px 30px !important;
    margin: 30px 0 !important;
    border-radius: 10px;
    font-style: italic;
    color: #2d6ca5 !important;
}

body:not(:has(.mainhome-wrapper)) blockquote p {
    color: #2d6ca5 !important;
}

/* 코드 블록 */
code, .wp-block-code {
    background: #f8f9fa !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 8px;
    padding: 3px 8px !important;
    font-family: 'Courier New', monospace !important;
    color: #1a5490 !important;
}

pre {
    background: #f8f9fa !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 12px;
    padding: 20px !important;
    overflow-x: auto;
}

pre code {
    border: none !important;
    padding: 0 !important;
}

/* 테이블 */
table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 30px 0 !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

table th {
    background: linear-gradient(135deg, #1a5490, #145080) !important;
    color: white !important;
    padding: 15px !important;
    font-weight: 700 !important;
    text-align: left !important;
    border: none !important;
}

table td {
    padding: 15px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    color: #555 !important;
}

table tr:nth-child(even) {
    background: #f8f9fa !important;
}

table tr:hover {
    background: #E8F5E9 !important;
}

/* 이미지 */
img, .wp-block-image img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1) !important;
    margin: 30px 0 !important;
}

figure {
    margin: 30px 0 !important;
}

figcaption {
    text-align: center;
    color: #666 !important;
    font-size: 14px !important;
    margin-top: 10px;
    font-style: italic;
}

/* 버튼 */
.wp-block-button__link,
.wp-element-button {
    background: linear-gradient(135deg, #4CAF50, #45a049) !important;
    color: white !important;
    padding: 15px 40px !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    box-shadow: 0 5px 20px rgba(76, 175, 80, 0.3) !important;
    transition: all 0.3s !important;
    display: inline-block;
    text-decoration: none !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(76, 175, 80, 0.4) !important;
    color: white !important;
}

/* 구분선 */
hr {
    border: none !important;
    height: 3px !important;
    background: linear-gradient(to right, #1a5490, #4CAF50) !important;
    margin: 50px 0 !important;
    border-radius: 3px;
}

/* 알림 박스 스타일 */
.wp-block-group.has-background {
    padding: 25px 30px !important;
    border-radius: 15px !important;
    margin: 30px 0 !important;
    border-left: 5px solid #4CAF50 !important;
}

/* 컬럼 */
.wp-block-columns {
    margin: 40px 0 !important;
}

.wp-block-column {
    padding: 20px !important;
}

/* 미디어와 텍스트 */
.wp-block-media-text {
    border-radius: 15px !important;
    overflow: hidden;
    margin: 40px 0 !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

/* 커버 블록 */
.wp-block-cover {
    border-radius: 20px !important;
    overflow: hidden;
    margin: 40px 0 !important;
}

/* 풀아웃 */
.wp-block-pullquote {
    background: linear-gradient(135deg, #E3F2FD, #E8F5E9) !important;
    border: none !important;
    padding: 40px !important;
    border-radius: 20px !important;
    text-align: center;
    margin: 40px 0 !important;
}

.wp-block-pullquote blockquote {
    border: none !important;
    background: transparent !important;
}

.wp-block-pullquote p {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #1a5490 !important;
}

/* 카테고리 및 태그 */
.wp-block-post-terms,
.wp-block-tag-cloud {
    margin: 30px 0 !important;
}

.wp-block-post-terms a,
.wp-block-tag-cloud a {
    display: inline-block;
    padding: 8px 20px !important;
    background: #f8f9fa !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 25px !important;
    margin: 5px !important;
    color: #1a5490 !important;
    font-size: 14px !important;
    transition: all 0.3s;
}

.wp-block-post-terms a:hover,
.wp-block-tag-cloud a:hover {
    background: #4CAF50 !important;
    color: white !important;
    border-color: #4CAF50 !important;
    text-decoration: none !important;
    transform: translateY(-2px);
}

/* 날짜 및 메타 정보 */
.wp-block-post-date,
.wp-block-post-author {
    color: #666 !important;
    font-size: 14px !important;
    margin: 15px 0 !important;
}

/* 아카이브 */
.wp-block-archives,
.wp-block-categories {
    list-style: none !important;
    padding: 0 !important;
}

.wp-block-archives li,
.wp-block-categories li {
    padding: 10px 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
}

.wp-block-archives a,
.wp-block-categories a {
    color: #555 !important;
    font-weight: 500 !important;
}

.wp-block-archives a:hover,
.wp-block-categories a:hover {
    color: #1a5490 !important;
    padding-left: 5px;
}

/* 최신 글 */
.wp-block-latest-posts {
    list-style: none !important;
    padding: 0 !important;
}

.wp-block-latest-posts li {
    padding: 15px !important;
    background: #f8f9fa !important;
    border-radius: 10px !important;
    margin-bottom: 15px !important;
    border-left: 4px solid #4CAF50 !important;
    transition: all 0.3s;
}

.wp-block-latest-posts li:hover {
    background: white !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
    transform: translateX(5px);
}

/* 검색 */
.wp-block-search {
    margin: 30px 0 !important;
}

.wp-block-search__input {
    padding: 15px 20px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 50px !important;
    font-size: 16px !important;
    transition: all 0.3s;
}

.wp-block-search__input:focus {
    border-color: #4CAF50 !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1) !important;
}

.wp-block-search__button {
    background: linear-gradient(135deg, #4CAF50, #45a049) !important;
    color: white !important;
    padding: 15px 30px !important;
    border-radius: 50px !important;
    border: none !important;
    font-weight: 700 !important;
}

/* 사이드바 */
.wp-block-group.is-layout-constrained {
    background: white;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
}

/* 위젯 제목 */
.wp-block-group h2,
.widget-title {
    font-size: 22px !important;
    color: #1a5490 !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 3px solid #4CAF50 !important;
}

/* 댓글 */
.wp-block-comments {
    margin: 60px 0 !important;
}

.wp-block-comment {
    background: #f8f9fa !important;
    padding: 25px !important;
    border-radius: 15px !important;
    margin-bottom: 20px !important;
    border-left: 4px solid #4CAF50 !important;
}

.wp-block-comment-author-name {
    color: #1a5490 !important;
    font-weight: 700 !important;
}

.wp-block-comment-date {
    color: #666 !important;
    font-size: 14px !important;
}

/* 댓글 폼 */
.wp-block-post-comments-form {
    margin: 40px 0 !important;
}

.wp-block-post-comments-form input[type="text"],
.wp-block-post-comments-form input[type="email"],
.wp-block-post-comments-form textarea {
    width: 100%;
    padding: 15px 20px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    transition: all 0.3s;
    margin-bottom: 15px;
}

.wp-block-post-comments-form input:focus,
.wp-block-post-comments-form textarea:focus {
    border-color: #4CAF50 !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.1) !important;
}

.wp-block-post-comments-form input[type="submit"] {
    background: linear-gradient(135deg, #4CAF50, #45a049) !important;
    color: white !important;
    padding: 15px 40px !important;
    border-radius: 50px !important;
    border: none !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: all 0.3s;
}

.wp-block-post-comments-form input[type="submit"]:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(76, 175, 80, 0.4) !important;
}

/* 페이지네이션 */
.wp-block-query-pagination {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 60px 0 !important;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
    padding: 12px 20px !important;
    background: #f8f9fa !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 10px !important;
    color: #1a5490 !important;
    font-weight: 600 !important;
    transition: all 0.3s;
}

.wp-block-query-pagination a:hover,
.wp-block-query-pagination .current {
    background: #4CAF50 !important;
    color: white !important;
    border-color: #4CAF50 !important;
    text-decoration: none !important;
    transform: translateY(-2px);
}

/* 소셜 링크 */
.wp-block-social-links {
    display: flex;
    gap: 15px;
    margin: 30px 0 !important;
}

.wp-block-social-link {
    background: #1a5490 !important;
    border-radius: 50% !important;
    padding: 12px !important;
    transition: all 0.3s;
}

.wp-block-social-link:hover {
    background: #4CAF50 !important;
    transform: translateY(-3px);
}

/* 반응형 */
@media (max-width: 768px) {
    body:not(:has(.mainhome-wrapper)) .wp-site-blocks {
        padding: 30px 20px !important;
    }

    body:not(:has(.mainhome-wrapper)) h1.wp-block-heading,
    body:not(:has(.mainhome-wrapper)) .wp-block-post-title {
        font-size: 32px !important;
    }

    body:not(:has(.mainhome-wrapper)) h2,
    body:not(:has(.mainhome-wrapper)) h2.wp-block-heading {
        font-size: 26px !important;
    }

    body:not(:has(.mainhome-wrapper)) h3,
    body:not(:has(.mainhome-wrapper)) h3.wp-block-heading {
        font-size: 22px !important;
    }

    body:not(:has(.mainhome-wrapper)) p,
    body:not(:has(.mainhome-wrapper)) .wp-block-paragraph {
        font-size: 16px !important;
    }
}

/* 추가: 깨끗한 청소업체 느낌 */
.cleaning-highlight {
    background: linear-gradient(135deg, #E8F5E9, #E3F2FD) !important;
    padding: 25px 30px !important;
    border-radius: 15px !important;
    border-left: 5px solid #4CAF50 !important;
    margin: 30px 0 !important;
}

.cleaning-warning {
    background: linear-gradient(135deg, #FFE5E5, #FFF0F0) !important;
    padding: 25px 30px !important;
    border-radius: 15px !important;
    border-left: 5px solid #f44336 !important;
    margin: 30px 0 !important;
}

.cleaning-info {
    background: linear-gradient(135deg, #FFF3CD, #FFF8E1) !important;
    padding: 25px 30px !important;
    border-radius: 15px !important;
    border-left: 5px solid #FFC107 !important;
    margin: 30px 0 !important;
}
