.unified-quick.vertical-quick-bar{position:fixed!important;right:10px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;display:flex!important;flex-direction:column!important;gap:7px!important;padding:10px 5px!important;width:auto!important;background:rgba(255,253,247,.96)!important;border:1px solid #ddd9cd!important;border-radius:42px!important;box-shadow:0 5px 24px #34463319!important;z-index:900!important}
.unified-quick .vq-btn{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;width:44px!important;height:46px!important;padding:0!important;border-radius:50%!important;font:10px/1.15 Pretendard,sans-serif!important;color:#536b51!important;text-decoration:none!important;background:transparent!important;border:0!important}
.unified-quick .vq-btn:hover,.unified-quick .vq-btn:focus-visible{background:#e8eedd!important;outline:2px solid #758e67;outline-offset:1px}
.unified-quick .vq-icon{font:19px/1 Pretendard,sans-serif!important;display:block!important;margin:0!important}
.unified-quick .vq-divider{height:1px!important;background:#deded2!important;width:36px!important;margin:3px auto!important}
.unified-quick .vq-top{gap:0!important}.unified-quick .vq-top .vq-icon{font-size:23px!important;line-height:22px!important}
#mobileFabBtn{display:none!important}
.app-card-visual{margin:0 0 18px!important;aspect-ratio:16/10;background:#eeece5;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.app-card-visual img{width:100%;height:100%;object-fit:contain!important}.image-empty{background:#eeece5;min-height:150px}
.app-cover-section{padding:36px 0 0}.app-representative{margin:0;background:#eeece5;border:1px solid #ddd9cd;border-radius:16px;overflow:hidden;min-height:180px}.app-representative img{display:block;width:100%;max-height:620px;object-fit:contain}.app-summary{display:block!important;max-width:900px}.app-hero{padding:32px 0!important}.app-price-section{padding:48px 0}.app-price-section .dl-box{max-width:800px;margin-inline:auto}.main-screen-box img{height:auto!important;max-height:680px!important;object-fit:contain!important}.thumb-row img{object-fit:contain!important}
.stage-media-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin:24px 0}.stage-media-pair figure{margin:0!important;width:100%!important;max-width:none!important}.stage-media-pair img{width:100%;height:auto;object-fit:contain}.stage-media-pair .paper-scene{padding:0!important}.slide-showcase{max-width:none!important}.slide-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.slide-crop{position:relative;overflow:hidden;aspect-ratio:900/507;background:#171a25;border-radius:8px}.slide-crop img{position:absolute;left:0;top:0;width:100%!important;height:auto!important;max-height:none!important;display:block!important;border-radius:0!important}.slide-second{aspect-ratio:900/506}.slide-second img{transform:translateY(-51.158301%)}
.flow-cover.infographic-thumb{background:#17252b}.flow-cover.infographic-thumb img{object-fit:contain!important;width:100%;height:100%}
.orev-hero-screen{margin:0;min-width:0;align-self:center}.orev-hero-screen img{width:100%;height:auto;display:block;border:1px solid #d8ddcf;border-radius:12px;box-shadow:0 12px 30px #34463317}.orev-hero-screen figcaption{font-size:12px;line-height:1.6;color:#687560;margin-top:9px}.pipeline-steps{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:28px 0}.pipeline-steps span{background:#e7eddf;border-radius:9px;padding:14px 19px;font-weight:700;color:#476444}.pipeline-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}.pipeline-cards article,.pipeline-intro{padding:24px;background:#f3f4eb;border:1px solid #dce1d0;border-radius:12px}.pipeline-cards h3,.pipeline-intro h3{margin:0 0 12px}.pipeline-cards p,.pipeline-intro p{margin:0;line-height:1.8}.pipeline-intro{margin:24px 0}.pipeline-intro a{display:inline-block;margin-top:14px}#pipeline .hero-motion{max-width:960px;margin:36px auto 0}.lecture-proof-caption{white-space:nowrap!important;max-width:100%!important;overflow-x:auto;font-size:clamp(11px,1vw,14px)!important}
@media(max-width:1100px){.unified-quick.vertical-quick-bar{right:8px!important}.wrap{max-width:calc(100% - 106px)}}
@media(max-width:768px){.wrap{max-width:100%}.unified-quick.vertical-quick-bar{display:none!important;top:auto!important;bottom:86px!important;right:16px!important;transform:none!important}.unified-quick.vertical-quick-bar.mobile-open{display:flex!important}#mobileFabBtn{display:flex!important;position:fixed!important;bottom:22px!important;right:18px!important;align-items:center!important;justify-content:center!important;width:54px!important;height:54px!important;padding:0!important;border:1px solid #d3dbc8!important;background:#536d49!important;color:#fff!important;border-radius:50%!important;z-index:901!important;font-size:24px!important}.stage-media-pair{gap:12px}.slide-pair{gap:8px}.pipeline-cards{grid-template-columns:1fr}.pipeline-steps{gap:8px}.pipeline-steps span{padding:10px 12px;font-size:13px}.app-cover-section{padding-top:20px}.app-representative img{max-height:460px}}

/* Brand ribbon emblem, supplied original asset without edits. */
.brand .logo-icon{width:76px!important;height:56px!important;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;flex-shrink:0}
.brand .logo-icon img{width:76px!important;height:76px!important;max-width:none!important;object-fit:contain!important;display:block}
@media(max-width:768px){.brand .logo-icon{width:64px!important;height:50px!important}.brand .logo-icon img{width:64px!important;height:64px!important}}

/* Sidebar labels match the top menu; long labels stay inside the circles. */
.unified-quick .vq-btn>span:not(.vq-icon){font-size:9.5px!important;line-height:1.15!important;max-width:42px!important;text-align:center!important;word-break:keep-all}

@media(max-width:768px){
.stage-media-pair{grid-template-columns:1fr!important;gap:16px!important}
.stage-media-pair figure{width:100%!important;margin:0!important}
.stage-media-pair img{width:100%!important;height:auto!important;max-height:360px!important}
.promise-card,.flow-card{padding:20px 16px!important}
}

/* 설교플로우: 아홉 단계 3×3 그리드 (PC & 모바일 동일 3열 3행) */
.flow-3x3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}
.flow-3x3::before {
  display: none !important;
}
.flow-3x3 li {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-family: var(--serif, serif) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  gap: 8px !important;
  padding: 14px 10px !important;
  background: #ffffff !important;
  border: 1px solid var(--line, #e2ddcf) !important;
  border-radius: var(--radius-lg, 16px) !important;
  box-shadow: 0 4px 12px rgba(51, 47, 42, 0.03) !important;
  box-sizing: border-box !important;
}
.flow-3x3 li > span {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: var(--sprout-tx, #456236) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  border: 3px solid var(--bg, #fbfaf7) !important;
}
.flow-3x3 li.own {
  color: #7A5215 !important;
  background: #FFFDF8 !important;
  border-color: #E2CCA6 !important;
}
.flow-3x3 li.own > span {
  background: #C98A2B !important;
  font-size: 17px !important;
}
@media (max-width: 600px) {
  .flow-3x3 {
    gap: 8px !important;
  }
  .flow-3x3 li {
    font-size: 13.5px !important;
    padding: 10px 4px !important;
    gap: 6px !important;
    border-radius: 10px !important;
  }
  .flow-3x3 li > span {
    width: 34px !important;
    height: 34px !important;
    font-size: 14px !important;
    border-width: 2px !important;
  }
}

/* 카드 상하단 여백 50% 축소 및 제목 앞 아이콘 인라인 배치 (PC & 모바일 공통) */
.card:not(.flow-card) {
  padding: 14px 20px !important;
}
.card:not(.flow-card) h3 {
  font-size: 18.5px !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.35 !important;
}
.card:not(.flow-card) .ico {
  font-size: 21px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}
.card:not(.flow-card) p {
  margin: 0 !important;
  color: var(--sub, #6b635b) !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}
@media (max-width: 600px) {
  .card:not(.flow-card) {
    padding: 12px 16px !important;
  }
  .card:not(.flow-card) h3 {
    font-size: 17px !important;
    gap: 6px !important;
  }
  .card:not(.flow-card) .ico {
    font-size: 19px !important;
  }
}

/* 사역도구: 카테고리 탭 모바일 한 줄 보장 */
@media (max-width: 640px) {
  .tools-detail .tabs-bar {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-bottom: 24px !important;
  }
  .tools-detail .filter-tab {
    padding: 8px 14px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }
}

/* 강의상세: 안내 뱃지 2줄 및 탭 버튼 줄바꿈 배치 */
@media (max-width: 768px) {
  .course-format {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px 5px !important;
    margin: 16px 0 !important;
  }
  .course-format span {
    font-size: 11px !important;
    padding: 4px 7px !important;
    letter-spacing: -0.02em !important;
    white-space: nowrap !important;
    border-radius: 99px !important;
  }
  .course-format .course-time {
    font-size: 11px !important;
    padding: 4px 7px !important;
    font-weight: 800 !important;
  }
  .course-tabs .tab-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    padding: 8px 4px !important;
    min-height: 52px !important;
  }
  .course-tabs .tab-btn .t-step {
    font-size: 13px !important;
    display: block !important;
    margin: 0 !important;
  }
  .course-tabs .tab-btn .t-desc {
    font-size: 11px !important;
    font-weight: 600 !important;
    display: block !important;
    white-space: nowrap !important;
  }
}

/* 실제 소개 사진: 전체 화면과 원비율을 보존한다. */
.app-representative.actual-screen,.main-screen-box.actual-screen{display:block!important;aspect-ratio:auto!important;width:100%;max-width:900px;margin-inline:auto;min-height:0!important;max-height:none!important;height:auto!important;overflow:visible!important;background:#fff!important}
.app-representative.actual-screen img,.main-screen-box.actual-screen img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;transform:none!important}
.app-representative.mobile-screen,.main-screen-box.mobile-screen{max-width:280px!important}
.app-card-visual.actual-card{aspect-ratio:auto!important;height:auto!important;min-height:0!important;background:#fff!important;overflow:visible!important}
.app-card-visual.actual-card img{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.app-card-visual.mobile-card img{width:194px!important;margin-inline:auto}
body:has(.actual-screen) .thumb-btn{background:#fff}
.collage-image img[src*="낮은꼬들_2_판"]{object-fit:contain!important;background:#fff}
@media(max-width:768px){.app-representative.mobile-screen,.main-screen-box.mobile-screen{max-width:260px!important}}

.app-packages{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:20px auto}.app-packages>div{flex:1 1 220px;max-width:340px;background:#fff;border:1px solid #dce3d7;border-radius:12px;padding:16px}.app-packages p{font-size:14px}.app-packages button{width:100%;min-height:44px;border:1px solid #dce3d7;border-radius:8px;background:#eef2e7;color:#5c6e52}
/* 같은 폭의 카드에는 같은 높이의 이미지 영역을 사용한다. */
.app-card-visual,.app-card-visual.actual-card{position:relative!important;aspect-ratio:16/10!important;height:auto!important;min-height:0!important;padding:0!important;overflow:hidden!important;background:#f7f8f2!important}
.app-card-visual img,.app-card-visual.actual-card img,.app-card-visual.mobile-card img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;margin:0!important}
.app-representative.mobile-screen,.main-screen-box.mobile-screen{position:relative!important;aspect-ratio:16/10!important;max-width:900px!important;width:100%!important;height:auto!important;overflow:hidden!important;background:#f7f8f2!important}
.app-representative.mobile-screen img,.main-screen-box.mobile-screen img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;max-height:100%!important}
.app-packages button:not(:disabled){background:#507746;color:#fff;cursor:pointer}.app-packages button:disabled{opacity:.65}

#dlBtn[hidden]{display:none!important}
.app-card.is-monthly-free{border:4px solid #2878df!important;box-shadow:0 5px 22px #2878df20}
.monthly-free-label{display:inline-block;margin:12px 0 2px;padding:5px 12px;border-radius:6px;background:#2878df;color:#fff;font-size:13px;font-weight:800}
.download-help{margin:16px 0 0;padding:14px;border:1px solid #dddcd1;border-radius:12px;background:#f7f7f1;text-align:left}
.download-help h3{margin:0 0 4px;font-size:16px}
.download-help .download-help__hint{margin:0 0 12px;font-size:12px;line-height:1.6;color:#64655c}
.download-help__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.download-help__card{margin:0;min-width:0;padding:8px;border:1px solid #e4e4db;border-radius:9px;background:white}
.download-help__zoom{display:block;width:100%;height:120px;padding:4px;border:0;border-radius:5px;background:#eeeee8;cursor:zoom-in}
.download-help__zoom img{display:block;width:100%;height:100%;object-fit:contain}
.download-help__card figcaption{margin-top:8px;font-size:12px;line-height:1.65;color:#42483d;text-align:left}
.download-help-viewer{width:fit-content;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);box-sizing:border-box;padding:12px;border:0;border-radius:12px;overflow:auto;background:#fff}
.download-help-viewer::backdrop{background:#172018b8}
.download-help-viewer__bar{display:flex;justify-content:flex-end;margin-bottom:8px}
.download-help-viewer__bar button{min-height:40px;padding:6px 15px;border:1px solid #ddd;border-radius:7px;background:#fff;cursor:pointer}
.download-help-viewer>img{display:block;max-width:100%;width:auto;height:auto;max-height:72dvh;object-fit:contain;margin:auto}
.download-help-viewer>p{margin:10px 0 0;font-size:14px;line-height:1.6}
@media(max-width:600px){.download-help{padding:10px}.download-help__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.download-help__zoom{height:100px}}
/* 강의·세미나 메뉴: 작은 화면의 스크롤 내비게이션이 문서 폭을 늘리지 않게 합니다. */
@media (max-width:768px){header .top-in nav.main-nav{width:100%!important;max-width:100%!important;min-width:0;margin-left:0!important;margin-right:0!important}}
@media (min-width:769px) and (max-width:960px){header .top-in{height:auto;min-height:68px;gap:12px}header .top-in .brand{flex-shrink:0}header .top-in nav.main-nav{min-width:0;flex-wrap:wrap;justify-content:flex-end}}
