/* ============================================================
   WIVer Main Page
   ============================================================ */

/* ----- Hero Section ----- */
.hero .hero_badge{backdrop-filter: blur(2px);}
.hero .hero_badge h1{display: flex; justify-content: center; align-items: center; gap: 8px;}
.hero .hero_badge h1:before{content:''; display: block; width: 6px; height: 6px; border-radius: 50%; background-color: var(--c-primary-500); margin-bottom: 2px;}

/* ----- Process Section ----- */
.process .icon_list ul.elementor-icon-list-items {gap: 12px;}
.process .icon_list ul.elementor-icon-list-items li {display: flex; width: 354px; justify-content: flex-start; align-items: center; padding: 16px 20px; border-radius: 12px; border: 1px solid var(--c-gray-200); background: var(--c-white);}

.process .divider{font-size: 0; width: 1px; height: 120px; background-color: var(--c-gray-300);}

.process .sys_box{position: relative;}
.process .sys_box:not(:last-child):after{content:''; display: block; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 1px; height: 60px; background-color: var(--c-gray-200);}
.process .sys_tit, .process .sys_desc p{display: flex; justify-content: center; align-items: center; gap: 8px;}
.process .sys_tit img, .process .sys_desc img{margin-right: 0;}
.process .sys_desc p{gap: 12px;}
.process .sys_desc .sys_before{text-decoration: line-through;}

/* ----- Solution Section ----- */
.solution .content_box.setup_box .sol_badge{background: linear-gradient(109deg, #6C5CE7 0%, #A29BFE 100%);}
.solution .content_box.controller_box .sol_badge{background: linear-gradient(106deg, #00B4D8 0%, #90E0EF 100%);}
.solution .content_box.reports_box .sol_badge{background: linear-gradient(107deg, #3B3486 0%, #6C5CE7 100%);}

/* ----- Partners Section ----- */
.partner_marquee .swiper-wrapper {transition-timing-function: linear !important;}

/* ----- Awards Section ----- */
.awards .elementor-image-box-title {font-weight: 700 !important;}

/* ----- Main Responsive ----- */
@media (max-width: 1024px){
   .process .sys_desc p{gap: 8px;}
}
@media (max-width: 767px){
   .process .icon_list ul.elementor-icon-list-items li {width: 100%; align-items: flex-start; text-align: start; padding: 12px 16px;}
   .process .icon_list ul.elementor-icon-list-items li span.elementor-icon-list-icon {margin-top: 2px;}

   .process .divider{height: 80px;}

   .process .sys_box:not(:last-child):after{display: none;}
}


/* ============================================================
   FAQ
   ============================================================ */
.faq_acc span.e-n-accordion-item-title-header h3, .faq_acc summary.e-n-accordion-item-title + div {display: flex; flex-direction: row; justify-content: flex-start; align-items: flex-start; font-weight: 700; flex-wrap: nowrap;}
.faq_acc span.e-n-accordion-item-title-header h3:before {content:'Q.'; display: block; width: 36px; text-align: center; font-size: var(--fs-subtitle); line-height: var(--lh-subtitle); letter-spacing: var(--ls-subtitle); color: var(--c-primary-500);}
.faq_acc summary.e-n-accordion-item-title + div:before{content:'A.'; display: block; position: static; width: 36px; min-width: 36px; text-align: center; font-size: var(--fs-subtitle); line-height: var(--lh-subtitle); letter-spacing: var(--ls-subtitle); color: var(--c-primary-500);}

@media (max-width: 767px){
    .faq_acc span.e-n-accordion-item-title-header h3:before,.faq_acc summary.e-n-accordion-item-title + div:before {width: 24px; min-width: 24px; text-align: start;}
}


/* ============================================================
   Contact
   ============================================================ */
#demo_form label, #demo_form .elementor-button-text {font-weight: 700;}


/* ============================================================
   Solutions 
   ============================================================ */
.setup_solution ul.elementor-icon-list-items li, .control_solution ul.elementor-icon-list-items li {display: flex; padding: 20px 24px; justify-content: center; align-items: center; gap: 14px; flex: 1 0 0; border-radius: 12px; border: 1px solid var(--c-gray-200); background: var(--c-white);}

.feat_box {display: flex; width: calc(33.33% - ((20px * 2) / 3)); padding: 32px 32px 40px 32px; flex-direction: column; align-items: flex-start; border-radius: 16px; border: 1px solid var(--c-gray-200); background: var(--c-white);}

.feat_box .elementor-icon-box-description {position: relative;}
.feat_box .elementor-icon-box-description span{display: inline-block; position: absolute; left: 0; bottom: -24px; font-size: 12px; white-space: nowrap; color: var(--c-gray-400);}

/* ----- WIV Setup ----- */
.setup_perform:before {content:''; display: block; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); border-radius: 180px; background: radial-gradient(70.71% 70.71% at 50% 50%, rgba(108, 92, 231, 0.10) 0%, rgba(108, 92, 231, 0.03) 50%, rgba(108, 92, 231, 0.00) 70%); width: 360px; height: 360px;}
.setup_perform .elementor-widget-counter .elementor-counter-title {white-space: nowrap; margin: 0 0 16px 12px;}


/* ----- WIV Controller ----- */
.control_solution .elementor-icon-box-title > span > span {font-size: var(--fs-caption); line-height: var(--lh-caption); letter-spacing: var(--ls-caption); font-weight: 400; color: var(--c-gray-600);}

.control_feat .feat_box {width: calc(50% - ((20px * 1) / 2));}

/* ----- WIV Reports ----- */
.reports_overview .elementor-icon-box-description {display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px;}
.reports_overview .elementor-icon-box-description span {font-size: var(--fs-caption); line-height: var(--lh-caption); letter-spacing: var(--ls-caption); font-weight: 700; display: flex; padding: 4px 16px; justify-content: center; align-items: center; border-radius: 8px; background: var(--c-primary-50);}

.list_wrap .list_tit h3, .list_wrap .list_desc ul.elementor-icon-list-items li span{position: relative; display: flex; justify-content: flex-start; align-items: center; gap: 10px;}
.list_wrap .list_tit h3:before, .list_wrap .list_desc ul.elementor-icon-list-items li span:before {content: ''; display: block; border-radius: 4px; background: var(--c-primary-300);}
.list_wrap .list_tit h3:before {width: 8px; height: 9px;}
.list_wrap .list_desc ul.elementor-icon-list-items li span:before {width: 4px; height: 4px;}

/* ----- Solutions Responsive ----- */
@media (max-width: 1024px){
   .feat_box {width: calc(50% - (20px / 2)); padding: 24px 24px 36px 24px;}

   .package .elementor-widget-icon-box {background-color: transparent !important;}
}

@media (max-width: 767px){
   .setup_solution ul.elementor-icon-list-items, .control_solution ul.elementor-icon-list-items {margin: 0; gap: 12px;}
   .setup_solution ul.elementor-icon-list-items li, .control_solution ul.elementor-icon-list-items li {flex: inherit; width: 100%;}

   .feat_box, .control_feat .feat_box {width: 100%; padding: 20px 20px 32px 20px;}

   .list_wrap .list_desc ul.elementor-icon-list-items li span {align-items: flex-start;}
   .list_wrap .list_desc ul.elementor-icon-list-items li span:before {margin-top: 10px;}
}


/* ============================================================
   About - WIVer 
   ============================================================ */
.pain_point .reseon .elementor-widget-text-editor ul {display: flex; flex-direction: row; gap: 12px; padding: 0;}
.pain_point .reseon .elementor-widget-text-editor ul li {display: flex; padding: 8px 16px; flex-direction: column; align-items: center; align-self: stretch; border-radius: 20px; border: 1px solid var(--c-gray-200); background: var(--c-white);}
.pain_point .reseon .elementor-widget-text-editor ul li:before {display: none;}

.pi_engine.process .icon_list ul.elementor-icon-list-items li {width: calc(50% - 20px / 2); text-align: start;}

.module .channel_list ul {width: 100%; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; align-self: stretch;}
.module .channel_list ul li, .data .data_list ul li {display: flex; padding: 8px 20px; flex-direction: column; justify-content: center; align-items: center; border-radius: 8px; border: 1px solid var(--c-gray-200); background: var(--c-gray-50);}

.data .data_list ul {width: 100%; display: inline-grid; gap: 12px; align-self: stretch; grid-template-rows: repeat(3,fit-content(100%)); grid-template-columns: repeat(3,minmax(0,1fr));}
.data .data_list ul li {align-items: flex-start;}
.module .channel_list ul li:before, .data .data_list ul li:before {display: none;}

/* ----- About Responsive ----- */
@media (max-width: 767px){
   .pi_engine.process .icon_list ul.elementor-icon-list-items li {width: 100%;}
   .data .data_list ul {grid-template-rows: repeat(1, fit-content(100%)); grid-template-columns: repeat(1, minmax(0, 1fr));}
}

/* ============================================================
   Posts - Case Study, News
   ============================================================ */
.post_content .post_thumb {max-width: 600px !important;}
.post_inner {max-width: 800px; width: 100%; margin: 0 auto;}

.post_wrap nav.elementor-pagination {display: flex; flex-direction: row; justify-content: center; align-items: center;}
.post_wrap nav.elementor-pagination a.page-numbers, .post_wrap nav.elementor-pagination span {display: flex; width: 40px; height: 40px; padding: 8px 0; justify-content: center; align-items: center; line-height: 1.7; border-radius: 8px; border: 1px solid var(--c-gray-200, #E5E5EC); background: var(--c-white, #FFF); color: var(--c-gray-500); transition: .3s;}
.post_wrap nav.elementor-pagination span.page-numbers.current {border: 1px solid var(--c-primary-500, #6C5CE7); background: var(--c-primary-500, #6C5CE7); color: var(--c-white);}

.post_wrap .case_item .item_thumb {aspect-ratio: 3 / 2;}
.post_wrap .case_item .item_thumb img {aspect-ratio: 3 / 2; object-fit: cover;}

.slide_wrap .news_item .item_thumb {aspect-ratio: 1 / 1;}
.slide_wrap .news_item .item_thumb img {aspect-ratio: 1 / 1; object-fit: cover; object-position: left center;}

@media (hover:hover){
   .post_wrap nav.elementor-pagination a.page-numbers:hover {border: 1px solid var(--c-primary-500, #6C5CE7); background: var(--c-primary-500, #6C5CE7); color: var(--c-white);}
}

/* ----- Posts Responsive ----- */
@media (max-width: 767px){
   .post_inner {padding-inline: 16px;}

   .post_wrap nav.elementor-pagination a.page-numbers, .post_wrap nav.elementor-pagination span {padding: 4px 0;}
}

/* ============================================
   WIVer Legal Pages
   ============================================ */

.policy-container {
  max-width: 860px;
  margin: 0 auto;
  line-height: 1.8;
  color: #222;
}

/* 시행일 */
.policy-container .date {
  font-size: 14px;
  color: #888;
}

/* 페이지 내부 타이틀 (H2) */
.policy-container h2 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #111;
}

/* 조항 제목 (H3) */
.policy-container h3 {
  font-size: 20px;
  font-weight: 700;
  margin-top: 48px;
  margin-bottom: 16px;
  color: #111;
}

/* 소제목 (H4) */
.policy-container h4 {
  font-size: 16px;
  font-weight: 600;
  margin-top: 24px;
  margin-bottom: 8px;
  color: #222;
}

/* 본문 */
.policy-container p,
.policy-container li {
  font-size: 15px;
  color: #444;
}

.policy-container p {
  margin-bottom: 12px;
}

/* 리스트 */
.policy-container ul,
.policy-container ol {
  padding-left: 20px;
  margin-bottom: 12px;
}

.policy-container li {
  margin-bottom: 4px;
}

/* 테이블 */
.policy-container table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0 24px;
  font-size: 14px;
}

.policy-container th,
.policy-container td {
  border: 1px solid #ddd;
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
}

.policy-container th {
  background: #f5f5f5;
  font-weight: 600;
  white-space: nowrap;
}

/* 강조 박스 */
.policy-container .highlight {
  background: #f9f9f9;
  border-left: 3px solid #6C5CE7;
  padding: 16px 20px;
  margin: 16px 0;
  border-radius: 4px;
}

.policy-container .highlight p {
  margin-bottom: 0;
}

/* 볼드 */
.policy-container strong {
  color: #222;
  font-weight: 600;
}

/* ----- Legal Responsive ----- */
@media (max-width: 767px) {
  .policy-container h3 {
    font-size: 18px;
    margin-top: 36px;
  }

  .policy-container table {
    font-size: 13px;
  }

  .policy-container th,
  .policy-container td {
    padding: 8px 10px;
  }
}