/* Page styles for /caravans (moved from inline <style>) */
/* ===== CARAVANS PAGE EXTRAS ===== */
    .caravan-hero-img {
      width: 100%; height: 480px;
      object-fit: cover; border-radius: var(--radius);
      box-shadow: var(--shadow);
    }
    .caravan-intro-grid {
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: 60px;
      align-items: center;
    }
    .caravan-intro-text h2 {
      font-size: clamp(1.6rem, 3vw, 2.4rem);
      font-weight: 900; margin-bottom: 18px;
    }
    .caravan-intro-text p {
      color: var(--gray); font-size: 0.96rem;
      line-height: 2; margin-bottom: 14px;
    }
    .caravan-badges {
      display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0;
    }
    .caravan-badge {
      display: flex; align-items: center; gap: 8px;
      padding: 10px 18px; border-radius: 50px;
      background: var(--gold-dim); border: 1px solid var(--border);
      font-size: 0.85rem; font-weight: 700; color: var(--gold);
    }

    /* Service Types */
    .caravan-types {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 22px;
    }
    .caravan-type-card {
      background: var(--card); border: 1px solid var(--border);
      border-radius: var(--radius); padding: 28px;
      transition: var(--tr); position: relative; overflow: hidden;
    }
    .caravan-type-card::before {
      content: ''; position: absolute; top: 0; right: 0; left: 0;
      height: 3px; background: var(--gold);
      transform: scaleX(0); transform-origin: right;
      transition: transform 0.4s ease;
    }
    .caravan-type-card:hover::before { transform: scaleX(1); }
    .caravan-type-card:hover {
      border-color: var(--gold); transform: translateY(-5px);
      box-shadow: 0 20px 50px rgba(245,166,35,0.1);
    }
    .caravan-type-icon {
      width: 56px; height: 56px; border-radius: 14px;
      background: var(--gold-dim); display: flex;
      align-items: center; justify-content: center;
      font-size: 26px; margin-bottom: 18px; border: 1px solid var(--border);
    }
    .caravan-type-card h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: 10px; }
    .caravan-type-card p { font-size: 0.87rem; color: var(--gray); line-height: 1.85; }
    .caravan-type-card ul {
      list-style: none; margin-top: 14px;
      display: flex; flex-direction: column; gap: 7px;
    }
    .caravan-type-card ul li {
      font-size: 0.83rem; color: var(--gray);
      display: flex; align-items: flex-start; gap: 8px;
    }
    .caravan-type-card ul li::before {
      content: '✓'; color: var(--gold); font-weight: 800; flex-shrink: 0;
    }

    /* Photo Gallery */
    .caravan-gallery {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-auto-rows: 240px;
      gap: 14px;
    }
    .caravan-gallery-item {
      border-radius: var(--radius); overflow: hidden;
      position: relative; cursor: pointer;
    }
    .caravan-gallery-item:nth-child(1) {
      grid-column: span 2; grid-row: span 2;
    }
    .caravan-gallery-item img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform 0.5s ease;
    }
    .caravan-gallery-item:hover img { transform: scale(1.06); }
    .caravan-gallery-item .g-overlay {
      position: absolute; inset: 0;
      background: rgba(8,8,8,0.5); opacity: 0;
      display: flex; align-items: center; justify-content: center;
      font-size: 2rem; transition: var(--tr);
    }
    .caravan-gallery-item:hover .g-overlay { opacity: 1; }

    /* Steps Process */
    .process-steps {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 0; position: relative;
    }
    .process-step {
      text-align: center; padding: 30px 20px;
      position: relative;
    }
    .process-step::after {
      content: '←'; position: absolute; top: 38px; left: -10px;
      font-size: 1.6rem; color: var(--gold); opacity: 0.5;
    }
    .process-step:first-child::after { display: none; }
    .step-num {
      width: 60px; height: 60px; border-radius: 50%;
      background: var(--gold); color: #000;
      font-size: 1.4rem; font-weight: 900;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 16px; box-shadow: 0 8px 24px rgba(245,166,35,0.35);
    }
    .process-step h4 { font-size: 0.95rem; font-weight: 800; margin-bottom: 8px; }
    .process-step p { font-size: 0.82rem; color: var(--gray); line-height: 1.7; }

    /* Safety Section */
    .safety-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 50px; align-items: center;
    }
    .safety-img {
      border-radius: var(--radius); overflow: hidden;
      position: relative;
    }
    .safety-img img {
      width: 100%; height: 400px; object-fit: cover;
      border-radius: var(--radius);
    }
    .safety-img-badge {
      position: absolute; bottom: 20px; right: 20px;
      background: rgba(8,8,8,0.92); border: 1px solid var(--border);
      border-radius: 12px; padding: 14px 18px;
      font-size: 0.82rem; color: var(--gold); font-weight: 700;
      backdrop-filter: blur(10px);
    }
    .safety-list { display: flex; flex-direction: column; gap: 14px; }
    .safety-item {
      display: flex; align-items: flex-start; gap: 14px;
      padding: 16px; border-radius: 12px;
      background: var(--card); border: 1px solid var(--border);
      transition: var(--tr);
    }
    .safety-item:hover { border-color: var(--gold); }
    .safety-item-icon {
      width: 42px; height: 42px; border-radius: 10px;
      background: var(--gold); color: #000;
      display: flex; align-items: center; justify-content: center;
      font-size: 18px; flex-shrink: 0;
    }
    .safety-item h4 { font-size: 0.92rem; font-weight: 800; margin-bottom: 4px; }
    .safety-item p { font-size: 0.82rem; color: var(--gray); }

    /* Keywords SEO Section */
    .seo-keywords-section {
      padding: 50px 5%; background: var(--bg2);
      border-top: 1px solid var(--border);
    }
    .keywords-cloud {
      display: flex; flex-wrap: wrap; gap: 10px;
      justify-content: center; max-width: 900px; margin: 20px auto 0;
    }
    .kw-tag {
      padding: 7px 16px; border-radius: 50px;
      background: var(--card); border: 1px solid var(--border);
      font-size: 0.8rem; color: var(--gray); transition: var(--tr);
    }
    .kw-tag:hover { color: var(--gold); border-color: var(--gold); }

    /* Responsive */
    @media (max-width: 900px) {
      .caravan-intro-grid { grid-template-columns: 1fr; }
      .caravan-hero-img { height: 300px; }
      .safety-grid { grid-template-columns: 1fr; }
      .safety-img { display: none; }
      .process-step::after { display: none; }
    }
    @media (max-width: 680px) {
      .caravan-gallery {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 180px;
      }
      .caravan-gallery-item:nth-child(1) {
        grid-column: span 2; grid-row: span 1;
      }
    }
    @media (max-width: 480px) {
      .caravan-gallery {
        grid-template-columns: 1fr;
        grid-auto-rows: 220px;
      }
      .caravan-gallery-item:nth-child(1) {
        grid-column: span 1;
      }
      .process-steps { grid-template-columns: 1fr; }
    }
