/*Theme Name: MateWPAuthor: YoonsAuthor Email: sskim731@gmail.comDescription: 웹페이지 제작 전용 한글 테마 (Elementor 기반 초경량 독립 마스터 테마)Version: 1.0.4.0Text Domain: matewp*//* ==========================================================================   1. 기본 리셋 및 전역 레이아웃   ========================================================================== */*, *::before, *::after {    box-sizing: border-box;}html {    scroll-behavior: smooth;    -webkit-text-size-adjust: 100%;}body {    margin: 0;    padding: 0;    font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Nanum Gothic", "Segoe UI", Roboto, sans-serif;    font-size: var(--mate-body-size, 16px);    line-height: var(--mate-body-lh, 1.7);    color: var(--mate-body-color, #333333);    background-color: #ffffff;    -webkit-font-smoothing: antialiased;    -moz-osx-font-smoothing: grayscale;    overflow-x: hidden;}img {    max-width: 100%;    height: auto;}a {    color: inherit;    text-decoration: none;}/* 1-1. 전 기기 페이지 5px 좌우 여백 */.mate-container,.site-container {    width: 100%;    max-width: var(--mate-site-width, 1140px);    margin-left: auto;    margin-right: auto;    padding-left: 5px;    padding-right: 5px;    box-sizing: border-box;}.elementor-section.elementor-section-boxed > .elementor-container,.e-con.e-con-boxed {    max-width: var(--mate-site-width, 1140px) !important;    margin-left: auto !important;    margin-right: auto !important;    padding-left: 5px !important;    padding-right: 5px !important;    box-sizing: border-box !important;}.entry-content,.mate-main-content > *:not(.elementor) {    box-sizing: border-box;}/* ==========================================================================   2. 상단 헤더 및 네비게이션   ========================================================================== */.mate-header {    width: 100%;    background-color: var(--mate-header-bg, #ffffff);    border-bottom: 1px solid var(--mate-header-border, #eaeaea);    transition: box-shadow 0.3s ease, background-color 0.3s ease;    z-index: 9999;}.mate-header.is-sticky {    position: sticky;    top: 0;    left: 0;}.mate-header.is-scrolled {    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07);}.mate-header-inner {    max-width: var(--mate-site-width, 1140px);    margin: 0 auto;    padding-top: var(--mate-pc-header-pt, 14px);    padding-bottom: var(--mate-pc-header-pb, 14px);    padding-left: 5px;    padding-right: 5px;    display: flex;    justify-content: space-between;    align-items: center;    box-sizing: border-box;    position: relative;}/* 싱글페이지 전용 헤더 */.mate-header.is-single-header .mate-header-inner {    justify-content: center !important;}.mate-header.is-single-header .mate-logo {    margin: 0 auto;    justify-content: center;    text-align: center;}.mate-header.is-single-header .mate-logo a {    justify-content: center;    text-align: center;}.mate-header.is-single-header .mate-mobile-toggle,.mate-header.is-single-header .mate-mobile-menu-wrap {    display: none !important;}/* PC 로고 */.mate-logo {    display: flex;    align-items: center;}.mate-logo a {    display: inline-flex;    align-items: center;    line-height: 1;}.mate-logo img {    width: var(--mate-pc-logo-width, 250px);    height: auto !important;    max-width: 100%;    display: block;    object-fit: contain;}.mate-logo .site-title-text {    font-size: 22px;    font-weight: 700;    color: var(--mate-menu-color, #222222);    letter-spacing: -0.5px;}/* PC 네비게이션 및 메뉴 간격 */.mate-desktop-nav {    display: block;}.mate-desktop-nav .mate-menu {    display: flex;    list-style: none;    margin: 0;    padding: 0;    gap: var(--mate-pc-menu-gap, 24px);    align-items: center;}.mate-desktop-nav .mate-menu li {    position: relative;    margin: 0;    padding: 0;}.mate-desktop-nav .mate-menu > li > a {    display: block;    padding: 8px 6px;    font-size: var(--mate-pc-menu-size, 18px);    font-weight: 600;    color: var(--mate-menu-color, #222222);    transition: color 0.2s ease;}.mate-desktop-nav .mate-menu > li > a:hover,.mate-desktop-nav .mate-menu > li.current-menu-item > a {    color: var(--mate-menu-hover, #136ef7);}/* PC 2차 메뉴 드롭다운 박스 */.mate-desktop-nav .mate-menu .sub-menu {    position: absolute;    top: 100%;    left: 0;    min-width: 180px;    background-color: #ffffff;    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);    border: 1px solid #e2e5e8;    border-radius: 4px;    list-style: none;    margin: 0;    padding: 0;    display: none;    z-index: 10000;    overflow: hidden;}.mate-desktop-nav .mate-menu li:hover > .sub-menu {    display: block;}/* PC 서브메뉴 항목 간 구분선 */.mate-desktop-nav .mate-menu .sub-menu li {    width: 100%;    border-bottom: 1px solid #eef0f2;}.mate-desktop-nav .mate-menu .sub-menu li:last-child {    border-bottom: none;}/* PC 2차 메뉴 글씨 굵게 및 여백 옵션 반영 */.mate-desktop-nav .mate-menu .sub-menu a {    display: block;    padding-top: var(--mate-pc-submenu-pad, 8px);    padding-bottom: var(--mate-pc-submenu-pad, 8px);    padding-left: 18px;    padding-right: 18px;    font-size: var(--mate-pc-submenu-size, 16px);    font-weight: 600;    color: #333333;    white-space: nowrap;    transition: background-color 0.2s ease, color 0.2s ease;}.mate-desktop-nav .mate-menu .sub-menu a:hover {    background-color: #f7f9fc;    color: var(--mate-menu-hover, #136ef7);}/* ==========================================================================   3. 모바일 햄버거 토글 버튼   ========================================================================== */.mate-mobile-toggle {    display: none;    background: transparent;    border: none;    cursor: pointer;    padding: 4px;    width: 32px;    height: 28px;    flex-direction: column;    justify-content: space-between;    align-items: center;    box-sizing: border-box;}.mate-mobile-toggle .bar {    width: 100%;    height: 2.5px;    background-color: var(--mate-menu-color, #222222);    border-radius: 2px;    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);}.mate-mobile-toggle.burger-style1.is-active .bar:nth-child(1) {    transform: translateY(8px) rotate(45deg);}.mate-mobile-toggle.burger-style1.is-active .bar:nth-child(2) {    opacity: 0;    transform: scaleX(0);}.mate-mobile-toggle.burger-style1.is-active .bar:nth-child(3) {    transform: translateY(-8px) rotate(-45deg);}.mate-mobile-toggle.burger-style2 {    justify-content: center;    gap: 7px;}.mate-mobile-toggle.burger-style2 .bar:nth-child(2) {    display: none;}.mate-mobile-toggle.burger-style2.is-active {    gap: 0;}.mate-mobile-toggle.burger-style2.is-active .bar:nth-child(1) {    transform: translateY(1.25px) rotate(45deg);}.mate-mobile-toggle.burger-style2.is-active .bar:nth-child(3) {    transform: translateY(-1.25px) rotate(-45deg);}.mate-header.burger-pos-right .mate-mobile-toggle.burger-style3 {    align-items: flex-end;}.mate-header.burger-pos-left .mate-mobile-toggle.burger-style3 {    align-items: flex-start;}.mate-mobile-toggle.burger-style3 .bar:nth-child(1) {    width: 100%;}.mate-mobile-toggle.burger-style3 .bar:nth-child(2) {    width: 72%;}.mate-mobile-toggle.burger-style3 .bar:nth-child(3) {    width: 48%;}.mate-mobile-toggle.burger-style3.is-active {    align-items: center !important;}.mate-mobile-toggle.burger-style3.is-active .bar:nth-child(1) {    width: 100% !important;    transform: translateY(8px) rotate(45deg);}.mate-mobile-toggle.burger-style3.is-active .bar:nth-child(2) {    opacity: 0;    transform: scaleX(0);}.mate-mobile-toggle.burger-style3.is-active .bar:nth-child(3) {    width: 100% !important;    transform: translateY(-8px) rotate(-45deg);}/* 3-1. 모바일 드롭다운 메뉴 */.mate-mobile-menu-wrap {    display: none;    width: 100%;    background-color: var(--mate-header-bg, #ffffff);    border-top: 1px solid var(--mate-header-border, #eaeaea);}.mate-mobile-menu-wrap.is-open {    display: block;    max-height: 600px;    overflow-y: auto;    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06);}.mate-mobile-menu {    list-style: none;    margin: 0;    padding: 0 15px;}.mate-mobile-menu li {    border-bottom: 1px solid #f2f2f2;}.mate-mobile-menu li:last-child {    border-bottom: none;}.mate-mobile-menu a {    display: flex;    align-items: center;    padding-top: var(--mate-mo-menu-pad, 14px);    padding-bottom: var(--mate-mo-menu-pad, 14px);    padding-left: 15px;    padding-right: 15px;    font-size: var(--mate-mo-menu-size, 16px);    font-weight: 600;    color: var(--mate-menu-color, #222222);    line-height: 1;}.mate-mobile-menu a:hover {    color: var(--mate-menu-hover, #136ef7);}/* 모바일 1차 메뉴 우측 + / - 토글 기호 (굵기 700) */.mate-mobile-menu li.menu-item-has-children > a {    justify-content: space-between;    cursor: pointer;}.mate-mobile-menu li.menu-item-has-children > a::after {    content: '+';    font-size: 20px;    font-weight: 700;    color: #444444;    margin-left: auto;    line-height: 1;}.mate-mobile-menu li.menu-item-has-children.is-open > a::after {    content: '-';    font-size: 22px;    font-weight: 700;    color: #222222;}/* 모바일 서브메뉴 박스 */.mate-mobile-menu .sub-menu {    list-style: none;    margin: 0;    padding: 0;    display: none;    background-color: #fafbfc;    border-top: 1px solid #f0f0f0;}.mate-mobile-menu li.menu-item-has-children.is-open > .sub-menu {    display: block;}.mate-mobile-menu .sub-menu li {    border-bottom: 1px solid #eeeeee;}.mate-mobile-menu .sub-menu li:last-child {    border-bottom: none;}/* 모바일 2차 메뉴 크기 및 여백 옵션 반영 */.mate-mobile-menu .sub-menu a {    font-size: var(--mate-mo-submenu-size, 14.5px);    font-weight: 600;    padding-top: var(--mate-mo-submenu-pad, 8px);    padding-bottom: var(--mate-mo-submenu-pad, 8px);    padding-left: 28px;    padding-right: 15px;    color: #222222;    line-height: 1.2;    display: flex;    align-items: center;}/* 서브메뉴 앞 굵은 하이픈 (-) 기호 */.mate-mobile-menu .sub-menu a::before {    content: '-';    margin-right: 10px;    font-size: 16px;    font-weight: 800;    color: #333333;}/* ==========================================================================   4. 본문 영역   ========================================================================== */.mate-main-content {    min-height: 60vh;    width: 100%;}/* ==========================================================================   5. 하단 푸터   ========================================================================== */.mate-footer {    background-color: var(--mate-footer-bg, #1588e0);    color: var(--mate-footer-color, #ffffff);    padding-top: var(--mate-pc-footer-pt, 30px);    padding-bottom: var(--mate-pc-footer-pb, 30px);    padding-left: 5px;    padding-right: 5px;    font-size: var(--mate-pc-footer-size, 13.5px);    line-height: var(--mate-footer-lh, 1.2);    box-sizing: border-box;}.mate-footer-inner {    max-width: var(--mate-site-width, 1140px);    margin: 0 auto;    text-align: center;}.mate-footer-lines p {    margin: 5px 0;}.mate-footer a {    color: inherit;    text-decoration: none !important;    cursor: pointer;}.mate-footer a:hover {    color: #ffffff;    text-decoration: none !important;}.mate-footer .copyright {    margin: 6px 0;    font-size: 0.92em;    opacity: 0.85;}/* ==========================================================================   6. 반응형 미디어 쿼리 (768px 이하 모바일)   ========================================================================== */@media (max-width: 768px) {    .mate-header-inner {        position: relative;        display: flex;        justify-content: center;        align-items: center;        padding-top: var(--mate-mo-header-pt, 10px);        padding-bottom: var(--mate-mo-header-pb, 10px);        padding-left: 5px;        padding-right: 5px;        min-height: 52px;    }    .mate-logo {        position: absolute;        left: 50%;        top: 50%;        transform: translate(-50%, -50%);        max-width: calc(100% - 90px);        margin: 0;        display: flex;        justify-content: center;        align-items: center;        text-align: center;        z-index: 10;    }    .mate-header.is-single-header .mate-logo {        max-width: calc(100% - 10px) !important;    }    .mate-logo a {        display: inline-flex;        justify-content: center;        align-items: center;    }    .mate-logo img {        width: auto !important;        height: var(--mate-mo-logo-height, 32px) !important;    }    .mate-desktop-nav {        display: none;    }        .mate-mobile-toggle {        display: flex;        position: absolute;        top: 50%;        transform: translateY(-50%);        z-index: 15;    }        .mate-header.burger-pos-right .mate-mobile-toggle {        right: 15px;        left: auto;    }    .mate-header.burger-pos-left .mate-mobile-toggle {        left: 15px;        right: auto;    }        .mate-mobile-menu-wrap {        display: none;    }        .mate-footer {        padding-top: var(--mate-mo-footer-pt, 20px);        padding-bottom: var(--mate-mo-footer-pb, 20px);        padding-left: 5px;        padding-right: 5px;        font-size: var(--mate-mo-footer-size, 13px);    }}