/*
Theme Name: Hello Elementor Child V2
Theme URI: https://bowrex.com
Description: bowrex redesign test theme
Author: Kims 3D Marine Co.
Author URI: https://kims3d.com
Template: hello-elementor
Version: 4.0
*/

/* =========================================================
   GLOBAL FONT — PLUS JAKARTA SANS
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

html,
body {
    margin: 0;
    padding: 0;
    background: #0a0f1c;
    color: #e8ecf5;

    font-family: 'Plus Jakarta Sans',
                 -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 system-ui,
                 sans-serif;

    font-weight: 400;
    letter-spacing: -0.01em;   /* 살짝 더 고급스럽게 */
}


#page,
.site,
#content {
    background: #0a0f1c;
}

/* Hello Elementor 기본 헤더는 사용 안 함 */
.site-header {
    display: none !important;
}

/* 레이아웃 – footer를 항상 아래쪽으로 */
#page.site {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.site-main {
    flex: 1 0 auto;
}

/* 기본 링크 색 */
a {
    color: #8cc8ff;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

/* =========================================
   1. bowrex 헤더 (모든 페이지 공통)
   ========================================= */

.home-custom-header {
    background-color: #050814;
    padding: 14px 20px 20px;
}

.home-custom-header-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* 로고 줄 */
.home-header-top {
    display: flex;
    align-items: center;
    justify-content: center;
}



/* 메뉴 줄 */
.home-main-nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
}

.home-main-nav a {
    color: #ffffff;
    padding: 4px 10px;
    font-weight: 500;
    font-size: 16px;
    border-bottom: 2px solid transparent;
    transition: 0.2s;
    text-decoration: none;
}

/* hover */
.home-main-nav a:hover {
    color: #ffe14a;
    border-bottom-color: #3dbdf5;
}

/* 현재 페이지 표시 */
.home-main-nav a.active-menu {
    color: #ffd900;
    font-weight: 600;
}

/* PC 메뉴 */
@media (min-width: 1024px) {
    .home-main-nav a {
        font-size: 18px;
        padding: 6px 14px;
    }
}

/* 모바일 메뉴 */
@media (max-width: 768px) {
    .home-custom-logo {
        height: 80px;
    }
    .home-main-nav {
        gap: 10px 14px;
    }
    .home-main-nav a {
        font-size: 13px;
        padding: 4px 8px;
    }
}

/* =========================================
   2. HOME 메인 콘텐츠 (슬라이더 + 텍스트 + 사진)
   ========================================= */

.home-main {
    padding: 0 0 30px;
}

/* 슬라이더 영역 */
.home-hero {
    padding: 0 16px 24px;
    margin-top: 0 !important;
}

.home-hero-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.home-slider {
    position: relative;
    overflow: hidden;
    background: #020712;
    border-radius: 18px;
}

/* 슬라이더 이미지 */
.home-slider img {
    width: 100%;
    height: auto;
    display: block;
}

/* 슬라이드 페이드 전환 */
.slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s ease-in-out;
}
.slide.is-active {
    opacity: 1;
    position: relative;
}

/* 중간 텍스트 영역 */
.home-text-block {
    padding: 36px 16px 20px;
}

.home-text-inner {
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.7;
}

.home-text-inner h2 {
    margin: 0 0 16px;
    font-size: 1.9rem;
    color: #ffffff;
}

.home-text-inner p {
    margin: 0 0 10px;
    font-size: 1rem;
    opacity: 0.9;
}

/* 아래 포토 섹션 */
.home-bottom-photo {
    padding: 24px 16px 40px;
    background: #0a1426;
}

.home-bottom-inner {
    max-width: 900px;
    margin: 0 auto;
}

.home-bottom-inner h3 {
    margin: 0 0 16px;
    font-size: 1.4rem;
    color: #ffffff;
}

.home-bottom-image-wrap {
    background: #020712;
    padding: 12px;
    border-radius: 18px;
}

.home-bottom-image-wrap img {
    width: 100%;
    border-radius: 12px;
    display: block;
}

/* =========================================
   3. FOOTER (모든 페이지 공통)
   ========================================= */

.home-footer {
    flex-shrink: 0;
    background-color: #020816;
    color: #e8ecf5;
    padding: 18px 24px 20px;
    font-size: 0.95rem;
}

.single-line-footer,
.contact-footer {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

/* 위쪽 줄 */
.single-line-footer {
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 500;
}

/* 아래 연락처 줄 */
.contact-footer {
    font-size: 0.9rem;
}

.footer-right {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

/* 브랜드 로고 */
.footer-left {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.brand-kims,
.brand-text-right {
    font-size: 16px;
    font-weight: 700;
}

.brand-3d-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
    margin-bottom: 2px;
}

.brand-3d {
    font-size: 11px;
    font-weight: 700;
    position: relative;
    top: -4px;
    color: #e8ecf5;
}

.brand-check {
    font-size: 14px;
    font-weight: 700;
    position: relative;
    top: -2px;
    color: #21c5ff;
}

/* footer 링크 */
.home-footer a {
    color: #8cc8ff;
}
.home-footer a:hover {
    text-decoration: underline;
}

/* 모바일 footer */
@media (max-width: 768px) {
    .single-line-footer {
        font-size: 12px;
    }
    .contact-footer {
        font-size: 0.85rem;
    }
    .footer-right {
        justify-content: center;
    }
}     /* Home 본문 텍스트 색상 */
.site-main.home-main {
    color: #e6e6e6; /* 밝은 회색/화이트 계열 */
}

/* 본문 제목들(H1/H2/H3 등)도 색상 보정 */
.site-main.home-main h1,
.site-main.home-main h2,
.site-main.home-main h3,
.site-main.home-main h4,
.site-main.home-main h5,
.site-main.home-main h6 {
    color: #ffffff !important;
}

/* ===========================
   FOOTER 강제 노출 / 기본 스타일
   =========================== */

/* 페이지 래퍼가 내용을 짤라먹지 않게 */
#page {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
}

/* 메인 내용 아래로 여유 공간 확보 */
.home-main {
    padding-bottom: 140px !important;
}

/* 어떤 footer 라도 무조건 표시 */
footer,
.home-footer,
.site-footer {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    width: 100% !important;
    margin: 40px auto 0 !important;
    padding: 18px 20px 22px !important;
    background-color: #020816 !important;
    color: #e8ecf5 !important;
    text-align: center;
    border-top: 2px solid #1a2740;
    box-sizing: border-box;
}

/* footer 안의 링크 색상 */
footer a,
.home-footer a,
.site-footer a {
    color: #8cc8ff !important;
    text-decoration: none;
}

footer a:hover,
.home-footer a:hover,
.site-footer a:hover {
    text-decoration: underline;
}
/* ===========================
   홈 페이지 아래 검은 박스 제거
   =========================== */

.home-bottom-photo,
.home-bottom-inner {
    background: none !important;
    background-color: transparent !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

.home-bottom-photo {
    padding-top: 20px !important;
}

.home-bottom-inner {
    padding: 0 !important;
}

.home-bottom-image-wrap {
    margin-bottom: 0 !important;
}

.home-main {
    padding-bottom: 60px !important; /* footer와 자연스럽게 연결 */
}
/* ===========================
   사진 아래의 빈 공간 완전 제거
   =========================== */

.home-bottom-photo {
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
}

.home-bottom-inner {
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
}

.home-bottom-image-wrap {
    margin: 0 !important;
    padding: 0 !important;
}

.home-main {
    padding: 0 !important;
    margin-bottom: 0 !important;
}

/* =======================================
   Geometry Page ONLY
   ======================================= */

.geometry-main {
    padding-top: 40px;
    padding-bottom: 60px;
}

/* 전체 레이아웃(좌 텍스트 / 우 3D뷰어) */
.geometry-layout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* 데스크탑에서는 2열 그리드 */
@media (min-width: 992px) {
    .geometry-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr);
        align-items: stretch;
    }
}

/* 왼쪽 텍스트 영역 */
.geometry-text h1 {
    margin: 0 0 12px;
    font-size: 2rem;
    color: #ffffff;
}

.geometry-lead {
    margin: 0 0 8px;
    font-size: 1rem;
    line-height: 1.7;
    opacity: 0.95;
}

.geometry-note {
    margin-top: 14px;
    font-size: 0.9rem;
    opacity: 0.8;
}

/* 오른쪽 iframe 박스 */
.geometry-iframe-wrap {
    background: #001a33;
    border-radius: 12px;
    padding: 10px;
    box-sizing: border-box;
    min-height: 360px;
}

/* 3D 뷰어 iframe */
.geometry-iframe-wrap iframe {
    width: 100%;
    height: 70vh;          /* 화면 70% 높이 */
    min-height: 360px;
    border: none;
    border-radius: 10px;
    display: block;
}
/* Geometry fullscreen viewer */
.geometry-fullscreen {
    padding: 0;
    margin: 0;
}

/* iframe을 header~footer 사이 전체 화면으로 확장 */
.viewer-iframe {
    display: block;
    width: 100%;
    height: calc(100vh - 160px); 
    border: none;
}

/*
※ 높이 계산 설명
100vh = 전체 화면 높이
160px = header + footer 높이 추정값
필요하면 조정 가능:
140px / 150px / 180px 등으로 맞출 수 있음
*/

.custom-fullscreen {
    padding: 0;
    margin: 0;
}
/* =========================================================
   FOOTAGE PAGE – 썸네일 + 텍스트 카드 리스트
   (page-footage.php)
   ========================================================= */

.footage-main {
    padding: 40px 16px 60px;
}

.footage-intro {
    max-width: 900px;
    margin: 0 auto 24px;
}

.footage-intro h1 {
    margin: 0 0 12px;
    font-size: 1.9rem;
    color: #ffffff;
}

.footage-intro-text {
    margin: 0;
    font-size: 0.96rem;
    color: #cfd8ea;
    line-height: 1.6;
}

/* 카드 전체 리스트 – 세로로 쭉 */
.footage-list {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* 카드 한 개 (썸네일 + 텍스트) */
.footage-item {
    display: flex;
    gap: 12px;
    padding: 10px 12px;
    background: #101828;
    border-radius: 14px;
    box-shadow: 0 12px 24px rgba(0,0,0,0.45);
}

/* 썸네일 영역 */
.footage-thumb-link {
    flex: 0 0 140px;
    max-width: 140px;
}

.footage-thumb {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
}

.footage-thumb.placeholder {
    width: 100%;
    padding: 40px 0;
    text-align: center;
    color: #6c7a92;
    font-size: 0.9rem;
    border-radius: 10px;
    background: #1b2435;
}

/* 텍스트 영역 */
.footage-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.footage-title {
    margin: 0;
    font-size: 1.05rem;
    color: #ffffff;
}

.footage-meta {
    font-size: 0.8rem;
    color: #8ea1c4;
}

.footage-excerpt {
    font-size: 0.9rem;
    color: #c1cee6;
}

/* 모바일일 때는 썸네일 위, 텍스트 아래로 */
@media (max-width: 768px) {
    .footage-item {
        flex-direction: column;
    }

    .footage-thumb-link {
        flex: 0 0 auto;
        max-width: 100%;
    }

    .footage-thumb {
        width: 100%;
    }
}
/* =========================================
   FOOTAGE 단일 글 페이지 (깨끗하게)
   - 사진 클릭해서 들어간 화면
   ========================================= */

/* 제목 스타일 */
body.single-post.category-footage .entry-title {
    margin: 24px 0 12px;
    text-align: center;
    color: #ffffff;
    font-size: 1.6rem;
}

/* 본문(내용) 정리 */
body.single-post.category-footage .entry-content {
    max-width: 900px;
    margin: 0 auto 40px;
    font-size: 0.98rem;
    color: #e0e8ff;
    line-height: 1.7;
}

/* 대표 이미지(썸네일) 가운데 정렬 + 모서리 둥글게 */
body.single-post.category-footage .post-thumbnail img {
    display: block;
    margin: 0 auto 20px;
    border-radius: 12px;
}

/* 날짜·작성자 같은 메타 정보 숨김 */
body.single-post.category-footage .entry-meta {
    display: none;
}

/* 댓글 영역(Leave a Reply 등) 완전히 숨김 */
body.single-post.category-footage .comments-area,
body.single-post.category-footage #comments {
    display: none;
}
/* ===========================
   Footage 단일 글 페이지 스타일
   =========================== */
.footage-single-main {
    padding: 40px 16px 60px;
}

.footage-single-inner {
    max-width: 900px;
    margin: 0 auto;
}

.footage-single-title {
    text-align: center;
    color: #ffffff;
    margin-bottom: 8px;
    font-size: 1.7rem;
}

.footage-single-date {
    text-align: center;
    font-size: 0.9rem;
    opacity: 0.7;
    margin-bottom: 20px;
}

.footage-single-thumb img {
    display: block;
    margin: 0 auto 20px;
    border-radius: 14px;
}

.footage-single-content {
    font-size: 0.98rem;
    line-height: 1.7;
    color: #e0e8ff;
}
/* Fix footage date color */
.footage-date {
    color: #fff000 !important;
    opacity: 1 !important;
}
/* ==========================
   Footage 단일 페이지 날짜 색
   ========================== */
.footage-single-date {
    color: #fff000 !important;   /* 노란색 */
    opacity: 1 !important;
}
body,
html,
.elementor-page {
    background-color: #0F1F2D !important;
}
/* ===== bowrex Order page styles ===== */

/* Order 페이지 전체 기본 글자색 */
.order-main {
  color: #f5f7ff;
}

/* 제목/소제목/본문/리스트 전부 밝은 색으로 */
.order-main h1,
.order-main h2,
.order-main h3,
.order-main p,
.order-main li {
  color: #f5f7ff;
}

/* 강조 텍스트도 조금 더 밝게 */
.order-main strong {
  color: #ffffff;
}

/* 리스트 간격 조금 띄우기 */
.order-main ul {
  margin-left: 1.5rem;
}

/* 폼 영역 기본 글자색 */
.order-main label,
.order-main input,
.order-main textarea {
  color: #f5f7ff;
}

/* 입력창 배경/테두리 어두운 테마에 맞게 */
.order-main input,
.order-main textarea {
  background-color: #111623;
  border: 1px solid #2a3347;
}

/* 제출 버튼 스타일 */
.order-main .order-submit-button {
  background-color: #00b7ff;
  color: #0a0f1c;
  border: none;
  padding: 10px 28px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  border-radius: 4px;
  margin-top: 10px;
}

.order-main .order-submit-button:hover {
  background-color: #11c8ff;
}

/* ===== bowrex — ABOUT PAGE MATCHING STYLE (ORDER PAGE) ===== */

.order-main {
  max-width: 880px;          /* About page와 동일한 폭 */
  margin: 0 auto;
  padding: 60px 24px;
  color: #d6dbe6;            /* About과 동일한 회색톤 */
  font-size: 18px;
  line-height: 1.62;
  letter-spacing: 0.2px;
}

/* ---------- HEADINGS ---------- */
.order-main h1 {
  color: #eef2f7;            /* About page 제목 색 */
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 30px;
}

.order-main h2 {
  color: #e6ebf3;
  font-size: 26px;
  font-weight: 600;
  margin-top: 45px;
  margin-bottom: 16px;
}

.order-main h3 {
  color: #dce1eb;
  font-size: 22px;
  font-weight: 600;
  margin-top: 32px;
  margin-bottom: 10px;
}

/* ---------- PARAGRAPH ---------- */
.order-main p {
  color: #cbd1dd;            /* About 본문과 동일 */
  margin-bottom: 14px;
  font-size: 18px;
}

/* ---------- LIST ---------- */
.order-main ul {
  margin-left: 26px;
  margin-bottom: 18px;
  color: #cbd1dd;
}

.order-main li {
  margin-bottom: 7px;
}

/* ---------- IMAGE PLACEHOLDERS ---------- */
.order-main .order-image {
  width: 100%;
  background: #121722;       /* 어둡고 고급스러운 플레이스홀더 */
  border: 1px solid #1d2332;
  border-radius: 6px;
  height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7e8595;
  font-size: 16px;
  margin: 28px 0;
}

/* ---------- FORM LABELS ---------- */
.order-main label {
  color: #dce1eb;
  font-weight: 500;
  display: block;
  margin-top: 18px;
  margin-bottom: 5px;
}

/* ---------- INPUTS ---------- */
.order-main input,
.order-main textarea {
  width: 100%;
  background: #101521;
  border: 1px solid #2a3141;
  border-radius: 6px;
  padding: 12px 14px;
  font-size: 17px;
  color: #e5e9f2;
  margin-bottom: 14px;
}

/* ---------- SUBMIT BUTTON ---------- */
.order-main .order-submit-button {
  background-color: #0bb1f0;
  color: #0a0f1c;
  border: none;
  padding: 14px 34px;
  border-radius: 6px;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  margin-top: 20px;
  transition: 0.2s;
}

.order-main .order-submit-button:hover {
  background-color: #19c4ff;
}

/* Reduce top space under the menu for Order page */
.order-main {
    padding-top: 20px !important;   /* 기존 60px → 20px 로 감소 */
}

header.site-header {
    margin-bottom: 10px !important; /* 메뉴 바로 아래 공백 최소화 */
}

/* ORDER PAGE top gap fix */
.page-id-### .site-main {
    padding-top: 10px !important;
}

.page-id-### .order-main {
    padding-top: 10px !important;
    margin-top: 0 !important;
}
/* ===== ORDER PAGE LAYOUT ===== */

.order-main {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 20px 80px;
}

.order-content h1 {
  font-size: 34px;
  margin-bottom: 20px;
}

.order-content h2 {
  font-size: 24px;
  margin-top: 40px;
  margin-bottom: 16px;
}

.order-content h3 {
  font-size: 20px;
  margin-top: 28px;
  margin-bottom: 12px;
}

.order-content p,
.order-content li {
  font-size: 16px;
  line-height: 1.6;
}

/* STEP 그림 자리 박스 */
.order-image {
  width: 100%;
  background: #121722;
  border: 1px solid #1d2332;
  border-radius: 6px;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7e8595;
  font-size: 15px;
  margin: 18px 0 6px;
  text-align: center;
  padding: 8px;
}

/* 폼 레이아웃 */
.order-form {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr;
  grid-row-gap: 12px;
}

.order-form label {
  font-size: 14px;
  font-weight: 500;
}

.order-form input,
.order-form textarea {
  width: 100%;
  background: #050814;
  border: 1px solid #1d2332;
  border-radius: 4px;
  padding: 8px 10px;
  color: #ffffff;
  font-size: 15px;
}

.order-form input::placeholder,
.order-form textarea::placeholder {
  color: #5f6a82;
}

.order-submit-button {
  margin-top: 16px;
  padding: 10px 18px;
  border-radius: 4px;
  border: none;
  background: #00b8ff;
  color: #050814;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
}

.order-submit-button:hover {
  background: #22c6ff;
}

/* 메뉴 아래 여백 조금만 – About 페이지 느낌과 비슷하게 */
body.page-template-order .site-main {
  padding-top: 20px !important;
}

.order-image-full {
  width: 100%;
  margin: 20px 0 40px;
  text-align: center;
}

.order-image-full img {
  max-width: 100%;
  border-radius: 6px;
  border: 1px solid #1d2332;
}
/* 기본: PC에서는 데스크탑만 보임 */
.footer-left-desktop{ display:block; }
.footer-left-mobile{ display:none; }

/* 모바일에서는 모바일만 보임 */
@media (max-width: 700px){
  .footer-left-desktop{ display:none; }
  .footer-left-mobile{ display:block; text-align:center; }
}
/* === LOGBOOK placard banner (category page) === */
body.category-logbook .site-main::before{
  content:"";
  display:block;

  /* 플래카드 높이(얇고 길게) */
  height:260px;

  /* ✅ 사용자 이미지 URL */
  background-image:url("https://bowrex.com/wp-content/uploads/2026/02/ChatGPT-Image-Feb-3-2026-03_23_29-AM.png");
  background-size:cover;

  /* 보트/등대 구도 잘 살아나게 */
  background-position:50% 35%;

  /* 가장자리 카드 느낌 */
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);

  /* 페이지 폭과 정렬 */
  max-width:1000px;
  margin:22px auto 18px;

  /* 혹시 모를 오버플로우 방지 */
  overflow:hidden;
}

/* 모바일에서는 조금 더 낮게 */
@media (max-width:700px){
  body.category-logbook .site-main::before{
    height:180px;
    margin:16px 12px 14px;
    border-radius:16px;
    background-position:50% 40%;
  }
}

/* (선택) "Category: Logbook" 기본 타이틀이 거슬리면 숨김 */
body.category-logbook .page-header{
  display:none !important;
}
/* Woo Cart: make "Update cart" visible on dark UI */
.woocommerce-cart button[name="update_cart"]{
  opacity: 1 !important;
  visibility: visible !important;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
}

.woocommerce-cart button[name="update_cart"]:disabled{
  opacity: .6 !important;  /* disabled여도 안 사라지게 */
  cursor: not-allowed;
}
