/* =========================================
   TOURING PAGE
========================================= */

.touring-page {
   padding: 2.25rem 0 3rem;
}

.touring-page__header {
   text-align: center;
   margin-bottom: 2rem !important;
}

.touring-page__header h1,
.touring-page__header h2 {
   display: inline-block;
   margin: 0;
   font-size: 2.3rem;
   font-weight: 300;
   font-style: italic;
   color: #777;
   line-height: 1.2;
   position: relative;
}

.touring-page__header h1::after,
.touring-page__header h2::after {
   content: "";
   display: block;
   width: 62%;
   margin: 0.45rem auto 0;
   border-bottom: 1px solid #c9c9c9;
}

/* =========================================
   ETIQUETTE SECTION
========================================= */

.touring-page__etiquette {
   padding: 0 0 2.5rem;
}

.touring-rule-card {
   background: #fff;
   border: 1px solid #e2e2e2;
   border-radius: 12px;
   padding: 1.2rem 1.2rem 1.1rem;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.touring-rule--intro,
.touring-rule--outro {
   padding: 1.3rem 1.35rem;
}

.touring-rule .title {
   margin: 0 0 0.65rem;
   font-size: 1.1rem;
   font-style: italic;
   font-weight: 500;
   color: #555;
   line-height: 1.35;
}

.touring-rule .answ {
   margin: 0;
   color: #555;
   font-size: 14px;
   line-height: 1.6;
}

.touring-rule .list {
   margin: 0 0 0.25rem;
   color: #666;
   font-size: 14px;
   line-height: 1.5;
}

.touring-rule .list:last-of-type {
   margin-bottom: 0.6rem;
}

/* =========================================
   PARTS SECTION
========================================= */

.touring-page__parts {
   padding: 0;
}

.touring-parts-grid {
   align-items: stretch;
}

.touring-part-card {
   background: #fff;
   border: 1px solid #e2e2e2;
   border-radius: 12px;
   padding: 1rem;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
   display: flex;
   flex-direction: column;
   gap: 0.85rem;
   transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.touring-part-card:hover {
   transform: translateY(-3px);
   box-shadow: 0 8px 18px rgba(0, 0, 0, 0.07);
}

.touring-part-card .img_box {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 170px;
   border-radius: 10px;
   overflow: hidden;
   background: #fafafa;
}

.touring-part-card .img_box img {
   max-width: 100%;
   max-height: 160px;
   object-fit: contain;
   display: block;
}

.touring-part-card .text {
   text-align: center;
}

.touring-part-card .text h4 {
   margin: 0;
   font-size: 1rem;
   font-weight: 500;
   color: #444;
   line-height: 1.4;
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
   .touring-page {
      padding: 2rem 0 2.5rem;
   }

   .touring-page__header h1,
   .touring-page__header h2 {
      font-size: 2rem;
   }

   .touring-rule-card {
      padding: 1rem;
   }

   .touring-part-card {
      padding: 0.9rem;
   }

   .touring-part-card .img_box {
      min-height: 150px;
   }

   .touring-part-card .img_box img {
      max-height: 140px;
   }
}