/* 헤더 영역의 사이트 제목 텍스트만 숨기기 */
.site-title, .site-branding-text, .custom-logo-link + .site-title-wrapper {
    display: none !important;
}

/* ==========================================================================
   1. 폰트 로드 (스타일만 적용)
   ========================================================================== */
@font-face { font-family: 'MiSans-Regular'; src: url('https://assets-persist.lovart.ai/agent-static-assets/MiSans-Regular.ttf'); font-display: swap; }
@font-face { font-family: 'MiSans-Bold'; src: url('https://assets-persist.lovart.ai/agent-static-assets/MiSans-Bold.ttf'); font-display: swap; }
@font-face { font-family: 'NotoSansHans-Regular'; src: url('https://assets-persist.lovart.ai/agent-static-assets/NotoSansHans-Regular.otf'); font-display: swap; }
@font-face { font-family: 'NotoSerifCJKsc-Bold'; src: url('https://assets-persist.lovart.ai/agent-static-assets/NotoSerifCJKsc-Bold.otf'); font-display: swap; }

/* ==========================================================================
   2. 색상 변수 정의 (디자인 토큰)
   ========================================================================== */
:root {
    --primary-teal: #4FC0C9;
    --primary-dark-teal: #3daeb7;
    --accent-orange: #FF8C00;
    --accent-light-orange: #fff0e0;
    --bg-light: #F8FAFB;
    --text-main: #2D3748;
    --text-light: #718096;
    --white: #FFFFFF;
    --font-main: 'MiSans-Regular', 'NotoSansHans-Regular', sans-serif;
    --font-heading: 'MiSans-Bold', 'NotoSerifCJKsc-Bold', serif;
}

/* ==========================================================================
   3. 기본 텍스트 스타일 (색상 및 폰트만 변경)
   ========================================================================== */
body {
    background-color: var(--white);
    font-family: var(--font-main);
    color: var(--text-main);
    /* width, margin, padding 등 레이아웃 속성 제거됨 */
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--text-main);
    font-weight: bold;
}

p, li, span, div {
    color: var(--text-main);
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}
a:hover {
    color: var(--primary-teal);
}

/* ==========================================================================
   4. 버튼 스타일 (배경, 색상, 테두리만 적용)
   ========================================================================== */
/* 워드프레스 기본 버튼 & .btn 클래스 */
.wp-block-button__link,
.btn-primary,
button[type="submit"],
input[type="submit"] {
    background-color: var(--primary-teal) !important;
    color: var(--white) !important;
    border: 2px solid var(--primary-teal) !important;
    border-radius: 50px !important; /* 둥근 모양 */
    font-family: var(--font-main);
    font-weight: bold;
    box-shadow: 0 4px 6px rgba(79, 192, 201, 0.2);
    /* padding, display 등 크기/위치 속성은 테마 기본값 따름 */
}

.wp-block-button__link:hover,
.btn-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background-color: var(--primary-dark-teal) !important;
    border-color: var(--primary-dark-teal) !important;
    color: var(--white) !important;
}

/* 보조 버튼 (외곽선 스타일) */
.is-style-outline .wp-block-button__link,
.btn-secondary {
    background-color: transparent !important;
    color: var(--accent-orange) !important;
    border: 2px solid var(--accent-orange) !important;
    box-shadow: none !important;
}

.is-style-outline .wp-block-button__link:hover,
.btn-secondary:hover {
    background-color: var(--accent-orange) !important;
    color: var(--white) !important;
}

/* ==========================================================================
   5. 카드 및 섹션 데코레이션 (배경색, 그림자, 라운드만 적용)
   ========================================================================== */
/* 서비스 카드 등 박스 형태 디자인 */
.service-card, 
.review-card,
.article-card {
    background: var(--white);
    border: 1px solid #f0f0f0;
    border-radius: 24px; /* 둥근 모서리 */
    box-shadow: 0 5px 15px rgba(0,0,0,0.03); /* 부드러운 그림자 */
    /* width, height, position, margin 제거됨 */
}

/* 아이콘 박스 스타일 */
.service-icon {
    background: var(--bg-light);
    border-radius: 20px;
    color: var(--primary-teal);
    /* 크기/위치는 상위 요소에 의존 */
}

/* 섹션 배경색 */
.services { background-color: var(--white); }
.reviews { background-color: var(--bg-light); }
.final-cta { background-color: var(--primary-teal); color: white; }
footer { background-color: #1a202c; color: #a0aec0; }

/* 텍스트 강조 색상 */
.section-subtitle,
.article-tag,
.hero-title span {
    color: var(--primary-teal);
}

.stars {
    color: var(--accent-orange);
}
/* Mobile image optimization */
@media(max-width:768px){img,.wp-block-image img,.wp-block-cover{max-width:90%!important;height:auto!important;margin:0 auto;display:block;}}




.wp-block-post-template > li, .wp-block-latest-posts.is-grid > li, .ast-row > article {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

/* Ensure the grid doesn't break if items have different heights */
.wp-block-post-template, .wp-block-latest-posts.is-grid {
    align-items: stretch !important;
}


/* Improved Blog Layout Fix */
.ast-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

.ast-row::before, .ast-row::after {
    display: none !important;
}

.ast-row > article {
    float: none !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column !important;
}

.ast-row > article > .ast-article-inner {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

@media (min-width: 922px) {
    .ast-row > article {
        width: 33.33333% !important;
    }
}

@media (max-width: 921px) and (min-width: 545px) {
    .ast-row > article {
        width: 50% !important;
    }
}

@media (max-width: 544px) {
    .ast-row > article {
        width: 100% !important;
    }
}
