/* One Good Hour — page-level styles on top of the ported design system (ds/). */
body{margin:0;display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
.menu-logo{width:auto}
.menu-logo img{width:auto;height:46px}
.footer-logo{max-width:none}
.footer-logo img{width:auto;height:50px}
a{color:var(--primary)}
a:hover{color:var(--secondary)}
@keyframes bnrRounded{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
/* hero search capsule (grid form) */
.hero-search{background:#fff;border-radius:24px;box-shadow:var(--shadow-search);padding:10px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:0;align-items:stretch}
.hero-search .cell{padding:14px 20px;border-right:1px solid rgba(0,0,0,0.08)}
.hero-search .cell:nth-last-child(2){border-right:0}
.hero-search label{font-size:11.5px;font-weight:700;letter-spacing:0.6px;text-transform:uppercase;color:var(--text-body);display:block;margin-bottom:2px}
.hero-search .form-control{border:0;box-shadow:none;padding:0;height:auto;font-weight:600}
/* filter side card */
.filter-group h6{font-size:14px;margin-bottom:10px}
.filter-check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:500}
/* details/summary accordion adjustments */
.ttr-accordion details>summary::-webkit-details-marker{display:none}
.ttr-accordion details[open] .accordion-button::after{transform:rotateX(-180deg)}
/* slot chips (static render until booking JS lands) */
.slot-chip{display:inline-block;background:var(--primary-pale);color:var(--primary);padding:10px 16px;border-radius:50px;font-size:13px;font-weight:600;border:1px solid transparent}
.slot-chip.intro{background:#e8eefc;color:#2754e6}
.slot-chip.oneoff{background:#fff;color:#666;border-color:rgba(0,0,0,0.12)}
/* article body */
.article-body p{font-size:16.5px;line-height:1.75;margin-bottom:20px}
/* responsive fallbacks (desktop-first design) */
@media (max-width: 991px){
  .hero-search{grid-template-columns:1fr}
  .hero-search .cell{border-right:0;border-bottom:1px solid rgba(0,0,0,0.08)}
  .grid-2col,.grid-3col,.grid-4col,.grid-5col{grid-template-columns:1fr!important}
  .results-layout{grid-template-columns:1fr!important}
  .profile-layout{grid-template-columns:1fr!important}
  .hero-grid{grid-template-columns:1fr!important}
  .footer-top .container>div{grid-template-columns:1fr 1fr!important}
  .header .nav>li>a{padding:32px 9px;font-size:15px}
}
