/* 공통 타이틀 스타일 */
.rental-title {
   margin-bottom: 50px;
   opacity: 0;
   animation: fadeIn 1s ease-out forwards;
}

.rental-title .point-color {
   display: block;
   font-size: 18px;
   margin-bottom: 15px;
}

.rental-title h3 {
   font-size: 32px;
   line-height: 1.4;
}

/* 렌탈 서비스 소개 */
.rental-intro {
   margin-bottom: 100px;
}

.rental-desc {
   line-height: 1.8;
   margin-bottom: 50px;
   opacity: 0;
   animation: fadeIn 1s ease-out forwards;
   animation-delay: 0.2s;
   font-size: 1.1rem;
}

.rental-steps {
   position: relative;
   padding: 60px 0;
}

.rental-steps::before {
   content: '';
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   width: 120vw;
   height: 100%;
   top: 0;
   background: #f8f9fa;
   z-index: -1;
}

.rental-steps ol {
   list-style: none;
   counter-reset: step 0;
}

.rental-steps li {
   display: flex;
   align-items: center;
   padding: 15px 30px;
   margin-bottom: 1px;
   opacity: 0;
   animation: fadeIn 1s ease-out forwards;
}

.rental-steps li:nth-child(1) {
   animation-delay: 0.2s;
}

.rental-steps li:nth-child(2) {
   animation-delay: 0.4s;
}

.rental-steps li:nth-child(3) {
   animation-delay: 0.6s;
}

.rental-steps li:nth-child(4) {
   animation-delay: 0.8s;
}

.rental-steps li:nth-child(5) {
   animation-delay: 1s;
}

.rental-steps li::before {
   content: counter(step);
   counter-increment: step 1;
   color: var(--point-color, #e53e3e);
   font-weight: bold;
   font-size: 1.3rem;
   margin-right: 20px;
}

.rental-steps p {
   display: flex;
   align-items: center;
   font-size: 1.1rem;
}

.rental-steps strong {
   min-width: 100px;
   margin-right: 30px;
   font-size: 1.3rem;
   font-weight: bold;
}

@media (max-width: 768px) {
   .rental-steps strong {
      font-size: 1.1rem;
      font-weight: bold;
      font-family: 'NanumSquareB';
   }

   .rental-steps p {
      font-size: .9rem;
   }
}


/* 렌탈 종류 */
.rental-types {
   margin-bottom: 100px;
}

.rental-types ul {
   display: flex;
   flex-wrap: wrap;
   gap: 40px;
   list-style: none;
}

.rental-types li {
   flex: 1;
   min-width: 300px;
   padding: 30px;
   background: #f8f9fa;
   border-radius: 1rem;
   opacity: 0;
   animation: fadeIn 1s ease-out forwards;
}

.rental-types li p {
   font-size: 1.1rem;
}

.rental-types li:nth-child(1) {
   animation-delay: 0.2s;
}

.rental-types li:nth-child(2) {
   animation-delay: 0.4s;
}

.rental-types li:nth-child(3) {
   animation-delay: 0.6s;
}

.type-header {
   margin-bottom: 20px;
}

.type-header strong {
   display: block;
   color: var(--point-color);
   margin-bottom: 20px;
}

.type-header h4 {
   font-size: 24px;
}

.rental-period {
   font-size: 3rem;
   color: var(--point-color);
}

@media (max-width: 768px) {
   .rental-period {
      font-size: 2.2rem;
   }

}

/* 렌탈 서비스 장점 */
.rental-advantages {
   margin-bottom: 100px;
}

.rental-advantages ol {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 30px;
   list-style: none;
   counter-reset: advantage;
   margin-top: 50px;
}

.rental-advantages li {
   background: #f8f9fa;
   border-radius: 8px;
   padding: 30px;
   position: relative;
   opacity: 0;
   animation: fadeIn 1s ease-out forwards;
}

.rental-advantages li::before {
   content: "0" counter(advantage);
   counter-increment: advantage;
   color: var(--point-color);
   font-weight: 800;
   font-size: 1.2rem;
   margin-bottom: 15px;
   display: block;
}

.rental-advantages strong {
   display: block;
   font-size: 1.3rem;
   margin-bottom: 20px;
   line-height: 1.4;
}

.rental-advantages p {
   color: #666;
   margin-bottom: 10px;
   line-height: 1.6;
   padding-left: 15px;
   position: relative;
   font-size: 1.1rem;
}

.rental-advantages p::before {
   content: "·";
   position: absolute;
   left: 0;
   color: var(--point-color);
   /* 포인트 컬러로 점 색상 지정 */
   font-weight: bold;
}

.rental-advantages li:nth-child(1) {
   animation-delay: 0.1s;
}

.rental-advantages li:nth-child(2) {
   animation-delay: 0.2s;
}

.rental-advantages li:nth-child(3) {
   animation-delay: 0.3s;
}

.rental-advantages li:nth-child(4) {
   animation-delay: 0.4s;
}

.rental-advantages li:nth-child(5) {
   animation-delay: 0.5s;
}

.rental-advantages li:nth-child(6) {
   animation-delay: 0.6s;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
   .rental-advantages ol {
      grid-template-columns: 1fr;
   }
}

/* 비용 부담 섹션 */
.rental-costs {
   background: #f8f9fa;
   padding: 60px 0;
   position: relative;
}

.rental-costs::before {
   content: '';
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   width: 120vw;
   height: 100%;
   top: 0;
   background: #f8f9fa;
   z-index: -1;
}

.costs-grid {
   display: flex;
   gap: 30px;
   margin-bottom: 30px;
}

.cost-item {
   flex: 1;
   padding: 30px;
   opacity: 0;
   animation: fadeIn 1s ease-out forwards;
}

.cost-item:nth-child(1) {
   animation-delay: 0.2s;
}

.cost-item:nth-child(2) {
   animation-delay: 0.4s;
}

.cost-item h3 {
   margin-bottom: 20px;
   font-size: 2rem;
}

.cost-item ul {
   list-style: none;
}

.cost-item li {
   margin-bottom: 10px;
   padding-left: 20px;
   position: relative;
   font-size: 1.1rem;
}

.cost-item li:before {
   content: "·";
   position: absolute;
   left: 0;
}

.cost-addtional-info {
   font-size: 1rem;
   color: var(--point-color);
   font-weight: 600;
}

/* 페이드인 애니메이션 */
@keyframes fadeIn {
   from {
      opacity: 0;
      transform: translateY(20px);
   }

   to {
      opacity: 1;
      transform: translateY(0);
   }
}

/* 반응형 */
@media (max-width: 768px) {
   .rental-title h3 {
      font-size: 24px;
   }

   .costs-grid {
      flex-direction: column;
   }

   .rental-steps ol {
      flex-direction: column;
   }

   .rental-types li {
      min-width: 100%;
   }

   .rental-period {
      font-size: 1.8rem;
   }

   .type-header h4 {
      font-size: 1.3rem;
   }

   .rental-types li p {
      font-size: 1rem;
   }

   .rental-advantages strong {
      display: block;
      font-size: 1.1rem;
      margin-bottom: 18px;
      line-height: 1.4;
   }

   .rental-advantages p {
      line-height: 1.6;
      font-size: 1rem;
   }

   .cost-item h3 {
      margin-bottom: 20px;
      font-size: 1.5rem;
   }

   .cost-item li {
      font-size: 1rem;
   }
}

.page-content {
   padding-bottom: 0px !important;
}