/* ===== Tom Bacus Books: small site-wide touches (colors/fonts/layout live in Elementor) ===== */
html { scroll-behavior: smooth; }
section[id], .e-con[id] { scroll-margin-top: 96px; }

/* Sticky header */
#masthead, .ehf-header #masthead { position: sticky; top: 0; z-index: 50; }
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead { top: 0; } }

/* Main navigation: always one line */
#masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu { flex-wrap: nowrap; }
#masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li > a,
#masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li > .hfe-has-submenu-container > a { white-space: nowrap; }
@media (min-width: 1025px) and (max-width: 1240px) {
  #masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li > a,
  #masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li > .hfe-has-submenu-container > a { font-size: 13px; letter-spacing: 0.06em; }
  #masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li { margin-right: 14px !important; }
  #masthead .tbb-btn .elementor-button { padding: 11px 16px; font-size: 13px; }
}

/* Button "press" effect: button sinks into its shadow on hover */
.tbb-btn .elementor-button { transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.tbb-btn .elementor-button:hover { transform: translateY(3px); }
.tbb-press-clay .elementor-button:hover { box-shadow: 0 2px 0 #7E4327 !important; }
.tbb-press-teal .elementor-button:hover { box-shadow: 0 2px 0 #28535F !important; }
.tbb-press-sage .elementor-button:hover { box-shadow: 0 2px 0 #5F7A56 !important; }
.tbb-press-sagelt .elementor-button:hover { box-shadow: 0 2px 0 #7A9169 !important; }
.tbb-press-forest .elementor-button:hover { box-shadow: 0 2px 0 #25301F !important; }
.tbb-press-moss .elementor-button:hover { box-shadow: 0 2px 0 #3F5439 !important; }
.tbb-press-light .elementor-button:hover { box-shadow: 0 2px 0 rgba(244,241,230,0.35) !important; }
.tbb-press-off .elementor-button { cursor: default; }
.tbb-press-off .elementor-button:hover { transform: none; }

/* Educator cards lift on hover */
.tbb-lift { transition: transform .18s ease, box-shadow .18s ease; }
.tbb-lift:hover { transform: translateY(-4px); box-shadow: 0 11px 0 #C9D6BE, 0 26px 38px rgba(59,74,56,0.18) !important; }

/* Email signup width (Kit form; old Jetpack form styles removed Oct 29 so Kit styling shows) */
.elementor-widget.tbb-signup { width: 100%; max-width: 600px; }

/* Contact form (Fluent Forms) */
.tbb-contact .ff-el-input--label label { font-family: "Nunito Sans", sans-serif; font-size: 14px; font-weight: 700; color: #5D5A52; }
.tbb-contact .ff-el-form-control { background: #FFFDF8 !important; border: 1.5px solid #DDE5D3 !important; border-radius: 12px !important;
  padding: 14px 16px !important; font-family: "Nunito Sans", sans-serif; font-size: 15px; color: #33352F; min-height: 52px; }
.tbb-contact .ff-el-form-control:focus { border-color: #96AE85 !important; box-shadow: 0 0 0 3px rgba(150,174,133,0.25) !important; }
.tbb-contact .ff-btn-submit { background: #B06A47 !important; color: #FFF9F1 !important; border: none !important; border-radius: 999px !important;
  padding: 17px 34px !important; font-family: "Nunito Sans", sans-serif; font-weight: 700; font-size: 16px; box-shadow: 0 5px 0 #7E4327;
  transition: transform .15s ease, box-shadow .15s ease; }
.tbb-contact .ff-btn-submit:hover { background: #C67F5D !important; transform: translateY(3px); box-shadow: 0 2px 0 #7E4327; opacity: 1; }

/* Links inside body copy */
.elementor-widget-text-editor a { color: #A5613F; }
.elementor-widget-text-editor a:hover { color: #C67F5D; }



/* Journal post hero image (Oct 21) */
.tbb-post-hero{margin:0 0 32px;}
.tbb-post-hero img{width:100%;height:420px;object-fit:cover;border-radius:18px;display:block;}
@media (max-width:767px){.tbb-post-hero img{height:240px;border-radius:14px;}}

/* Home journal card: image fills card height (Oct 27) */
@media (min-width:1025px){.tbb-fill-img{flex:1 1 auto;position:relative;min-height:440px}.tbb-fill-img img{position:absolute;top:0;left:0;width:100%;height:100% !important;object-fit:cover}}

/* Privacy Policy page (plain WordPress page, Oct 29) */
body.page-id-302{background:#FBF5EC}
body.page-id-302 .site-main{max-width:760px;margin:0 auto;padding:56px 20px 80px;font-family:"Nunito Sans",sans-serif;color:#5D5A52;font-size:17px;line-height:1.7}
body.page-id-302 .page-header .entry-title{font-family:"Bitter",serif;color:#3B4A38;font-size:44px;font-weight:700;margin-bottom:8px}
body.page-id-302 .page-content h2{font-family:"Bitter",serif;color:#3B4A38;font-size:24px;font-weight:700;margin:36px 0 10px}
body.page-id-302 .page-content a{color:#B06A47}
body.page-id-302 .page-content ul{padding-left:22px;margin:0 0 16px}
body.page-id-302 .page-content li{margin-bottom:6px}
@media (max-width:767px){body.page-id-302 .page-header .entry-title{font-size:34px}}

/* ===== Mobile fixes (Oct 29) ===== */
@media (max-width: 1024px) {
  #masthead .elementor-element-981a904 .hfe-nav-menu__toggle { margin-left: auto; margin-right: 0; }
  #masthead nav.hfe-dropdown { background: #FBF5EC; border-top: 1px solid #E6E0D4; box-shadow: 0 14px 24px rgba(59,74,56,.10); }
  #masthead nav.hfe-dropdown .hfe-nav-menu { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
  #masthead nav.hfe-dropdown .hfe-nav-menu > li { width: 100%; margin: 0 !important; border-bottom: 1px solid #EDE7DB; }
  #masthead nav.hfe-dropdown .hfe-nav-menu li a { white-space: normal; padding: 15px 24px !important; font-size: 15px; }
  #masthead nav.hfe-dropdown .sub-menu li a { padding-left: 40px !important; }
}
.tbb-signup--dark .formkit-powered-by-convertkit { filter: invert(1) brightness(1.5); opacity: .8; }
@media (max-width: 767px) {
  .elementor-element-a56e584 { order: 2; }
}

/* ===== Journal posts and Journal page (plain WordPress templates, Oct 29) ===== */
body.single-post, body.blog { background: #FBF5EC; }
body.single-post .site-main, body.blog .site-main { max-width: 760px; margin: 0 auto; padding: 56px 20px 72px; font-family: "Nunito Sans", sans-serif; color: #5D5A52; font-size: 17px; line-height: 1.75; }
body.single-post .page-header .entry-title, body.blog .page-header .entry-title { font-family: "Bitter", serif; font-weight: 700; color: #3B4A38; font-size: 42px; line-height: 1.15; margin-bottom: 24px; }
body.blog .page-header .entry-title { font-size: 0; }
body.blog .page-header .entry-title::before { content: "Journal"; font-size: 42px; }
body.blog .page-content article.post { padding-bottom: 36px; margin-bottom: 36px; border-bottom: 1px solid #E4DFD3; }
body.blog .page-content article.post .entry-title { font-family: "Bitter", serif; font-weight: 700; font-size: 26px; line-height: 1.25; margin-bottom: 16px; }
body.blog .page-content article.post .entry-title a { color: #3B4A38; text-decoration: none; }
body.blog .page-content article.post img { border-radius: 18px; margin-bottom: 14px; }
body.single-post .page-content h2, body.single-post .page-content h3 { font-family: "Bitter", serif; color: #3B4A38; font-weight: 700; margin: 36px 0 12px; }
body.single-post .page-content a, body.blog .page-content p a { color: #B06A47; }
body.single-post .comments-area { font-family: "Nunito Sans", sans-serif; color: #5D5A52; }
body.single-post .comments-area h2, body.single-post .comments-area h3, body.single-post .comment-reply-title { font-family: "Bitter", serif; color: #3B4A38; font-size: 24px; }
body.single-post .comments-area a { color: #B06A47; }
@media (max-width: 767px) {
  body.single-post .site-main, body.blog .site-main { padding: 36px 18px 56px; font-size: 16.5px; }
  body.single-post .page-header .entry-title, body.blog .page-header .entry-title::before { font-size: 32px; }
}
