/* Ndovu African Expeditions – small adjustments on top of the Serengeti Joy layout */
.gva-element-gva-logo img, .site-branding-logo img { width: 190px; max-width: 100%; height: auto; }
.wpcf7 input[type="date"], .wpcf7 input[type="number"] {
  width: 100%; height: 60px; padding: 0 15px; font-size: 15px; color: #82828a;
  background: #faf5ef; border: 1px solid transparent; border-radius: 0; margin-bottom: 20px; box-shadow: none;
}
.ndovu-comments .comment-respond { background: #faf5ef; padding: 30px; }
.ndovu-comments textarea, .ndovu-comments input[type="text"], .ndovu-comments input[type="email"], .ndovu-comments input[type="url"] {
  width: 100%; background: #fff; border: 1px solid #eee; padding: 12px 15px; margin-bottom: 15px;
}

html, body { overflow-x: hidden; }
/* normal pages (about, policies, guides, FAQ) */
.nd-page h2 { font-family: Oswald, sans-serif; font-size: 30px; color: #252b2d; margin: 30px 0 12px; }
.nd-page h3 { font-family: Oswald, sans-serif; font-size: 22px; color: #252b2d; margin: 24px 0 10px; }
.nd-page p, .nd-page li { color: #000; }
.nd-page ul { padding-left: 20px; }
.nd-faq { border: 1px solid #eee; border-radius: 6px; margin: 0 0 12px; background: #fff; }
.nd-faq summary { cursor: pointer; padding: 14px 18px; font-weight: 600; color: #252b2d; list-style: none; position: relative; padding-right: 44px; }
.nd-faq summary::-webkit-details-marker { display: none; }
.nd-faq summary::after { content: "+"; position: absolute; right: 18px; top: 10px; font-size: 22px; color: #bf7e39; }
.nd-faq[open] summary::after { content: "–"; }
.nd-faq[open] summary { border-bottom: 1px solid #eee; }
.nd-faq > div { padding: 14px 18px; }
.nd-btn { display: inline-block; background: #bf7e39; color: #fff !important; font-family: Oswald, sans-serif; letter-spacing: 1px; text-transform: uppercase; font-size: 14px; padding: 14px 28px; border-radius: 30px; transition: background .3s; }
.nd-btn:hover { background: #683c11; }
/* tour lists: long text on the dark band under the tours */
.elementor-element-3e1e72c h2, .elementor-element-3e1e72c h3, .elementor-element-3e1e72c h4 { color: #fff; font-family: Oswald, sans-serif; margin: 26px 0 10px; }
.elementor-element-3e1e72c h2 { font-size: 30px; } .elementor-element-3e1e72c h3 { font-size: 22px; }
.elementor-element-3e1e72c a { color: #e2b27c; }
.elementor-element-3e1e72c img { max-width: 100%; height: auto; border-radius: 6px; }
/* tour cards – same look as the tour cards on the Ndovu home page */
@font-face { font-family: "HK Grotesk"; src: url("../wp-content/themes/tripgo/assets/libs/fonts/HKGrotesk-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "HK Grotesk"; src: url("../wp-content/themes/tripgo/assets/libs/fonts/HKGrotesk-Medium.otf") format("opentype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "HK Grotesk"; src: url("../wp-content/themes/tripgo/assets/libs/fonts/HKGrotesk-SemiBold.otf") format("opentype"); font-weight: 600; font-display: swap; }
@font-face { font-family: "HK Grotesk"; src: url("../wp-content/themes/tripgo/assets/libs/fonts/HKGrotesk-Bold.otf") format("opentype"); font-weight: 700; font-display: swap; }
.nd-tours { background: #f7f3ee; padding: 60px 20px 70px; font-family: "HK Grotesk", sans-serif; }
.nd-tours-head { text-align: center; max-width: 1200px; margin: 0 auto 34px; }
.nd-tours-sub { color: #8b5a2b; font-size: 20px; margin-bottom: 6px; }
.nd-tours-title { font-family: "HK Grotesk", sans-serif; font-weight: 700; color: #683c11; font-size: 42px; line-height: 1.2; margin: 0 0 12px; text-transform: none; }
.nd-tours-intro { color: #333; font-size: 18px; margin: 0; }
.nd-tour-grid { max-width: 1900px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.nd-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 14px rgba(60, 40, 20, .08); display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.nd-card:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(60, 40, 20, .16); }
.nd-card-img { position: relative; }
.nd-card-img > a:first-child { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.nd-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s; }
.nd-card:hover .nd-card-img img { transform: scale(1.06); }
.nd-card-heart { position: absolute; top: 18px; right: 20px; color: #fff; line-height: 0; filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
.nd-card-heart:hover { color: #f3d3b0; }
.nd-card-days { position: absolute; left: 20px; bottom: -17px; display: inline-flex; align-items: center; gap: 4px; background: #fff; border: 1px solid #c9c2bb; border-radius: 4px; padding: 4px 8px; font-size: 16px; color: #333; line-height: 1.4; }
.nd-card-body { padding: 34px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.nd-card-title { font-family: "HK Grotesk", sans-serif; font-size: 19px; font-weight: 500; line-height: 1.45; margin: 0 0 10px; text-transform: none; letter-spacing: 0; }
.nd-card-title a { color: #3d2a1a; }
.nd-card-title a:hover { color: #bf7e39; }
.nd-card-loc { display: flex; align-items: center; gap: 5px; color: #444; font-size: 14px; }
.nd-card-loc svg { color: #b0763c; flex: none; }
.nd-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 26px; }
.nd-card-price { font-size: 20px; font-weight: 600; color: #222; }
.nd-card-btn { background: #8b5a2b; color: #fff !important; font-weight: 600; font-size: 16px; padding: 7px 22px; border-radius: 4px; transition: background .3s; }
.nd-card-btn:hover { background: #683c11; }
@media (max-width: 1200px) { .nd-tour-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .nd-tour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nd-tours-title { font-size: 32px; } }
@media (max-width: 560px) { .nd-tour-grid { grid-template-columns: 1fr; } .nd-tours { padding: 40px 15px; } .nd-tours-title { font-size: 26px; } }
/* Ndovu colours (as on the WordPress site) */
.elementor-kit-15, body.elementor-kit-15 { --e-global-color-text: #444444; --e-global-color-761d126: #683C11; --e-global-color-accent: #111B19; --e-global-color-d78bc54: #111B19; }
body { color: #444; }
.wp-site-header .elementor-element-d9e3da8 { background-color: #936037 !important; }   /* top bar: phone, e-mail */
.wp-site-header .elementor-element-d9e3da8 .elementor-icon-list-text, .wp-site-header .elementor-element-d9e3da8 i { color: #fff !important; }
.gva-nav-menu > li > a, .gva-nav-menu > li > a .menu-title { color: #683C11; }
.gva-nav-menu > li:hover > a, .gva-nav-menu > li:hover > a .menu-title, .gva-nav-menu .submenu-inner a:hover { color: #BF7E39; }
#wp-footer .elementor-element-609c919 { background-image: none !important; background-color: #683C11 !important; }
#wp-footer .elementor-element-609c919 > .elementor-background-overlay { display: none; }
#wp-footer .elementor-element-269f7a9 { background-color: #5a330e !important; }
#wp-footer h2.title, #wp-footer h2.title span, #wp-footer .elementor-icon-box-description, #wp-footer .elementor-icon-box-description a { color: #fff !important; }
#wp-footer .elementor-icon-list-text, #wp-footer .elementor-icon-box-title, #wp-footer .elementor-icon-box-title span, #wp-footer .elementor-widget-text-editor { color: #E9DFD4 !important; }
#wp-footer .elementor-icon-list-item:hover .elementor-icon-list-text { color: #fff !important; }
#wp-footer .elementor-icon-list-icon i, #wp-footer .elementor-icon-list-icon svg { color: #BAA396 !important; fill: #BAA396 !important; }
#wp-footer .elementor-icon { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.25) !important; color: #fff !important; }
#wp-footer .elementor-icon i { color: #fff !important; }
#wp-footer .elementor-social-icon { background: rgba(255,255,255,.15) !important; }
#wp-footer .elementor-social-icon i { color: #fff !important; }
.elementor-widget-text-editor, .nd-page p, .nd-page li { color: #444; }
/* social icons in the top bar (as on the WordPress site) */
.wp-site-header .elementor-element-9cac622 > .elementor-widget-wrap { display: flex; align-items: center; justify-content: flex-end; gap: 22px; flex-wrap: nowrap; }
.nd-top-social { display: flex; gap: 8px; }
.nd-top-social a { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.14); color: #fff !important; font-size: 15px; transition: background .3s; }
.nd-top-social a:hover { background: #bf7e39; }
.nd-top-social i { color: #fff; }
/* header menu with the WordPress site's 9 items: tighter spacing so it stays on one line */
.gva-nav-menu.gva-main-menu{flex-wrap:nowrap!important;white-space:nowrap}
.gva-nav-menu.gva-main-menu > li > a{padding-left:8px!important;padding-right:8px!important;font-size:13px!important;white-space:nowrap}
@media (max-width:1300px){.gva-nav-menu.gva-main-menu > li > a{padding-left:5px!important;padding-right:5px!important;font-size:12px!important}}
@media (max-width:1150px){.gva-nav-menu.gva-main-menu > li > a{padding-left:4px!important;padding-right:4px!important;font-size:11px!important}}

/* accessibility: larger tap targets in footer link lists, darker accent text, owl dots */
.elementor-icon-list-items li.elementor-icon-list-item > a{min-height:24px;padding-top:4px;padding-bottom:4px;box-sizing:border-box}
.sjt-side__all{color:#8a561f}
.owl-dots .owl-dot{min-width:24px;min-height:24px}
