/* Top nav dropdowns + mobile menu (Hotelier Times) */
.tht-nav{position:relative;align-items:center}
.tht-nav-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;margin:0 0 0 auto;border:1px solid #121212;background:#fff;color:#121212;font-family:"Libre Franklin",Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.tht-nav-toggle::before{content:"";display:inline-block;width:14px;height:10px;background:linear-gradient(to bottom,#121212 0,#121212 2px,transparent 2px,transparent 4px,#121212 4px,#121212 6px,transparent 6px,transparent 8px,#121212 8px,#121212 10px)}
.tht-nav.is-open .tht-nav-toggle{background:#121212;color:#fff}
.tht-nav.is-open .tht-nav-toggle::before{background:linear-gradient(to bottom,#fff 0,#fff 2px,transparent 2px,transparent 4px,#fff 4px,#fff 6px,transparent 6px,transparent 8px,#fff 8px,#fff 10px)}
.tht-nav-list{display:contents}
.tht-nav-dd{position:relative;display:inline-flex;align-items:center}
.tht-nav-dd > .tht-nav-parent{padding:6px 4px 6px 11px}
.tht-nav-caret{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:6px 10px 6px 2px;margin:0;cursor:pointer;line-height:1;color:inherit}
.tht-nav-caret::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.tht-nav-dd.is-open > .tht-nav-caret::after,
.tht-nav-dd:hover > .tht-nav-caret::after,
.tht-nav-dd:focus-within > .tht-nav-caret::after{transform:rotate(-135deg) translateY(-1px)}
.tht-nav-panel{display:none;position:absolute;left:0;top:100%;z-index:1200;min-width:180px;padding:6px 0;margin:0;background:#fff;border:1px solid #121212;box-shadow:0 10px 24px rgba(0,0,0,.12);text-align:left}
.tht-nav-panel a{display:block;padding:10px 16px;font-weight:500;white-space:nowrap;color:#121212;text-decoration:none}
.tht-nav-panel a:hover,
.tht-nav-panel a:focus{background:#f5efe2;outline:0}
.tht-nav-dd:hover > .tht-nav-panel,
.tht-nav-dd:focus-within > .tht-nav-panel,
.tht-nav-dd.is-open > .tht-nav-panel{display:block}

/* Mobile: override style.css .tht .tht-nav{flex-wrap:nowrap;overflow-x:auto} so MENU
   sits on its own row and the open list is full-width below (no side gap). */
@media (max-width:900px){
  .tht .tht-nav,
  nav.tht-nav,
  .tht-nav{
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    overflow-x:visible!important;
    overflow:visible!important;
  }
  .tht .tht-nav-toggle,
  nav.tht-nav .tht-nav-toggle,
  .tht-nav-toggle{
    display:flex;
    width:100%;
    max-width:100%;
    flex:0 0 100%;
    box-sizing:border-box;
    margin:0;
  }
  .tht .tht-nav-list,
  nav.tht-nav .tht-nav-list,
  .tht-nav-list{
    display:none;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    max-width:100%;
    flex:0 0 100%;
    box-sizing:border-box;
    padding:8px 0 4px;
    border-top:1px solid #ddd;
    margin-top:8px;
  }
  .tht .tht-nav.is-open .tht-nav-list,
  nav.tht-nav.is-open .tht-nav-list,
  .tht-nav.is-open .tht-nav-list{display:flex}
  .tht-nav-list > a,
  .tht-nav-dd{
    display:flex;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .tht-nav-list > a{padding:10px 4px}
  .tht-nav-dd{
    flex-wrap:wrap;
    align-items:center;
  }
  .tht-nav-dd > .tht-nav-parent{
    flex:1 1 auto;
    min-width:0;
    padding:10px 4px;
  }
  .tht-nav-caret{
    flex:0 0 auto;
    margin-left:auto;
    padding:10px 12px;
  }
  .tht-nav-panel{
    position:static;
    display:none;
    flex:0 0 100%;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    border:0;
    border-left:2px solid #121212;
    box-shadow:none;
    background:transparent;
    padding:0 0 6px 10px;
    margin:0 0 4px;
  }
  .tht-nav-dd:hover > .tht-nav-panel,
  .tht-nav-dd:focus-within > .tht-nav-panel{display:none}
  .tht-nav-dd.is-open > .tht-nav-panel{display:block}
  .tht-nav-panel a{padding:9px 8px;white-space:normal}
}


/* Dateline: center the date under the tagline (overrides header.php flex strip) */
.tht-mast .tht-dateline,
.tht-dateline{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  justify-content:normal!important;
  flex-wrap:nowrap!important;
  column-gap:12px!important;
  row-gap:4px!important;
  text-align:left!important;
}
.tht-mast .tht-dateline > span:first-child,
.tht-dateline > span:first-child{
  justify-self:start!important;
  text-align:left!important;
}
.tht-mast .tht-dateline-date,
.tht-dateline-date{
  grid-column:2!important;
  justify-self:center!important;
  text-align:center!important;
}
.tht-mast .tht-dateline > span:last-child,
.tht-dateline > span:last-child{
  justify-self:end!important;
  text-align:right!important;
}

@media (max-width:600px){
  /* Date alone on a centered line; hide uneven side labels */
  .tht-mast .tht-dateline,
  .tht-dateline{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    grid-template-columns:none!important;
  }
  .tht-mast .tht-dateline > span:first-child,
  .tht-mast .tht-dateline > span:last-child,
  .tht-dateline > span:first-child,
  .tht-dateline > span:last-child{
    display:none!important;
  }
  .tht-mast .tht-dateline-date,
  .tht-dateline-date{
    display:block!important;
    grid-column:auto!important;
    justify-self:center!important;
    text-align:center!important;
    width:100%!important;
  }
}
