/* OnePress Korean setup hard layout overrides */
body.home .site-header,
body.home .header-section {
  min-height: 0 !important;
}

body.home .site-branding,
body.home .site-brand-inner,
body.home .site-logo-div {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 72px !important;
  padding: 8px 0 !important;
}

body.home .site-branding img,
body.home .site-logo-div img,
body.home img.custom-logo,
body.home .custom-logo-link img {
  width: auto !important;
  height: auto !important;
  max-width: 86px !important;
  max-height: 64px !important;
  object-fit: contain !important;
}

body.home .site-title,
body.home .site-title a {
  font-size: 24px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  font-weight: 800 !important;
}

body.home .site-description {
  font-size: 14px !important;
  line-height: 1.3 !important;
  margin: 3px 0 0 !important;
}

body.home .entry-header,
body.home .page-header,
body.home h1.entry-title,
body.home .entry-title {
  display: none !important;
}

body.home #primary,
body.home .content-area,
body.home .site-content .content-area,
body.home .site-main,
body.home article.page,
body.home .entry-content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.home #secondary,
body.home .widget-area,
body.home .sidebar {
  display: none !important;
}

body.home .site-content,
body.home .site-content .container,
body.home .container {
  width: 100% !important;
  max-width: 1180px !important;
}

body.home .site-content {
  padding-top: 0 !important;
}

.opk-hero,
.opk-section {
  width: min(1120px, calc(100vw - 48px)) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.opk-hero {
  padding: clamp(46px, 7vw, 82px) clamp(28px, 5vw, 64px) !important;
  margin-top: 34px !important;
  margin-bottom: 44px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #234833 0%, #4f7f52 58%, #8caf77 100%) !important;
  color: #fff !important;
  text-align: left !important;
  box-shadow: 0 18px 48px rgba(25, 47, 32, .16) !important;
}

.opk-hero h1 {
  max-width: 820px !important;
  font-size: clamp(42px, 5.2vw, 76px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.065em !important;
  margin: 0 0 22px !important;
  color: #fff !important;
}

.opk-hero p {
  max-width: 760px !important;
  font-size: 21px !important;
  line-height: 1.8 !important;
  color: rgba(255, 255, 255, .94) !important;
}

.opk-section {
  padding: 68px clamp(28px, 5vw, 58px) !important;
  margin-bottom: 34px !important;
  border-radius: 26px !important;
  background: #fff !important;
}

.opk-soft {
  background: #f3efe4 !important;
}

.opk-section > h2,
.opk-section h2.wp-block-heading {
  font-size: clamp(38px, 4.5vw, 58px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.055em !important;
  margin: 0 0 22px !important;
  color: #1f272b !important;
}

.opk-section > p,
.opk-section p {
  font-size: 18px !important;
  line-height: 1.85 !important;
}

.opk-cards,
.opk-product-grid {
  gap: 24px !important;
}

.opk-card,
.opk-product-card {
  height: 100% !important;
  min-height: 240px !important;
  padding: 30px !important;
  border: 1px solid #ded5c5 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(40, 32, 20, .07) !important;
}

.opk-product-card {
  border-top: 8px solid #5f955f !important;
}

.opk-card h3,
.opk-product-card h3 {
  margin: 0 0 16px !important;
  font-size: 28px !important;
  line-height: 1.22 !important;
  letter-spacing: -0.045em !important;
  color: #1d2528 !important;
}

.opk-card p,
.opk-product-card p {
  font-size: 18px !important;
  line-height: 1.85 !important;
  color: #5e615d !important;
}

.opk-product-card .wp-block-button__link,
.opk-hero .wp-block-button__link {
  padding: 14px 24px !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  background: #2f6c42 !important;
}

.opk-latest-posts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  list-style: none !important;
  padding-left: 0 !important;
}

.opk-latest-posts li {
  padding: 26px !important;
  border: 1px solid #ded5c5 !important;
  border-radius: 20px !important;
  background: #fff !important;
  font-size: 17px !important;
}

.opk-contact {
  background: #274a35 !important;
  color: #fff !important;
}

.opk-contact h2,
.opk-contact p {
  color: #fff !important;
}

.opk-contact p {
  font-size: 20px !important;
  line-height: 1.9 !important;
}

@media (max-width: 900px) {
  body.home .site-branding img,
  body.home .site-logo-div img,
  body.home img.custom-logo,
  body.home .custom-logo-link img {
    max-width: 72px !important;
    max-height: 54px !important;
  }

  .opk-latest-posts {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .opk-hero,
  .opk-section {
    width: min(100vw - 24px, 1120px) !important;
  }

  .opk-product-grid,
  .opk-cards {
    display: block !important;
  }

  .opk-product-grid > .wp-block-column,
  .opk-cards > .wp-block-column {
    margin-bottom: 18px !important;
  }
}
