/*
Theme Name: Hello Elementor Child V4
Theme URI: https://bowrex.com
Description: BOWREX marine platform theme - Core Housing Strategy
Author: BOWREX Marine
Author URI: https://bowrex.com
Template: hello-elementor
Version: 4.0
*/

/* =========================================================
   FONT
   ========================================================= */

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

/* =========================================================
   GLOBAL BASE
   ========================================================= */

:root {
  --pb-bg: #f5f6f8;
  --pb-surface: #ffffff;
  --pb-surface-soft: #eef1f5;
  --pb-dark: #050814;
  --pb-navy: #07111f;
  --pb-text: #18202b;
  --pb-muted: #5e6875;
  --pb-border: rgba(12, 24, 40, .12);
  --pb-blue: #1b6fd8;
  --pb-sky: #6fb7ff;
  --pb-yellow: #f2b705;
  --pb-radius: 22px;
}

html,
body {
  margin: 0;
  padding: 0;
  background: var(--pb-bg) !important;
  color: var(--pb-text);
  font-family: 'Plus Jakarta Sans',
               -apple-system,
               BlinkMacSystemFont,
               "Segoe UI",
               system-ui,
               sans-serif;
  font-weight: 400;
  letter-spacing: -0.01em;
}

body {
  min-height: 100vh;
}

#page,
.site,
#content,
.site-main,
.elementor-page {
  background: var(--pb-bg) !important;
}

#page.site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-main {
  flex: 1 0 auto;
}

.site-header {
  display: none !important;
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--pb-blue);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--pb-navy);
}

p,
li {
  color: #3e4856;
}

/* =========================================================
   HEADER BASE
   header.php also contains page-specific inline CSS.
   Keep only global safety styles here.
   ========================================================= */

.home-custom-header {
  background: var(--pb-dark);
  color: #ffffff;
}

.home-custom-header a {
  color: #ffffff;
}

.home-custom-logo {
  display: block;
  height: 58px !important;
  max-height: 58px !important;
  width: auto;
}

.home-main-nav a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
}

.home-main-nav a:hover {
  color: #ffe14a;
  text-decoration: none;
}

.home-main-nav a.active-menu,
.active-menu {
  color: #ffd900 !important;
  font-weight: 700;
}

/* =========================================================
   FOOTER BASE
   footer.php also contains inline CSS.
   Keep only global safety styles here.
   ========================================================= */

.home-footer,
footer,
.site-footer {
  display: block !important;
  visibility: visible !important;
  position: relative !important;
  width: 100% !important;
  background: var(--pb-dark) !important;
  color: #e8ecf5 !important;
  box-sizing: border-box;
}

.home-footer p,
.home-footer li,
footer p,
footer li,
.site-footer p,
.site-footer li {
  color: #e8ecf5;
}

.home-footer a,
footer a,
.site-footer a {
  color: #8cc8ff !important;
  text-decoration: none;
}

.home-footer a:hover,
footer a:hover,
.site-footer a:hover {
  text-decoration: underline;
}

/* =========================================================
   COMMON BOWREX COMPONENTS
   ========================================================= */

.pb-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 28px 18px 90px;
}

.pb-card {
  background: var(--pb-surface);
  border: 1px solid var(--pb-border);
  border-radius: var(--pb-radius);
  box-shadow: 0 12px 34px rgba(10, 20, 35, .07);
}

.pb-dark-card {
  background: var(--pb-navy);
  color: #ffffff;
  border-radius: var(--pb-radius);
  box-shadow: 0 12px 34px rgba(10, 20, 35, .12);
}

.pb-dark-card h1,
.pb-dark-card h2,
.pb-dark-card h3 {
  color: #ffffff;
}

.pb-dark-card p,
.pb-dark-card li {
  color: rgba(255,255,255,.72);
}

.pb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 18px;
  border-radius: 15px;
  border: 1px solid var(--pb-border);
  background: #ffffff;
  color: var(--pb-navy);
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(10, 20, 35, .08);
}

.pb-btn:hover {
  text-decoration: none;
}

.pb-btn-primary {
  background: var(--pb-yellow);
  border-color: rgba(0,0,0,.08);
  color: #111111;
}

.pb-image-placeholder,
.image-placeholder {
  min-height: 220px;
  border: 2px dashed rgba(7,17,31,.25);
  border-radius: 22px;
  background: linear-gradient(135deg,#ffffff,#e9edf2);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  color: var(--pb-muted);
  font-size: 14px;
  line-height: 1.55;
  font-weight: 800;
}

.pb-image-placeholder.dark,
.image-placeholder.dark {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.22);
  color: rgba(255,255,255,.68);
}

/* =========================================================
   WOOCOMMERCE BASIC LIGHT THEME FIXES
   ========================================================= */

.woocommerce,
.woocommerce-page {
  background: var(--pb-bg);
  color: var(--pb-text);
}

.woocommerce div.product,
.woocommerce-cart,
.woocommerce-checkout {
  color: var(--pb-text);
}

.woocommerce div.product p,
.woocommerce-cart p,
.woocommerce-checkout p {
  color: #3e4856;
}

.woocommerce a {
  color: var(--pb-blue);
}

.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--pb-yellow);
  color: #111111;
  border-radius: 12px;
  font-weight: 800;
}

.woocommerce-cart button[name="update_cart"] {
  opacity: 1 !important;
  visibility: visible !important;
  color: #111111 !important;
  background: var(--pb-yellow) !important;
  border: 1px solid rgba(0,0,0,.16) !important;
}

.woocommerce-cart button[name="update_cart"]:disabled {
  opacity: .6 !important;
  cursor: not-allowed;
}

/* 기존 WooCommerce variation select 숨김 유지 */
.woocommerce div.product form.cart .variations {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* =========================================================
   CATEGORY / POST BASIC
   ========================================================= */

.category-logbook .site-main,
.single-post .site-main {
  background: var(--pb-bg) !important;
}

body.category-logbook .page-header {
  display: none !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {
  .pb-container {
    padding: 18px 14px 70px;
  }

  .home-custom-logo {
    height: 58px !important;
    max-height: 58px !important;
  }

  .pb-card,
  .pb-dark-card {
    border-radius: 20px;
  }
}