/* Editorial content, scoped to the added articles and guides. */
.seo-content { max-width: 1120px; padding-top: 28px; padding-bottom: 56px; }
.seo-toc { padding: 22px 26px; margin-bottom: 30px; border: 1px solid #eadcb2; border-left: 4px solid #ffc400; border-radius: 12px; background: #fffaf0; }
.seo-eyebrow { margin: 0 0 12px; color: #972531; font-size: .73rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.seo-toc summary { color: #972531; font-size: .85rem; font-weight: 750; cursor: pointer; }
.seo-toc > nav { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 24px; padding-top: 18px; }
.seo-toc a { font-size: .85rem; line-height: 1.5; color: #263747; text-decoration: none; }
.seo-toc a:hover { color: #a92130; text-decoration: underline; }
.seo-editorial { display: grid; gap: 24px; min-width: 0; }
.seo-section { padding: clamp(22px, 4vw, 42px); background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; scroll-margin-top: 100px; min-width: 0; }
.seo-section:nth-of-type(3n + 2) { background: #fffcf5; border-color: #f0e5c8; }
.seo-section > h2 { margin: 0 0 20px; color: #102333; font-size: clamp(1.3rem, 2.5vw, 1.85rem); line-height: 1.3; letter-spacing: -.025em; max-width: 850px; }
.seo-section > h2::before { content: ''; display: block; width: 38px; height: 4px; border-radius: 4px; background: #bd2634; margin-bottom: 15px; }
.seo-section p { color: #475569; font-size: .97rem; line-height: 1.85; margin: 0 0 16px; }
.seo-section p:last-child { margin-bottom: 0; }
.seo-section p a, .seo-section li a { color: #972531; text-decoration: underline; text-underline-offset: 3px; }
.seo-section ul, .seo-section ol { padding-left: 22px; margin: 16px 0; color: #475569; }
.seo-section li { padding-left: 3px; margin-bottom: 9px; line-height: 1.7; }
.seo-figure { margin: 26px 0; border-radius: 12px; overflow: hidden; background: #f5f3ed; }
.seo-article-image { display: block; width: 100%; height: auto; max-height: 360px; object-fit: cover; }
.seo-figure figcaption { padding: 12px 16px; color: #64748b; font-size: .76rem; line-height: 1.6; }
.seo-existing-content > .container { width: 100%; max-width: none; padding: 0; }
.seo-existing-content .vehicle-detail-layout > .seo-figure { margin-top: 0; }
.seo-existing-content .vehicle-detail-layout,
.seo-existing-content .vehicle-detail-layout > *,
.seo-existing-content .booking-form-grid div,
.seo-existing-content .booking-form-grid .form-control { min-width: 0; max-width: 100%; }
.seo-existing-content .vehicle-info-card .btn { white-space: normal; max-width: 100%; }
.seo-rate-note { margin-top: 18px !important; padding: 14px 18px; background: #fff4ca; border-radius: 8px; font-size: .85rem !important; }
.seo-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.seo-button { display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; min-height: 44px; border-radius: 8px; background: #bd2634; color: #fff; font-size: .85rem; font-weight: 750; text-align: center; }
.seo-button:hover { color: #fff; background: #9e1e2b; }
.seo-button-secondary { background: #ffc400; color: #352500; }
.seo-button-secondary:hover { background: #ffda4d; color: #352500; }
.seo-related-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.seo-related-links a { display: block; padding: 11px 15px; border: 1px solid #ead8ad; border-radius: 8px; color: #7c2d31; background: #fff7df; font-size: .85rem; line-height: 1.5; }
.seo-related-links a:hover { border-color: #bd2634; background: #ffedb0; }
.seo-section details { margin: 0 0 12px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; overflow: hidden; }
.seo-section summary { cursor: pointer; padding: 17px 20px; font-weight: 700; color: #263747; line-height: 1.5; font-size: .93rem; }
.seo-section summary::marker { color: #bd2634; }
.seo-section details[open] summary { background: #fff7df; }
.seo-section details > p { padding: 16px 20px; margin: 0; }
.seo-testimonial { padding: 24px; background: #fff8e8; border-left: 4px solid #ffc400; border-radius: 8px; }
.seo-testimonial blockquote { margin: 12px 0 20px; }
.seo-testimonial blockquote p { font-size: 1.02rem; color: #334155; }
.seo-testimonial blockquote footer { font-weight: 750; color: #972531; font-size: .88rem; }
.seo-content :is(a, summary):focus-visible { outline: 3px solid #bd2634; outline-offset: 4px; }
.seo-image-label { position: absolute; bottom: 8px; left: 8px; padding: 4px 8px; border-radius: 4px; background: #fff; color: #475569; font-size: .7rem; }
.hero-content .hero-slide-title { color: #fff; font-family: var(--font-heading, 'Outfit', sans-serif); font-size: clamp(2.2rem, 4vw, 3.1rem); font-weight: 800; letter-spacing: -.02em; margin: 0 0 12px; line-height: 1.15; text-shadow: 0 2px 6px rgb(0 0 0 / 28%); }
@media (max-width: 767px) {
  :is(#locationsSection, #placesSection) > .container > div > .btn-primary { white-space: normal; max-width: 100%; }
  .seo-content { padding-top: 22px; padding-bottom: 36px; }
  .seo-toc { padding: 18px; }
  .seo-toc > nav { grid-template-columns: 1fr; }
  .seo-section { padding: 20px; border-radius: 12px; }
  .seo-section p { font-size: .91rem; line-height: 1.8; }
  .seo-section > h2 { font-size: 1.35rem; }
  .seo-article-image { max-height: 260px; }
  .seo-testimonial { padding: 18px; }
  .seo-existing-content .content-article { padding: 16px !important; }
  .hero-content .hero-slide-title { font-size: 1.875rem; line-height: 1.2; }
}
