/* ==========================================================================
   Fuga – WordPress-only additions (fuga.css is identical to the approved HTML design)
   ========================================================================== */

/* admin bar: keep the sticky header below it */
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}

/* form messages + spam trap */
.notice{padding:14px 18px;font-size:15px;border-left:4px solid}
.notice.ok{background:#E7F1EA;border-color:var(--brand)}
.notice.err{background:#FBEAEA;border-color:#B3261E}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.tour-pick{background:var(--grey);padding:16px 18px}
.tour-pick small{display:block;font:500 11px/1 var(--font);letter-spacing:1.2px;text-transform:uppercase;color:var(--grey-3);margin-bottom:6px}
.tour-pick b{font-weight:500;font-size:17px}

/* search chips rendered as buttons */
button.chip{cursor:pointer;font-family:var(--font)}

/* editor content inside .prose */
.prose>*:first-child{margin-top:0}
.prose figure{margin:24px 0}
.prose figcaption,.wp-caption-text,.wp-element-caption{font-size:13.5px;color:var(--grey-3);margin-top:8px}
.prose blockquote{margin:26px 0;padding:4px 0 4px 22px;border-left:4px solid var(--sage);font-size:19px}
.prose hr{border:0;border-top:1px solid var(--grey-2);margin:36px 0}
.prose h4{font-size:18px;margin:26px 0 10px}
.prose .wp-caption{max-width:100%}
.prose .aligncenter{margin-left:auto;margin-right:auto}
.prose .alignleft{float:left;margin:6px 24px 12px 0;max-width:50%}
.prose .alignright{float:right;margin:6px 0 12px 24px;max-width:50%}
.prose::after{content:"";display:table;clear:both}
.prose .wp-block-button__link{display:inline-block;background:#000;color:#fff;text-decoration:none;font:700 11px/1 var(--font);letter-spacing:1px;text-transform:uppercase;padding:15px 20px}
.prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}
.prose .map iframe{aspect-ratio:auto;height:100%}
@media (max-width:767px){.prose .alignleft,.prose .alignright{float:none;max-width:100%;margin:16px 0}}

/* Elementor pages shown inside the theme */
.elementor-page main>.elementor{max-width:none}

/* Home: "What we provide" (keyphrase intro + service guide) */
.provide{padding-top:10px}
.provide-intro{max-width:780px;margin-bottom:30px}
.provide-intro h2{font-size:clamp(24px,2.6vw,32px);margin:0 0 14px}
.provide-intro p{font-size:16.5px;color:var(--muted)}
.provide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.provide-grid a{display:grid;grid-template-columns:42px 1fr;column-gap:14px;align-items:start;background:var(--grey);padding:18px;transition:background .2s,transform .25s var(--ease)}
.provide-grid a:hover{background:#e3e7ea;transform:translateY(-2px)}
.provide-grid .ic{grid-row:span 2;width:42px;height:42px;background:#fff;display:grid;place-items:center}
.provide-grid svg{width:20px;height:20px}
.provide-grid b{font-weight:500;font-size:15.5px;line-height:1.3}
.provide-grid small{font-size:13px;color:var(--muted);margin-top:4px}
@media (max-width:1024px){.provide-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.provide-grid{grid-template-columns:1fr}.provide-grid a{padding:14px}}

/* Mobile: Joinchat sits above the bottom action bar; back-to-top moves left */
@media (max-width:767px){
  .joinchat{--bottom:56px!important}
  .to-top{left:12px;right:auto}
}

/* Mobile comfort: bigger tap targets and slightly larger button text (Google recommends ~48px targets) */
@media (max-width:767px){
  .btn{font-size:12px;padding:15px 18px}
  .card .btn{font-size:11.5px;padding:13px 14px}
  .box ul{gap:2px}
  .box ul a{display:inline-block;padding:9px 0;min-height:40px}
  .chip,.route-chips .chip{min-height:40px;padding:12px 14px}
  .days-tools .link,button.link{padding:10px 4px}
  .site-footer ul{gap:4px}
  .site-footer ul a{display:inline-block;padding:7px 0}
  .crumbs a{display:inline-block;padding:6px 0}
  .card h3 a{display:block;padding:4px 0}
  .faq summary{padding:20px 34px 20px 0}
  .subnav a{padding:18px 14px}
  .dest-card .mini a,.author-box a{display:inline-block;padding:9px 0}
}

/* v2.4 Kenya: five destination tiles (tall tile in the middle column), third thumb group in the Destinations mega menu, lodge-guide links on tours */
.dest.five{grid-template-columns:1fr 1.15fr 1fr}
.mm-in>.mm-thumbs{flex:1.3 1 0}
.mm-thumbs:nth-of-type(n+2) .mm-grid{grid-template-columns:1fr}
.stay-guide{align-self:start;display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--line,#e3e3e3);background:#fff;color:inherit}
.stay-guide small{color:var(--grey-3);text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.stay-guide b{font-size:19px;font-weight:500}
.stay-guide span{color:var(--muted);font-size:14px}
.stay-guide em{font-style:normal;margin-top:6px;text-decoration:underline}
.stay-guide:hover{border-color:#000}
@media (max-width:900px){.dest.five{grid-template-columns:1fr}}
.mm-in>.mm-thumbs:first-of-type{flex:1.9 1 0}
