@charset "utf-8";


.alanb-wide-container { width: 100%; font-family: 'Pretendard', -apple-system, sans-serif; color: #333; background-color: #fff; }

/* [1] 히어로 섹션 */
.alanb-hero-section {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    min-height: 550px;
    padding: 60px 20px;
}
.alanb-hero-inner { width: calc(100% - 40px); margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; }
.alanb-main-book-wrap { width: 340px; max-width: 80%; margin: 40px auto; }
.alanb-book-image { width: 100%; aspect-ratio: 1 / 1.45; background-color: #fff; box-shadow: 40px 40px 80px rgba(0, 0, 0, 0.6); border-radius: 4px 20px 20px 4px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.alanb-book-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.alanb-hero-title { color: #fff; text-shadow: 0 4px 15px rgba(0, 0, 0, 0.5); line-height:1.6;}
.alanb-hero-title .tt1 { font-size: 26px; font-weight: 400; opacity: 0.9; margin: 0; }
.alanb-hero-title .tt2 { font-size: 36px; font-weight: 800; word-break: keep-all; margin: 0; }
.alanb-hero-text { color: #fff; font-size: 18px; font-weight: 600; opacity: 0.8; margin: 0; }

/* [2] 메인 카드 (모바일 기본) */
.alanb-content-wrap { width: 100%; margin: 0 auto; position: relative; z-index: 10; }
.alanb-main-card { background: #fff; padding: 45px 25px; box-shadow: 0 30px 70px rgba(0, 0, 0, 0.1); border-radius: 0; }
.alanb-release-header { text-align: center; margin-bottom: 45px; }
.alanb-release-label { display: inline-block; background: #111; color: #fff; padding: 5px 14px; border-radius: 999px; font-size: 13px; font-weight: 800; margin-bottom: 20px; }
.alanb-release-date { font-size: 24px; font-weight: 800; color: #1a1a1a; letter-spacing: -0.8px; }
.alanb-action-area { text-align: center; margin-bottom: 60px; }
.alanb-btn-primary a { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 50px; background: #EB217C; color: #fff !important; text-decoration: none; border-radius: 12px; font-size: 16px; font-weight: 500; }
.alanb-detail-article { margin-bottom: 60px; }
.alanb-para-highlight { font-size: 22px; font-weight: 800; color: #1a1a1a; line-height: 1.45; margin-bottom: 35px; word-break: keep-all; }
.alanb-detail-text p { font-size: 20px; color: #444; line-height: 1.5; margin-bottom: 20px; word-break: keep-all; }

.alanb2-books-panorama {display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 44px; width: 100%;}
.alanb2-book-item {display: flex; justify-content: center;}

.alanb2-book-cover { width: 100%; aspect-ratio: 1 / 1.45; border-radius: 3px 12px 12px 3px; overflow: hidden; box-shadow: 10px 14px 36px rgba(0, 0, 0, 0.7); position: relative; background: #222;}
.alanb2-book-cover img {width: 100%; height: 100%; object-fit: cover; display: block;}
.alanb2-book-cover::before { content: ''; position: absolute; top: 0; left: 4px; width: 2px; height: 100%; background: rgba(255, 255, 255, 0.12); z-index: 1; pointer-events: none;}

.alanb2-quotes-section {margin-bottom: 60px;}
.alanb2-quotes-title {font-size: 20px; font-weight: 800; color: #1a1a1a; margin-bottom: 25px; border-bottom: 2px solid #333; display: inline-block; padding-bottom: 5px;}
.alanb2-quotes-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
.alanb2-quote-item {background: #f7f7f5; border-radius: 16px; padding: 20px 20px 16px; display: flex; flex-direction: column; gap: 10px; position: relative;}
.alanb2-quote-item::before {content: '\201C'; position: absolute; top: 10px; right: 16px; font-size: 52px; font-weight: 900; color: #EB217C; opacity: 0.12; line-height: 1; pointer-events: none; font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif!important;}
.alanb2-quote-text {font-size: 14px; font-weight: 700; color: #1a1a1a; line-height: 1.55; word-break: keep-all; padding-right: 24px;}
.alanb2-quote-source {font-size: 12px; color: #999; font-weight: 500; padding-top: 8px; border-top: 1px solid #ebebeb;}


/* 모바일: 3권일 때 마지막 책 중앙 배치 */
.alanb2-books-panorama:has(.alanb2-book-item:nth-child(3):last-child) .alanb2-book-item:last-child {
    grid-column: 1 / -1;
    max-width: 50%;
    margin: 0 auto;
}

/* [3] 만든 사람들 */
.alanb-collab-section { margin-top: 80px; }
.alanb-collab-section2 { width:90%; margin:0 auto }
.alanb-collab-title { font-size: 20px; font-weight: 800; color: #1a1a1a; margin-bottom: 25px; border-bottom: 2px solid #333; display: inline-block; padding-bottom: 5px; }
.alanb-profile-list { display: flex; flex-direction: column; gap: 30px; }
.alanb-profile-card { padding: 25px 20px; background: #f9f9f9; border-radius: 25px; border: 1px solid #eee; }
.alanb-profile-top { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; margin-bottom: 20px; }
.alanb-avatar { width: 75px; height: 75px; background: #e2e8f0; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.alanb-avatar img { width: 100%; height: 100%; object-fit: cover; }
.alanb-role-tag { display: inline-block; font-size: 12px; font-weight: 700; color: #3b82f6; background: #eff6ff; padding: 2px 8px; border-radius: 4px; margin-bottom: 6px; margin-right:5px; }
.alanb-author-name { font-size: 19px; font-weight: 800; margin-bottom: 10px; }
.alanb-author-btns { display: flex; gap: 8px; justify-content: center; }
.alanb-btn-sub { padding: 6px 14px; font-size: 13px; font-weight: 600; background: #fff; border: 1px solid #d1d5db; border-radius: 8px; cursor: pointer; }
.alanb-profile-bottom { border-top: 1px solid #e5e7eb; padding-top: 20px; }
.alanb-author-long-desc { font-size: 15px; color: #666; line-height: 1.7; word-break: keep-all; }
 
/* [4] 이벤트 섹션 */
.alanb-event-wrap{width:100%; background-color: #f2f2f2; position: relative; padding:45px 0;}
.alanb-event-container { width:calc(100% - 40px); margin: 0 auto;}
.alanb-event-card { margin: 0 auto; background: #fff; border-radius: 25px; padding: 60px 20px; text-align: center; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05); }
.alanb-event-tag { display: inline-block; font-size: 16px; font-weight: 900; color: #1a1a1a; border-bottom: 3px solid #1a1a1a; margin-bottom: 20px; }
.alanb-event-main-title { font-size: 22px; font-weight: 500; line-height: 1.5; color: #111; margin-bottom: 30px; word-break: keep-all; }
.alanb-event-main-title strong { color: #EB217C; font-weight: 800; }
.alanb-event-info { text-align: left; background: #fcfcfc; border: 1px solid #eee; padding: 20px; border-radius: 20px; margin-bottom: 40px; }
.alanb-info-list { list-style: none; padding: 0; margin: 0; }
.alanb-info-list li { position: relative; font-size: 15px; line-height: 1.8; color: #555; padding-left: 10px; }
.alanb-info-list li::before { content: '*'; position: absolute; left: 0; color: #ccc; }

.alanb-btn-solid {display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 50px; background: #EB217C !important; color: #fff !important; text-decoration: none; border-radius: 12px; font-size: 16px; font-weight: 500; }
.alanb-btn-solid a{color: #EB217C!important;}

.alanb-btn-outline { display: inline-block; width: 80%; margin: 5px auto; padding: 15px 0; background-color: #EB217C; border-radius: 12px; text-decoration: none; color: #fff!important; font-size: 15px; font-weight: 700; }
.alanb-btn-outline a{color: #fff!important;}

/* 저자파일, 신간알림버튼 추가버전 */
.alanb-alarm-section { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding:24px 20px; }
.alanb-alarm-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 24px; border-radius:50px; font-size:14px; font-weight:600; white-space:nowrap; cursor:pointer; }
.alanb-alarm-btn:only-child { width:100%; height:50px; padding:0; border-radius:12px; font-size:16px; font-weight:500; }
.alanb-alarm-btn--primary { background:#EB217C; border:1px solid #EB217C; color:#fff; }
.alanb-alarm-btn--primary:only-child a, .alanb-alarm-btn--primary:only-child a:link, .alanb-alarm-btn--primary:only-child a:visited { display:inline-flex; align-items:center; justify-content:center; width:100%; height:100%; color:#fff !important; text-decoration:none !important; font-size:16px; font-weight:500; }
.alanb-alarm-btn--primary a, .alanb-alarm-btn--primary a:link, .alanb-alarm-btn--primary a:visited { color:#fff !important; text-decoration:none !important; }
.alanb-alarm-btn--file { background:#fff; border:1px solid #ccc; color:#333; text-decoration:none; }
.alanb-alarm-btn--file, .alanb-alarm-btn--file:link, .alanb-alarm-btn--file:visited { color:#333 !important; text-decoration:none !important; }



/* PC 대응 */
@media screen and (min-width: 750px) {
    .alanb-hero-section { min-height: 750px; padding: 80px 0 230px; } 
    .alanb-hero-title .tt1 { font-size: 28px; margin:0;}
    .alanb-hero-title .tt2 { font-size: 56px; }
    .alanb-hero-text{margin:0;}
    .alanb-main-book-wrap { width: 340px; }

    .alanb-content-wrap {max-width: 750px; margin: -130px auto 120px;}
    .alanb-main-card {border-radius: 40px; padding: 80px 60px; box-shadow: 0 30px 70px rgba(0, 0, 0, 0.15);}
    .alanb-release-label {margin: 40px; }
    .alanb-detail-text p { text-align: justify; }
    
    .alanb-btn-primary {width: 285px; color: #fff !important; margin:0 auto; }

    /* 만든 사람들 가로 배치 */
    .alanb-collab-section { width:750px; margin:0 auto; }
    .alanb-collab-section2 { width:750px; margin:0 auto; }
    .alanb-profile-top { flex-direction: row; text-align: left; gap: 30px; flex-wrap: wrap;}
    .alanb-author-btns { justify-content: flex-start; }
    .alanb-profile-card { padding: 40px; }

    /* 이벤트 섹션 */
    .alanb-event-wrap{width:100%;}
    .alanb-event-container { padding: 150px 0; max-width: 750px; margin:0 auto;}
    .alanb-event-card { padding: 80px 60px; border-radius: 40px;}
    .alanb-event-main-title { font-size: 28px; }
    .alanb-btn-outline { width: auto; padding: 15px 50px; margin: 10px; }
    .alanb-event-info { padding: 20px 60px; border-radius: 20px; margin-bottom: 40px; }

    .monly_basic_event{padding:0; width:auto;}

    /* 책 그리드 ? PC 4열 1행 */
    .alanb2-books-panorama {grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 52px; width:1200px;}

    .alanb-release-label {margin: 0px; }
    .alanb-detail-text p { text-align: justify; }
    .alanb-btn-primary {width: 285px; color: #fff !important; margin:0 auto; }
 
    .alanb-btn-solid { display: inline-block; width: 80%; margin: 5px auto; padding: 15px 0; background-color: #EB217C; border-radius: 12px; text-decoration: none; color: #fff!important; font-size: 15px; font-weight: 700; }
    .alanb-btn-solid a{color: #fff!important;}
    
    /* 여러 권: 실제 책 수 자동 감지 */
    .alanb2-books-panorama:has(.alanb2-book-item:nth-child(2):last-child) {
        grid-template-columns: repeat(2, 1fr);
        width: 640px;
        max-width: 100%;
    }
    .alanb2-books-panorama:has(.alanb2-book-item:nth-child(3):last-child) {
        grid-template-columns: repeat(3, 1fr);
        width: 960px;
        max-width: 100%;
    }
    .alanb2-books-panorama:has(.alanb2-book-item:nth-child(3):last-child) .alanb2-book-item:last-child {
        grid-column: auto;
        max-width: 100%;
        margin: 0;
    }
    /* 4권은 위 .alanb2-books-panorama { repeat(4, 1fr); width:1200px; } 그대로 */



    /* 저자파일, 신간알림버튼 추가버전 */
    .alanb-alarm-section { padding:32px 40px; gap:12px; }
    .alanb-alarm-btn { padding:11px 28px; font-size:15px; }
    .alanb-alarm-btn:only-child { width:100%; max-width:285px; height:50px; padding:0; border-radius:12px; font-size:16px; font-weight:500; }
    .alanb-alarm-btn--primary:only-child a, .alanb-alarm-btn--primary:only-child a:link, .alanb-alarm-btn--primary:only-child a:visited { display:inline-flex; align-items:center; justify-content:center; width:100%; height:100%; color:#fff !important; text-decoration:none !important; font-size:16px; font-weight:500; }
}