/* Pekoe Lanka Tours – CMS section types (pages created in the admin panel).
   Matches the original design: Poppins headings, Roboto text, brand greens #38E54D / #9CFF2E, black text. */
.cms-page { font-family: "Roboto", sans-serif; color: #000; }
.cms-sec { padding: 64px 0; }
.cms-sec + .cms-sec { padding-top: 24px; }
.cms-wrap { max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.cms-narrow { max-width: 860px; }
.cms-center { text-align: center; }
.cms-h2 { font-family: "Poppins", sans-serif; font-weight: 600; font-size: clamp(26px, 3.2vw, 38px); line-height: 1.2; text-transform: uppercase; margin: 0 0 18px; color: #000; }
.cms-intro { font-size: 18px; line-height: 1.6; margin: 0 auto 24px; max-width: 760px; }
.cms-prose { font-size: 17px; line-height: 1.7; }
.cms-prose p { margin: 0 0 14px; } .cms-prose ul, .cms-prose ol { margin: 0 0 14px 22px; padding: 0; }
.cms-prose a { color: #0b6b1c; text-decoration: underline; }
.cms-prose h3 { font-family: "Poppins", sans-serif; font-weight: 600; font-size: 22px; margin: 22px 0 8px; }
.cms-btn { display: inline-block; font-family: "Poppins", sans-serif; font-weight: 500; font-size: 16px; color: #000 !important; text-decoration: none !important;
  background: #9CFF2E; padding: 13px 30px; border-radius: 3px; margin-top: 8px; transition: background .2s, transform .2s; }
.cms-btn:hover { background: #38E54D; }
.cms-btn:focus-visible { outline: 3px solid #0b6b1c; outline-offset: 2px; }

/* hero */
.cms-hero { min-height: 70vh; display: flex; align-items: center; background: #1c3a26 center/cover no-repeat; color: #fff; padding: 120px 0 90px; }
.cms-hero .cms-wrap { width: 100%; }
.cms-hero--center { text-align: center; } .cms-hero--center .cms-hero__text { margin-left: auto; margin-right: auto; }
.cms-hero__title { font-family: "Poppins", sans-serif; font-weight: 700; font-size: clamp(34px, 6vw, 64px); line-height: 1.1; margin: 0 0 18px; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.cms-hero__text { font-family: "Poppins", sans-serif; font-size: clamp(18px, 2.2vw, 26px); max-width: 760px; margin: 0 0 22px; color: #fff; }

/* image + text */
.cms-imgtext__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.cms-imgtext--right .cms-imgtext__media { order: 2; }
.cms-imgtext__media img { width: 100%; height: auto; border-radius: 6px; display: block; box-shadow: 0 0 10px rgba(0,0,0,.25); }

/* cards (same look as the tour cards of the original site) */
.cms-cards__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px; margin-top: 10px; }
.cms-card { display: flex; flex-direction: column; background: #fff; box-shadow: 0 0 10px rgba(0,0,0,.5); }
.cms-card__img { width: 100%; height: 240px; object-fit: cover; display: block; }
.cms-card__body { padding: 20px 20px 10px; flex: 1; }
.cms-card__title { font-family: "Poppins", sans-serif; font-weight: 600; font-size: 22px; text-transform: uppercase; margin: 0 0 10px; color: #000; }
.cms-card .cms-btn { margin: 0; text-align: center; border-radius: 0; display: block; }

/* call to action */
.cms-cta { padding: 70px 0; }
.cms-cta--brand { background: #38E54D; } .cms-cta--brand .cms-btn { background: #000; color: #fff !important; } .cms-cta--brand .cms-btn:hover { background: #222; }
.cms-cta--dark { background: #10231a; color: #fff; } .cms-cta--dark .cms-h2 { color: #fff; }
.cms-cta--light { background: #f4f6f4; }

/* gallery */
.cms-gallery__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.cms-gallery__item { margin: 0; }
.cms-gallery__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: 4px; transition: transform .3s; }
.cms-gallery__item a:hover img { transform: scale(1.03); }
.cms-gallery__item figcaption { font-size: 14px; color: #333; padding: 6px 2px; }

/* FAQ */
.cms-faq__item { border-bottom: 1px solid #ddd; padding: 4px 0; }
.cms-faq__item summary { cursor: pointer; font-family: "Poppins", sans-serif; font-weight: 500; font-size: 18px; padding: 14px 32px 14px 0; position: relative; list-style: none; }
.cms-faq__item summary::-webkit-details-marker { display: none; }
.cms-faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 10px; font-size: 26px; color: #2fc441; }
.cms-faq__item[open] summary::after { content: "–"; }
.cms-faq__item .cms-prose { padding: 0 0 14px; }

/* contact */
.cms-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.cms-contact__list { list-style: none; margin: 0; padding: 0; font-size: 17px; line-height: 2; }
.cms-contact__list a { color: #000; text-decoration: none; border-bottom: 2px solid #38E54D; }
.cms-contact__map iframe { width: 100%; height: 340px; border: 0; border-radius: 6px; }

/* video */
.cms-video__frame { position: relative; aspect-ratio: 16 / 9; }
.cms-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; }
.cms-caption { font-size: 15px; color: #444; margin-top: 10px; }

@media (max-width: 767px) {
  .cms-sec { padding: 44px 0; }
  .cms-imgtext__grid, .cms-contact__grid { grid-template-columns: 1fr; gap: 24px; }
  .cms-imgtext--right .cms-imgtext__media { order: 0; }
  .cms-hero { min-height: 60vh; padding: 100px 0 70px; }
}
@media (prefers-reduced-motion: reduce) { .cms-btn, .cms-gallery__item img { transition: none; } .cms-gallery__item a:hover img { transform: none; } }
