/*
Theme Name: Lectus Academy Theme
Theme URI: https://lectusacademy.com
Author: Lectus Team
Author URI: https://lectusacademy.com
Description: Professional WordPress theme for Lectus Class System - Online Education Platform with Tailwind CSS
Version: 2.37.2
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lectus-academy
Tags: education, lms, courses, e-learning, responsive, woocommerce, tailwind
*/

/* Tailwind CSS is loaded via style-tailwind.css */
/* NanumSquare font is loaded via CDN (nanumsquare.css) in functions.php */

/* Global font-family */
body {
    font-family: 'NanumSquare', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* iOS Safari 텍스트 자동확대(auto text inflation) 차단.
   iOS Safari는 특정 레이아웃에서 본문 텍스트를 모바일 zoom(#page{zoom:.75})과 독립적으로 부풀린다.
   → 고정 요소(상품 카드 카테고리 배지 등)에서 텍스트가 넘쳐 "터져" 보이는 원인.
   100%로 고정하면 저작 크기(=Figma 설계값)대로 렌더되어 Safari/Chrome 렌더가 수렴한다. */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* 스토어 상품 카드 hairline 보더 모바일 소실 방지 (v2.35.71).
   카드 보더는 Figma 스펙 0.67px(HW 0.643px)인데 모바일 #page{zoom:.75} 안에서는
   0.5px 서브픽셀이 되어 iOS Safari(WebKit)가 래스터 상태에 따라 그리지 않는다(간헐 소실).
   Chrome(Blink)은 자체적으로 1px로 스냅해 항상 보이므로, zoom 후 1.005px이 되는
   1.34px로 올려 두 엔진 렌더를 수렴시킨다(Chrome 시각 변화 없음). 데스크톱은 스펙 유지. */
@media (max-width: 767px) {
    .software-card-main .software-card-container,
    .hardware-card-main .hardware-card-container,
    .store-product-card .store-card-container {
        border-width: 1.34px;
    }
}

/* NanumSquare weight helpers for Tailwind arbitrary values */
.font-\[NanumSquare\:ExtraBold\],
.font-\[NanumSquare\:Bold\] {
    font-family: 'NanumSquare', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

.font-\[NanumSquare\:ExtraBold\] {
    font-weight: 800 !important;
}

.font-\[NanumSquare\:Bold\] {
    font-weight: 700 !important;
}

/* Course Intro Markdown Styles */
#overview-details a {
    color: #ed1c24;
    text-decoration: underline;
    transition: color 0.2s ease;
}

#overview-details a:hover {
    color: #b91f25;
}

/* User Dropdown Menu */
.user-dropdown-menu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s 0.2s;
}

.user-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.2s ease, transform 0.2s ease;
    display: block !important;
}

/* Custom Logo Styles */
.site-branding {
    display: flex;
    align-items: center;
}

.site-branding .site-logo {
    display: block;
    width: 100%;
    max-width: 160px;
}

.site-branding .custom-logo {
    width: 100%;
    height: auto;
    max-height: 48px;
    object-fit: contain;
    display: block;
}

/* Responsive logo sizing */
@media (max-width: 640px) {
    .site-branding {
        width: 128px;
    }

    .site-branding .custom-logo {
        max-height: 40px;
    }
}

@media (min-width: 640px) {
    .site-branding {
        width: 160px;
    }

    .site-branding .custom-logo {
        max-height: 48px;
    }
}