/*
Theme Name: CORKRO Corporate
Theme URI: https://www.corkro.com/
Author: CORKRO
Description: (주)코르크로 기업 홈페이지를 위한 편집 가능한 맞춤 블록 테마입니다.
Version: 1.0.9
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: corkro
*/

:root {
  --cr-forest: #173d2c;
  --cr-forest-2: #24563e;
  --cr-leaf: #a9b89b;
  --cr-lime: #dbe5d2;
  --cr-cork: #a8784d;
  --cr-cork-light: #d6b489;
  --cr-cream: #f3efe5;
  --cr-paper: #fcfbf8;
  --cr-surface: #ffffff;
  --cr-soft: #eef1ec;
  --cr-ink: #1e2c24;
  --cr-muted: #5e6962;
  --cr-line: rgba(23, 61, 44, .16);
}

html { scroll-behavior: smooth; }
body { overflow-x: clip; word-break: keep-all; }
a { transition: opacity .2s ease, transform .2s ease; }
a:hover { opacity: .78; }

/* 기술·인증, 제품, 시공사례 화면의 본문 복사와 이미지 저장을 억제합니다. */
.cr-media-protected .cr-page-hero,
.cr-media-protected main {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.cr-media-protected .wp-block-post-content img,
.cr-media-protected .cr-card-image,
.cr-media-protected .wp-block-post-featured-image img {
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}

/* 홈 화면의 전폭 섹션은 배경이 끊기지 않도록 서로 바로 맞닿게 합니다. */
.home .wp-block-post-content {
  margin-block: 0 !important;
}
.home .wp-block-post-content > .cr-hero,
.home .wp-block-post-content > .cr-section,
.home .wp-block-post-content > .cr-leaf-band {
  margin-block: 0 !important;
}
.home .wp-site-blocks > .wp-block-post-content,
.home .wp-site-blocks > .wp-block-post-content + .wp-block-template-part {
  margin-block-start: 0 !important;
}

.cr-wrap { width: min(1240px, calc(100% - 56px)); margin-inline: auto; }
.cr-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.cr-serif { font-family: "Gowun Batang", "Noto Serif KR", Georgia, serif; }

.cr-site-header { position: relative; z-index: 20; border-bottom: 1px solid rgba(23,61,44,.08); background: rgba(255,255,255,.97); }
.cr-header-inner { min-height: 88px; }
.cr-brand-mark { display: inline-block; width: 15px; height: 15px; margin-right: 10px; background: var(--cr-leaf); border-radius: 70% 20% 70% 20%; transform: rotate(-22deg); }
.cr-site-header .wp-block-site-title { letter-spacing: -1.5px; }
.cr-site-header .wp-block-navigation-item__content { font-size: 13px; font-weight: 700; }
.cr-shop-link a { color: var(--cr-forest) !important; border-bottom: 1px solid var(--cr-cork); }
.cr-contact-link a { padding: 12px 18px !important; border-radius: 999px; color: #fff !important; background: var(--cr-forest); }

.cr-hero { position: relative; overflow: hidden; min-height: 720px; background: var(--cr-paper); }
.cr-hero-copy { padding-block: 105px 90px; }
.cr-hero h1 { margin-block: 22px 25px; color: var(--cr-forest); font-size: clamp(45px, 5vw, 68px); line-height: 1.17; letter-spacing: -.065em; }
.cr-hero h1 strong { color: var(--cr-cork); font-weight: inherit; }
.cr-hero-lead { max-width: 570px; color: var(--cr-muted); font-size: 16px; line-height: 1.9; }
.cr-hero-photo { min-height: 620px; background: linear-gradient(140deg, #9cb17c 0%, #526f51 43%, #a87b54 44%, #c29b6c 100%); }
.cr-hero-photo .wp-block-cover__background { opacity: .12 !important; }
.cr-photo-note { display: inline-block; padding: 9px 13px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; color: #fff; background: rgba(23,61,44,.45); font-size: 11px; }
.cr-pill-button .wp-block-button__link { border-radius: 999px; padding: 15px 21px; font-size: 13px; font-weight: 800; }
.cr-button-primary .wp-block-button__link { color: #fff; background: var(--cr-forest); }
.cr-button-ghost .wp-block-button__link { border: 1px solid var(--cr-line); color: var(--cr-forest); background: rgba(255,255,255,.45); }

.cr-section { padding-block: 120px; }
.cr-paper { background: var(--cr-surface); }
.cr-cream { background: var(--cr-cream); }
.cr-forest { color: #fff; background: var(--cr-forest); }
.cr-soft { background: var(--cr-soft); }
.cr-leaf-band { color: var(--cr-forest); background: var(--cr-lime); }
.cr-section-title { color: var(--cr-forest); font-size: clamp(37px, 4vw, 50px); line-height: 1.25; letter-spacing: -.055em; }
.cr-forest .cr-section-title { color: #fff; }
.cr-intro-copy { margin: 0; color: var(--cr-forest); font-size: clamp(34px, 4vw, 44px); line-height: 1.52; letter-spacing: -.05em; }
.cr-intro-copy strong { color: var(--cr-cork); font-weight: inherit; }
.cr-muted { color: var(--cr-muted); line-height: 1.85; }
.cr-divider-top { padding-top: 28px; border-top: 1px solid var(--cr-line); }

.cr-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.cr-card { overflow: hidden; min-height: 320px; background: #fff; box-shadow: 0 12px 35px rgba(23,61,44,.08); }
.cr-card-image { display: block; aspect-ratio: 4/3; background: linear-gradient(145deg,#718767,#b18a60); object-fit: cover; width: 100%; }
.cr-card-body { padding: 24px; }
.cr-card h3 { margin: 0 0 10px; color: var(--cr-forest); font-size: 20px; }
.cr-card p { margin: 0; color: var(--cr-muted); font-size: 13px; line-height: 1.75; }
.cr-card-link { display: inline-block; margin-top: 18px; color: var(--cr-cork); font-size: 12px; font-weight: 800; }
.cr-placeholder-image { display: grid; place-items: center; aspect-ratio: 4/3; color: rgba(255,255,255,.9); background: linear-gradient(145deg,#718767,#b18a60); font-size: 12px; }

.cr-notice-board { overflow-x: auto; border-top: 2px solid var(--cr-forest); }
.cr-notice-table { width: 100%; border-collapse: collapse; table-layout: fixed; background: rgba(255,255,255,.28); }
.cr-notice-table th { padding: 17px 18px; border-bottom: 1px solid var(--cr-line); color: var(--cr-forest); background: rgba(23,61,44,.055); font-size: 13px; font-weight: 800; text-align: center; }
.cr-notice-table td { padding: 20px 18px; border-bottom: 1px solid var(--cr-line); color: var(--cr-muted); font-size: 14px; text-align: center; }
.cr-notice-table tbody tr { transition: background-color .2s ease; }
.cr-notice-table tbody tr:hover { background: rgba(255,255,255,.68); }
.cr-notice-table .cr-notice-number { width: 90px; }
.cr-notice-table .cr-notice-date { width: 150px; }
.cr-notice-table .cr-notice-title { overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.cr-notice-table .cr-notice-title a { color: var(--cr-ink); font-weight: 600; text-decoration: none; }
.cr-notice-table .cr-notice-title a:hover { color: var(--cr-forest); }

.cr-pagination { margin-top: 42px; }
.cr-pagination .page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cr-pagination .page-numbers li { margin: 0; }
.cr-pagination a.page-numbers,
.cr-pagination span.page-numbers { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: 8px 13px; border: 1px solid var(--cr-line); border-radius: 999px; color: var(--cr-forest); background: #fff; font-size: 13px; font-weight: 700; line-height: 1; text-decoration: none; }
.cr-pagination a.page-numbers:hover { border-color: var(--cr-cork); color: #fff; background: var(--cr-cork); opacity: 1; }
.cr-pagination span.page-numbers.current { border-color: var(--cr-forest); color: #fff; background: var(--cr-forest); }
.cr-pagination span.page-numbers.dots { border-color: transparent; background: transparent; }

.cr-proof-list { border-top: 1px solid var(--cr-line); }
.cr-proof-row { display: grid; grid-template-columns: 105px 1fr auto; gap: 25px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--cr-line); }
.cr-proof-row small { color: var(--cr-cork); font-weight: 700; }
.cr-proof-row strong { color: var(--cr-forest); }
.cr-proof-row span { color: var(--cr-muted); font-size: 12px; }

.cr-page-hero { padding-block: 90px 70px; background: var(--cr-paper); }
.cr-page-hero h1 { color: var(--cr-forest); font-size: clamp(42px, 6vw, 68px); letter-spacing: -.06em; }
.cr-content { padding-block: 80px 120px; background: var(--cr-surface); }
.cr-empty { padding: 45px; border: 1px dashed var(--cr-line); color: var(--cr-muted); text-align: center; background: rgba(255,255,255,.45); }
.cr-admin-note { margin-bottom: 20px; padding: 14px 18px; border-left: 4px solid var(--cr-cork); background: #fff7e8; color: #6c533d; font-size: 13px; }

.cr-site-footer { padding-block: 60px 70px; border-top: 0; color: rgba(255,255,255,.82); background: #102d20; }
.cr-site-footer a,
.cr-site-footer .wp-block-navigation-item__content,
.cr-site-footer .wp-block-site-title a { color: #fff !important; }
.cr-footer-copy { color: rgba(255,255,255,.68); font-size: 11px; line-height: 1.9; }

.cr-hero,
.cr-section,
.cr-leaf-band,
.cr-page-hero,
.cr-content,
.cr-site-footer { padding-inline: clamp(24px, 4vw, 48px); }

@media (max-width: 1100px) {
  .cr-header-inner { min-height: 76px; padding-inline: 18px; }
  .cr-site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .cr-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
  .cr-site-header .wp-block-navigation__responsive-container.is-menu-open { padding: 32px !important; color: var(--cr-forest) !important; background: #fff !important; }
  .cr-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 18px; }
  .cr-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 18px; }
  .cr-hero h1 { font-size: clamp(48px, 6vw, 60px); }
  .cr-hero-copy { padding-left: 18px; }
  .cr-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .cr-hero { min-height: 0; }
  .cr-hero > .wp-block-columns { flex-wrap: wrap !important; gap: 0; }
  .cr-hero > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .cr-hero-copy { padding: 72px 20px 55px; }
  .cr-hero-photo { min-height: 460px !important; }
  .cr-section { padding-block: 90px; }
  .cr-section > .wp-block-columns { flex-wrap: wrap !important; }
  .cr-section > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .cr-page-hero { padding-block: 70px 55px; }
  .cr-content { padding-block: 65px 90px; }
}

@media (max-width: 680px) {
  .cr-header-inner { min-height: 68px; padding-inline: 4px; }
  .cr-site-header .wp-block-site-title { font-size: 21px !important; }
  .cr-brand-mark { width: 13px; height: 13px; margin-right: 7px; }
  .cr-hero-copy { padding: 54px 4px 42px; }
  .cr-hero h1 { margin-block: 17px 21px; font-size: clamp(40px, 11.5vw, 49px); line-height: 1.24; }
  .cr-hero-lead { font-size: 14px; line-height: 1.8; }
  .cr-hero-photo { min-height: 350px !important; }
  .cr-photo-note { font-size: 10px; }
  .cr-section { padding-block: 70px; }
  .cr-section-title { font-size: 34px; }
  .cr-intro-copy { font-size: 31px; }
  .cr-card-grid { grid-template-columns: 1fr; gap: 14px; }
  .cr-card { min-height: 0; }
  .cr-notice-board { overflow: visible; }
  .cr-notice-table,
  .cr-notice-table tbody { display: block; width: 100%; }
  .cr-notice-table thead { display: none; }
  .cr-notice-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 16px; padding: 17px 4px; border-bottom: 1px solid var(--cr-line); }
  .cr-notice-table td { display: block; width: auto !important; padding: 0; border: 0; }
  .cr-notice-table .cr-notice-number { display: none; }
  .cr-notice-table .cr-notice-title { overflow: visible; white-space: normal; }
  .cr-notice-table .cr-notice-title a { display: block; line-height: 1.55; }
  .cr-notice-table .cr-notice-date { align-self: start; padding-top: 2px; font-size: 12px; white-space: nowrap; }
  .cr-pagination { margin-top: 32px; }
  .cr-pagination .page-numbers { gap: 6px; }
  .cr-pagination a.page-numbers,
  .cr-pagination span.page-numbers { min-width: 38px; min-height: 38px; padding: 7px 11px; font-size: 12px; }
  .cr-proof-row { grid-template-columns: 68px 1fr; gap: 14px; padding-block: 21px; }
  .cr-proof-row span { grid-column: 2; }
  .cr-page-hero { padding-block: 55px 42px; }
  .cr-page-hero h1 { font-size: 39px; }
  .cr-content { padding-block: 50px 70px; }
  .cr-site-footer { padding-block: 45px 55px; }
  .cr-site-footer > .wp-block-group { align-items: flex-start !important; flex-direction: column; gap: 28px; }
  .cr-site-footer .wp-block-navigation { width: 100%; }
  .cr-site-footer .wp-block-navigation__container { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px !important; width: 100%; }
  .cr-site-footer .wp-block-navigation-item { margin: 0; }
  .cr-site-footer .wp-block-navigation-item__content { font-size: 13px; line-height: 1.45; }
}

@media (max-width: 520px) {
  .cr-hero .wp-block-buttons { align-items: stretch; flex-direction: column; }
  .cr-hero .wp-block-button,
  .cr-hero .wp-block-button__link { width: 100%; text-align: center; }
  .cr-hero-photo { min-height: 300px !important; }
  .cr-leaf-band h2 { font-size: 27px; line-height: 1.4; }
  .cr-leaf-band .wp-block-button,
  .cr-leaf-band .wp-block-button__link { width: 100%; text-align: center; }
}
