@charset "UTF-8";

/*
  Child theme overrides.
  Loaded after parent handle `tb-custom` so it can safely override parent `assets/css/custom.css`.
*/

/* Cooperate page layout tweaks */
.page-template-page-cooperate .tb-cooperate-layout{align-items:flex-start}
.page-template-page-cooperate .tb-cooperate-side{flex:0 0 320px;padding:0}
.page-template-page-cooperate .tb-cooperate-side .widget{margin:0}
.page-template-page-cooperate .tb-cooperate-main-card{flex:1}

/* Desktop header top menu alignment + interactions */
@media (min-width: 891px){
  /* Fix subtle baseline offset across items */
  .tb-header .top-nav>li>a{display:flex;align-items:center}

  /* Current menu: bold */
  .tb-header .top-nav .current-menu-item>a,
  .tb-header .top-nav .current-menu-parent>a,
  .tb-header .top-nav .current-menu-ancestor>a,
  .tb-header .top-nav .current-post-ancestor>a,
  .tb-header .top-nav .current-category-ancestor>a{font-weight:700}

  /* Underline: centered + solid color; only the reveal animates */
  .tb-header .top-nav>li>a{position:relative;padding-bottom:6px}
  .tb-header .top-nav>li>a::after{content:"";position:absolute;left:calc(50% - 16px);right:auto;bottom:0;height:3px;border-radius:2px;
    /* Parent theme reserves 32px right padding for the dropdown arrow; exclude it so underline centers under text */
    width:calc(100% - 32px);
    background-color:var(--tb--main);
    opacity:0;pointer-events:none;
    transform:translateX(-50%) scaleX(0);
    transform-origin:50% 50%;
    transition:opacity .15s ease, transform .25s ease}
  .tb-header .top-nav>li:hover>a::after{opacity:1;transform:translateX(-50%) scaleX(1)}
  .tb-header .top-nav .current-menu-item>a::after,
  .tb-header .top-nav .current-menu-parent>a::after,
  .tb-header .top-nav .current-menu-ancestor>a::after,
  .tb-header .top-nav .current-post-ancestor>a::after,
  .tb-header .top-nav .current-category-ancestor>a::after{opacity:1;transform:translateX(-50%) scaleX(1)}
}

/* Sidebar/search widget: align input + button inline, centered and touching */
.widget_search .tb-search-form{
  float:none; /* override theme header search rule */
  display:flex;
  align-items:stretch;
  justify-content:center;
  width:100%;
}
.widget_search .tb-search-form .tb-base-form{
  flex:1 1 auto;
  width:auto; /* override width:calc(100% - 60px) */
  min-width:0;
  margin:0;
  height:40px;
  line-height:40px;
  border-right:none;
  border-top-right-radius:0;
  border-bottom-right-radius:0;
}
.widget_search .tb-search-form .tb-primary-btn{
  float:none; /* override theme header search rule */
  flex:0 0 60px;
  width:60px;
  height:40px;
  line-height:40px;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-top-left-radius:0;
  border-bottom-left-radius:0;
}

/* WP block widget: Search (Gutenberg) */
.tb-sidebar .wp-block-search{
  margin:0;
}
.tb-sidebar .wp-block-search__inside-wrapper{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:0;
  width:100%;
}
.tb-sidebar .wp-block-search__input{
  flex:1 1 auto;
  min-width:0;
  box-sizing:border-box;
  height:40px;
  padding:4px 12px;
  border:1px solid #e7ebf3;
  border-right:none;
  border-radius:4px 0 0 4px;
  -webkit-appearance:none;
}
.tb-sidebar .wp-block-search__button{
  margin:0;
  box-sizing:border-box;
  height:40px;
  padding:0 16px;
  border:1px solid var(--tb--main);
  border-radius:0 4px 4px 0;
  background:var(--tb--main);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tb-sidebar .wp-block-search__button:hover{opacity:.85}
