/* Merapi 1.5.5: managed reviews and final visual polish. */
.section-lead{max-width:640px;margin:12px 0 0;color:var(--muted);font-size:16px}

/* Never let WordPress/custom preview styles squeeze the whole site into a card. */
html,body{width:100%;max-width:none}
body{margin:0!important;padding:0!important}
body>.app-shell{width:100%!important;max-width:none!important;margin:0!important;border:0!important;background:var(--paper)}

/* A calmer interface font and one spacing rhythm across the home page. */
body,button,input,select,textarea{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.tours-section,.directions-section,.home-reviews,.home-news,.manager-section{padding-block:72px}
.directions-section{padding-top:72px}
.home-reviews,.home-news{border-top:1px solid var(--line)}
.section-heading{margin-bottom:34px}
.section-heading h2{text-wrap:balance}

/* A true three-part header: logo, centred menu, actions. */
@media(min-width:1181px){
  .header-inner{display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);gap:20px}
  .logo-button,.custom-logo-link{justify-self:start}
  .main-nav{position:static;left:auto;transform:none;justify-self:center;white-space:nowrap}
  .header-actions{justify-self:end}
}
@media(min-width:1181px) and (max-width:1499px){
  .phone{display:none}
  .header-inner{grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr)}
  .main-menu{gap:22px}
  .header-actions{gap:9px}
  .header-actions>.primary-button{padding-inline:15px}
}
@media(max-width:1180px){
  .header-inner{position:relative}
  .phone{display:none}
  .menu-button{display:block}
  .main-nav{display:none;position:absolute;z-index:90;top:82px;left:0;right:0;transform:none;background:#fff;padding:15px 22px;box-shadow:var(--shadow)}
  .main-nav.open{display:block}
  .main-menu{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0}
  .main-menu a{padding:12px}
  .main-menu a:after{display:none}
}

/* The cover and article header use the site width; long copy stays readable. */
.news-single{width:100%}
.news-single .news-article{width:min(1240px,calc(100% - 64px));max-width:none}
.news-single .news-article-head{max-width:1040px;margin-inline:auto}
.news-single .news-cover{width:100%;max-height:650px}
.news-single .news-article>.entry-content{max-width:900px;margin-inline:auto}

/* Noticeable but restrained entrance for tour and cruise cards. */
.tour-card.reveal-on-scroll{animation:none!important;opacity:0;transform:translateY(28px) scale(.975);transition:opacity .58s cubic-bezier(.22,.75,.28,1) var(--reveal-delay,0ms),transform .58s cubic-bezier(.22,.75,.28,1) var(--reveal-delay,0ms)}
.tour-card.reveal-on-scroll.is-visible{opacity:1;transform:none}

.home-reviews{padding-block:80px;border-top:1px solid var(--line)}
.review-carousel{position:relative}
.review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 10px;scroll-behavior:smooth}
.review-track::-webkit-scrollbar{display:none}
.review-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 10px 30px rgba(31,73,119,.055)}
.review-card-compact{flex:0 0 calc((100% - 20px)/2);min-height:310px;scroll-snap-align:start;display:flex;flex-direction:column}
.review-card:before{content:"“";position:absolute;right:25px;bottom:-18px;color:#d9eaf4;font:700 112px/1 Georgia,serif;pointer-events:none}
.review-card-head{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:22px;position:relative;z-index:1}
.review-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--brand-navy);color:#fff;font-weight:800;letter-spacing:.04em}
.review-avatar-photo{overflow:hidden;background:#dcecf5}.review-avatar-photo img{width:100%;height:100%;object-fit:cover}
.review-card-head h2{font:700 18px/1.2 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;margin:0 0 3px;color:var(--brand-navy);letter-spacing:0}
.review-card-head p{margin:0;color:var(--text);font-size:13px;font-weight:600}
.review-card-head time{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.review-stars{color:#f2ad00;letter-spacing:.08em;font-size:15px;white-space:nowrap;align-self:start}
.review-card blockquote{position:relative;z-index:1;margin:auto 0 0;color:#38516a;font:400 18px/1.62 Georgia,"Times New Roman",serif}
.review-carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px}
.review-carousel-controls>span{min-width:48px;text-align:center;color:var(--muted);font-size:13px}
.review-carousel-controls>span b{color:var(--brand-navy)}
.review-carousel-controls>button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--brand-navy);font-size:26px;line-height:1;cursor:pointer}
.review-carousel-controls>button:hover{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff;transform:translateY(-2px)}
.review-dots{display:flex;align-items:center;gap:6px;margin-right:auto}
.review-dot{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#b9d2e1;cursor:pointer;transition:width .2s ease,background .2s ease}
.review-dot.active{width:25px;background:var(--brand-navy)}

.reviews-archive{padding-bottom:95px}.reviews-head{padding-top:50px;padding-bottom:38px}.reviews-head h1{margin-bottom:18px}.reviews-head .lead{max-width:760px;color:var(--muted);font-size:18px}
.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.reviews-grid .review-card{height:100%}
.review-card-content{position:relative;z-index:1;color:#40586f;font-size:16px;line-height:1.72}
.review-card-content p:last-child{margin-bottom:0}

@media(max-width:760px){
  .main-nav{top:66px}
  .news-single .news-article{width:min(100% - 30px,1240px)}
  .tours-section,.directions-section,.home-reviews,.home-news,.manager-section{padding-block:52px}
  .directions-section{padding-top:52px}
  .section-heading{gap:18px;margin-bottom:26px;flex-direction:column}
  .section-heading .text-button{align-self:flex-start}
  .review-card-compact{flex-basis:100%;min-height:335px;padding:23px}
  .review-card-head{grid-template-columns:48px minmax(0,1fr);gap:12px}.review-avatar{width:48px;height:48px}.review-stars{grid-column:2;margin-top:-4px}
  .review-card blockquote{font-size:17px}.review-dots{max-width:145px;overflow:hidden}
  .reviews-head{padding-top:34px}.reviews-head .lead{font-size:16px}.reviews-grid{grid-template-columns:1fr}.reviews-grid .review-card{padding:23px}
}
@media(prefers-reduced-motion:reduce){.review-track{scroll-behavior:auto}.tour-card.reveal-on-scroll{opacity:1;transform:none;transition:none}}
