/* 헤더 영역의 사이트 제목 텍스트만 숨기기 */
.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;
    }
}

/* mindgym-global-header-css-v1: homepage header styling for all public templates */
#masthead .ast-primary-header-bar,
#masthead .main-header-bar {
  min-height: 70px;
  border-bottom: 0;
}
#masthead .site-primary-header-wrap.ast-container {
  width: 100%;
  max-width: none;
  min-height: 70px;
  padding-left: clamp(22px, 2vw, 36px);
  padding-right: clamp(22px, 2vw, 36px);
}
#ast-desktop-header .ast-builder-grid-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 70px;
  column-gap: 28px;
}
#ast-desktop-header .site-header-primary-section-center {
  margin-left: auto;
}
#masthead .site-branding {
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  padding: 0;
}
#masthead .custom-logo-link {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  overflow: hidden;
  border-radius: 8px;
  background: #4cc6cf;
}
#masthead .custom-logo-link img.custom-logo {
  display: none !important;
}
#masthead .custom-logo-link::before {
  content: "";
  width: 42px;
  height: 42px;
  display: block;
  background: url("https://mindgymkorea.com/wp-content/uploads/2022/05/mindgym_logo_square.png") center center / cover no-repeat;
}
#masthead .ast-site-title-wrap {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  margin-left: 12px;
}
#masthead .site-title {
  display: block !important;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.05;
}
#masthead .site-title a {
  color: #17201b !important;
  text-decoration: none;
}
#masthead .ast-site-title-wrap::after {
  content: "마음의 힘을 기르는 상담소";
  margin-top: 3px;
  color: #56645f;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
#masthead .main-header-menu > .menu-item > .menu-link {
  height: 70px;
  padding: 0 14px;
  color: #31413d;
  font-size: 14px;
  font-weight: 800;
  line-height: 70px;
}
#masthead .main-header-menu > .current-menu-item > .menu-link,
#masthead .main-header-menu > .menu-item > .menu-link:hover,
#masthead .main-header-menu > .menu-item > .menu-link:focus {
  color: #0f766e;
}
@media (max-width: 921px) {
  #masthead .site-primary-header-wrap.ast-container {
    min-height: 66px;
    padding-left: 16px;
    padding-right: 16px;
  }
  #masthead .ast-primary-header-bar,
  #masthead .main-header-bar {
    min-height: 66px;
  }
  #masthead .custom-logo-link,
  #masthead .custom-logo-link::before {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }
  #masthead .site-title {
    font-size: 18px;
  }
  #masthead .ast-site-title-wrap::after {
    font-size: 11px;
  }
}