/* Tally-Hoe landing page (Deb's mockup, 2026-11-06). Loaded only on that page, after design.css
   and home.css; every rule is scoped to the page. */

/* WordPress wraps each group's blocks in an inner container; it steps aside so the grids below see the parts. */
.gbms-thi-board > .wp-block-group__inner-container, .gbms-thi-how > .wp-block-group__inner-container { display: contents; }
.gbms-thinfo .entry-content > .wp-block-group { margin-top: 0; margin-bottom: 0; }
.gbms-thinfo .entry-content-wrap { padding-top: 0; }

/* Icons: one mask, coloured per use. */
.gbms-thi-btn .wp-block-button__link::before, .gbms-thi-full .wp-block-button__link::after, .gbms-thl-card h3::before, .gbms-thg h2::before, .gbms-thg-facts li::before, .gbms-thg-list li::before, .gbms-thi-checks li::before, .gbms-thi-private h3::before { content: ""; display: inline-block; flex: none; background: currentColor; -webkit-mask: no-repeat center / contain var(--gbms-icon); mask: no-repeat center / contain var(--gbms-icon); }
.gbms-thi-add { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2h4v8h8v4h-8v8h-4v-8H2v-4h8z'/%3E%3C/svg%3E"); }
.gbms-thi-journal { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 44'%3E%3Cpath fill-rule='evenodd' d='M2 4c9-3 18-2 26 3 8-5 17-6 26-3v38c-9-3-18-2-26 2-8-4-17-5-26-2zm5 4v27c6-1 12 0 18 2V10c-6-3-12-3-18-2zm42 0c-6-1-12-1-18 2v27c6-2 12-3 18-2z'/%3E%3C/svg%3E"); }
.gbms-thi-leaders, .gbms-thi-full { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M2 26h12v20H2zM18 14h12v32H18zM34 2h12v44H34z'/%3E%3C/svg%3E"); }
.gbms-thl-card h3, .gbms-thg-patch { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M44 3C22 3 6 13 6 31c0 4 1 8 3 11l-5 4 3 2 5-4c3 2 7 3 11 3 18 0 24-18 21-44zM14 38c4-12 12-20 22-25-9 7-15 15-19 26z'/%3E%3C/svg%3E"); }
.gbms-thg h2 { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M8 4h8v18c0 6 4 10 8 10s8-4 8-10V4h8v18c0 11-7 18-16 18S8 33 8 22zm-2 40h10v4H6zm26 0h10v4H32z'/%3E%3C/svg%3E"); }
.gbms-thg-points { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M24 2a17 17 0 1 1 0 34a17 17 0 1 1 0-34zm0 7 3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1zM14 36l-4 11 7-3 4 4 2-8zm20 0 4 11-7-3-4 4-2-8z'/%3E%3C/svg%3E"); }
.gbms-thg-all { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M6 44C3 30 5 16 14 9c3-3 7-4 10-4s7 1 10 4c9 7 11 21 8 35h-8c3-12 2-24-3-28-2-2-5-3-7-3s-5 1-7 3c-5 4-6 16-3 28zM6.5 34a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM6.7 24a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM11 15a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM38.5 34a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM38.3 24a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM34 15a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0z'/%3E%3C/svg%3E"); }
.gbms-thg-season { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M12 1h5v5h14V1h5v5h6a5 5 0 0 1 5 5v31a5 5 0 0 1-5 5H6a5 5 0 0 1-5-5V11a5 5 0 0 1 5-5h6zM6 17v24h36V17zm5 5h6v5h-6zm10 0h6v5h-6zm10 0h6v5h-6zm-20 9h6v5h-6zm10 0h6v5h-6z'/%3E%3C/svg%3E"); }
.gbms-thg-check, .gbms-thi-checks li { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-2.8 2.8L9 21.8 22 8.8 19.2 6z'/%3E%3C/svg%3E"); }
.gbms-thg-flag { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M6 2h5v44H6zM13 4h28l-7 10 7 10H13z'/%3E%3C/svg%3E"); }
.gbms-thi-private h3 { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M24 2l18 7v13c0 11-8 20-18 24C14 42 6 33 6 22V9zM14.5 24.5l3-3 4.5 4.5 9.5-10 3 3-12.5 13z'/%3E%3C/svg%3E"); }
.gbms-thi-full .wp-block-button__link::after { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.6 3 7 4.6 14.4 12 7 19.4 8.6 21l9-9z'/%3E%3C/svg%3E"); }

/* Hero: the page's photo behind a forest wash, the original logo on a white badge, then the title. */
.gbms-hero-thinfo { min-height: clamp(260px, 26vw, 360px); padding: 2rem 1.25rem clamp(4rem, 7vw, 5.5rem); }
.gbms-hero-thinfo .gbms-hero-img { object-position: center 40%; }
.gbms-hero-thinfo::after { background: linear-gradient(90deg, rgba(20, 40, 30, .88) 0%, rgba(20, 40, 30, .7) 45%, rgba(20, 40, 30, .15) 80%); }
.gbms-hero-thinfo .gbms-hero-inner { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.25rem); }
.gbms-thi-badge { display: flex; flex: none; align-items: center; justify-content: center; width: clamp(150px, 17vw, 210px); aspect-ratio: 1; padding: clamp(14px, 1.9vw, 24px); overflow: hidden; border: 4px solid var(--gbms-forest); border-radius: 50%; background: var(--gbms-white); box-shadow: 0 0 0 4px var(--gbms-white), 0 6px 18px rgba(0, 0, 0, .3); }
.gbms-thi-badge img { display: block; width: 100%; height: auto; border-radius: 12%; }
.gbms-thi-text { padding-left: clamp(1rem, 3vw, 2.25rem); border-left: 3px solid rgba(255, 255, 255, .7); }
.gbms-hero-thinfo p.gbms-thi-kicker { margin: 0 0 .2rem; color: var(--gbms-bean-pale); font-family: var(--gbms-font-heading); font-size: clamp(.85rem, 1.4vw, 1.1rem); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.gbms-hero-thinfo h1 { margin: 0; font-size: clamp(2.6rem, 6vw, 4.4rem); font-style: normal; line-height: 1; }
.gbms-hero-thinfo p.gbms-thi-sub { margin: .25rem 0 0; color: #C8E58E; font-family: "Kaushan Script", var(--gbms-font-heading); font-size: clamp(1.6rem, 3.6vw, 2.8rem); line-height: 1.15; transform: rotate(-3deg); transform-origin: left; }

/* Intro and the three actions. */
.gbms-thinfo .gbms-sec { padding: clamp(1.25rem, 2.5vw, 2rem) 1.25rem; }
.gbms-thi-intro { text-align: center; }
.gbms-thinfo p.gbms-thi-lead { max-width: 52rem; margin: 0 auto 1.4rem; color: var(--gbms-slate); font-size: clamp(1.02rem, 1.6vw, 1.18rem); line-height: 1.6; }
.gbms-thi-actions { justify-content: center; gap: .9rem 1.25rem; }
.gbms-thi-btn .wp-block-button__link.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 48px; min-width: 15rem; padding: .7em 1.6em; border: 2px solid var(--gbms-forest); border-radius: 999px; background: var(--gbms-white); color: var(--gbms-forest); font-family: var(--gbms-font-heading); font-size: 1.08rem; font-weight: 800; text-decoration: none; }
.gbms-thi-btn .wp-block-button__link.wp-block-button__link:hover { background: var(--gbms-bean-pale); }
.gbms-thi-btn .wp-block-button__link::before { width: 1.15em; height: 1.15em; }
.gbms-thi-add .wp-block-button__link.wp-block-button__link, .gbms-thi-full .wp-block-button__link.wp-block-button__link { background: var(--gbms-forest); color: var(--gbms-white); box-shadow: 0 3px 0 var(--gbms-bean); }
.gbms-thi-add .wp-block-button__link.wp-block-button__link:hover, .gbms-thi-full .wp-block-button__link.wp-block-button__link:hover { background: var(--gbms-forest-dark); color: var(--gbms-white); }

/* Leaders preview beside the glance panel. */
.gbms-thi-intro + .gbms-thi-board { border-top: 0; }
.gbms-thi-board { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1.5rem 2rem; align-items: start; max-width: 1240px; margin: 0 auto; }
.gbms-thl h2 { margin: 0; color: var(--gbms-forest); font-size: clamp(1.6rem, 2.8vw, 2.2rem); }
.gbms-thl .gbms-filterbar { margin: .9rem 0 .5rem; }
.gbms-thl .gbms-search { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem; }
.gbms-thl .gbms-search-field { max-width: none; }
.gbms-thl .gbms-search-field input[type="search"] { width: 100%; }
.gbms-thl .gbms-search .gbms-button { min-height: 44px; padding: .55em 1.6em; border-radius: var(--gbms-radius-sm); }
.gbms-thl-note { margin: 0 0 1rem; color: var(--gbms-slate); font-size: .95rem; }
.gbms-thl-note a { color: var(--gbms-forest); font-weight: 700; }
.gbms-thl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gbms-thl-card { overflow: hidden; border-radius: var(--gbms-radius); background: var(--gbms-white); box-shadow: var(--gbms-shadow); }
.gbms-thl-card h3 { display: flex; align-items: center; gap: .5rem; margin: 0; padding: .6rem 1rem; background: var(--gbms-bean-pale); color: var(--gbms-forest); font-size: 1.45rem; font-weight: 900; }
.gbms-thl-card h3::before { width: 1.2em; height: 1.2em; color: var(--gbms-bean); }
.gbms-thl-card table { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: .95rem; }
.gbms-thl-card th { padding: .5rem .75rem; border: 0; border-bottom: 1px solid var(--gbms-line); background: none; color: var(--gbms-slate); font-weight: 800; text-align: left; }
.gbms-thl-card td { padding: .5rem .75rem; border: 0; border-bottom: 1px solid var(--gbms-line); vertical-align: middle; }
.gbms-thl-card tr:last-child td { border-bottom: 0; }
.gbms-thl-card tbody tr:first-child { background: rgba(230, 240, 210, .45); }
.gbms-thl-card .gbms-num { text-align: right; white-space: nowrap; }
.gbms-thl-card .gbms-rank { width: 3.25rem; }
.gbms-thl-card .gbms-member a { color: var(--gbms-forest); font-weight: 700; }
.gbms-thl-medal { display: inline-flex; align-items: center; justify-content: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--gbms-bean-pale); color: var(--gbms-slate); font-weight: 800; }
.gbms-thl-r1 { background: var(--gbms-gold); color: var(--gbms-ink-on-bean); }
.gbms-thl-r2 { background: #D3D7DB; color: var(--gbms-slate); }
.gbms-thl-r3 { background: #D99A6C; color: var(--gbms-ink-on-bean); }

/* Tally-Hoe at a Glance. */
.gbms-thg { padding: 1.25rem; border-radius: var(--gbms-radius); background: var(--gbms-white); box-shadow: var(--gbms-shadow); }
.gbms-thg h2 { display: flex; align-items: center; gap: .55rem; margin: 0 0 .9rem; color: var(--gbms-forest); font-size: 1.35rem; font-weight: 900; }
.gbms-thg h2::before { width: 1.3em; height: 1.3em; color: var(--gbms-bean); }
.gbms-thg h2:not(.gbms-thg-dates)::before { width: 2.2em; height: 2.2em; background: url("brand/tally-hoe-fox.png") no-repeat center / contain; -webkit-mask: none; mask: none; } /* the fox with the hoe, cut from the original Tally-Hoe logo */
.gbms-thg ul { margin: 0; padding: 0; list-style: none; }
.gbms-thg-facts li { display: grid; grid-template-columns: 2.4rem 3.6rem 1fr; align-items: center; gap: .5rem; margin: 0 0 .5rem; padding: .6rem .75rem; border-radius: var(--gbms-radius-sm); background: var(--gbms-cream); }
.gbms-thg-facts li::before { width: 2.2rem; height: 2.2rem; color: var(--gbms-bean); }
.gbms-thg-facts strong { color: var(--gbms-forest); font-family: var(--gbms-font-heading); font-size: 1.6rem; font-weight: 900; text-align: center; }
.gbms-thg-facts span { color: var(--gbms-slate); font-size: .88rem; line-height: 1.3; }
.gbms-thg h2.gbms-thg-dates { margin: 1rem 0 .6rem; padding-top: 1rem; border-top: 2px solid var(--gbms-bean-pale); }
.gbms-thg h2.gbms-thg-dates { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M12 1h5v5h14V1h5v5h6a5 5 0 0 1 5 5v31a5 5 0 0 1-5 5H6a5 5 0 0 1-5-5V11a5 5 0 0 1 5-5h6zM6 17v24h36V17z'/%3E%3C/svg%3E"); }
.gbms-thg-list li { display: flex; align-items: baseline; gap: .55rem; margin: 0 0 .45rem; color: var(--gbms-slate); font-size: .95rem; }
.gbms-thg-list li::before { position: relative; top: .15em; width: 1em; height: 1em; color: var(--gbms-bean); }

/* How Tally-Hoe Works. */
.gbms-thi-how { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1.5rem 2.25rem; align-items: center; max-width: 1240px; margin: 0 auto; padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--gbms-radius); background: var(--gbms-white); box-shadow: var(--gbms-shadow); }
.gbms-thi-how h2 { margin: 0 0 .8rem; color: var(--gbms-forest); font-size: clamp(1.6rem, 2.8vw, 2.2rem); text-align: left; }
.gbms-thi-checks { margin: 0; padding: 0; list-style: none; }
.gbms-thi-checks li { position: relative; margin: 0 0 .6rem; padding-left: 1.75rem; color: var(--gbms-slate); line-height: 1.5; }
.gbms-thi-checks li::before { position: absolute; left: 0; top: .2em; width: 1.1em; height: 1.1em; color: var(--gbms-bean); }
.gbms-thi-checks a, .gbms-thi-small a { color: var(--gbms-forest); font-weight: 700; }
.gbms-thinfo p.gbms-thi-small { margin: .8rem 0 0; color: var(--gbms-slate); font-size: .92rem; }
.gbms-thi-private { padding: 1.25rem 1.4rem; border-left: 3px solid var(--gbms-bean-pale); border-radius: var(--gbms-radius); background: var(--gbms-bean-pale); }
.gbms-thi-private h3 { display: flex; align-items: center; gap: .55rem; margin: 0 0 .5rem; color: var(--gbms-forest); font-size: 1.35rem; font-weight: 900; }
.gbms-thi-private h3::before { width: 1.5em; height: 1.5em; color: var(--gbms-forest); }
.gbms-thi-private p { margin: 0; color: var(--gbms-slate); font-size: 1.05rem; line-height: 1.5; }

/* The closing button. */
.gbms-thinfo .gbms-thi-cta { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.gbms-thi-cta .wp-block-buttons { justify-content: center; }
.gbms-thi-full .wp-block-button__link.wp-block-button__link { min-width: 20rem; padding: .85em 2em; font-size: 1.15rem; }
.gbms-thi-full .wp-block-button__link::after { width: .9em; height: .9em; }

@media (max-width: 1024px) {
	.gbms-thi-board { grid-template-columns: 1fr; }
	.gbms-thg { max-width: 40rem; }
}
@media (max-width: 760px) {
	.gbms-hero-thinfo .gbms-hero-inner { flex-direction: column; align-items: flex-start; }
	.gbms-thi-badge { width: 150px; }
	.gbms-thi-text { padding-left: 0; border-left: 0; }
	.gbms-thl-grid, .gbms-thi-how { grid-template-columns: 1fr; }
	.gbms-thi-btn, .gbms-thi-btn .wp-block-button__link.wp-block-button__link { width: 100%; min-width: 0; }
	.gbms-thl-card table { font-size: .9rem; }
	.gbms-thl-card th, .gbms-thl-card td { padding: .45rem .5rem; }
}

/* ---- My Tally-Hoe Journal (Deb's journal mockup, 2026-11-07). Full width, no sidebar. ---- */
.gbms-thj { max-width: 78rem; margin: 0 auto; padding: clamp(1rem, 2vw, 1.75rem) 1.25rem clamp(2.5rem, 5vw, 4rem); }
.gbms-thj .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; white-space: nowrap; } /* own copy: never depends on the theme */
.gbms-thj .gbms-thj-ico, .gbms-thj-back a::before, .gbms-thj-head h2::before, .gbms-thj-add::before, .gbms-thj-pin, .gbms-thj-icon::before, .gbms-thj-stars i, .gbms-thj-q::before {
	content: ""; display: inline-block; flex: none; background: currentColor; -webkit-mask: no-repeat center / contain var(--gbms-icon); mask: no-repeat center / contain var(--gbms-icon); }
.gbms-thj-back { margin: 0 0 .75rem; }
.gbms-thj-back + .gbms-thj-back { margin-top: -.35rem; }
.gbms-thj-back a { display: inline-flex; align-items: center; gap: .45rem; color: var(--gbms-forest); font-weight: 700; }
.gbms-thj-back a::before { width: 1.1em; height: 1.1em; --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M20 8 4 24l16 16 4-4-9-9h29v-6H15l9-9z'/%3E%3C/svg%3E"); }
.gbms-thj-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.25rem; }
.gbms-thj-head h2 { display: flex; align-items: center; gap: .6rem; margin: 0; color: var(--gbms-forest); font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 900; }
.gbms-thj-head h2::before { width: 1.35em; height: 1.35em; color: var(--gbms-bean); --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M2 9c8-3 16-2 22 3 6-5 14-6 22-3v32c-8-3-16-2-22 3-6-5-14-6-22-3zm5 4v22c5-1 10 0 14 2V15c-4-2-9-3-14-2zm34 0c-5-1-10 0-14 2v22c4-2 9-3 14-2z'/%3E%3C/svg%3E"); }
.gbms-thj-lead { margin: .3rem 0 0; color: var(--gbms-slate); font-style: italic; }
.gbms-thj a.gbms-button { display: inline-flex; align-items: center; gap: .5rem; border-radius: 999px; padding: .8rem 1.5rem; }
.gbms-thj-add::before { width: 1em; height: 1em; --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3h4v7h7v4h-7v7h-4v-7H3v-4h7z'/%3E%3C/svg%3E"); }

/* Summary cards */
.gbms-thj-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; margin: 0 0 1.25rem; }
.gbms-thj-card { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.1rem; border-radius: var(--gbms-radius); background: var(--gbms-bean-pale); }
.gbms-thj-card .gbms-thj-ico { width: 2.6rem; height: 2.6rem; color: var(--gbms-bean); }
.gbms-thj-card > div { display: flex; flex-direction: column; min-width: 0; }
.gbms-thj-label { color: var(--gbms-forest); font-size: .9rem; font-weight: 600; }
.gbms-thj-value { color: var(--gbms-forest); font-family: var(--gbms-font-heading); font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 900; line-height: 1.15; overflow-wrap: anywhere; }
.gbms-thj-small { color: var(--gbms-slate); font-size: .8rem; }
.gbms-thj-card-miles .gbms-thj-ico { background: url("brand/tally-hoe-fox.png") no-repeat center / contain; -webkit-mask: none; mask: none; }
.gbms-thj-card-entries .gbms-thj-ico { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M12 1h5v5h14V1h5v5h6a5 5 0 0 1 5 5v31a5 5 0 0 1-5 5H6a5 5 0 0 1-5-5V11a5 5 0 0 1 5-5h6zM6 17v24h36V17zm5 5h6v5h-6zm10 0h6v5h-6zm10 0h6v5h-6zm-20 9h6v5h-6zm10 0h6v5h-6z'/%3E%3C/svg%3E"); }
.gbms-thj-card-horses .gbms-thj-ico { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M6 44C3 30 5 16 14 9c3-3 7-4 10-4s7 1 10 4c9 7 11 21 8 35h-8c3-12 2-24-3-28-2-2-5-3-7-3s-5 1-7 3c-5 4-6 16-3 28zM6.5 34a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM6.7 24a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM11 15a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM38.5 34a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM38.3 24a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0zM34 15a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0-3 0z'/%3E%3C/svg%3E"); }
.gbms-thj-card-rating .gbms-thj-ico, .gbms-thj-stars i { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 3l6.5 13.5L45 18.6 34.5 29 37 44 24 37 11 44l2.5-15L3 18.6l14.5-2.1z'/%3E%3C/svg%3E"); }
.gbms-thj-card-locations .gbms-thj-ico, .gbms-thj-pin { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M24 2C15.7 2 9 8.5 9 17c0 11 15 29 15 29s15-18 15-29C39 8.5 32.3 2 24 2zm0 9a6 6 0 1 1 0 12a6 6 0 1 1 0-12z'/%3E%3C/svg%3E"); }
.gbms-thj-stars { display: inline-flex; gap: .1rem; vertical-align: middle; white-space: nowrap; }
.gbms-thj-stars i { width: 1.05em; height: 1.05em; background: #D9D4C3; }
.gbms-thj-stars i.on { background: #4F7A23; }
.gbms-thj-card .gbms-thj-stars { margin-top: .2rem; font-size: .9rem; }
.gbms-thj-unrated, .gbms-thj-none { color: #767B72; font-size: .85rem; }

/* Search and filters */
.gbms-thj-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 0 0 1rem; }
.gbms-thj-q { position: relative; flex: 1 1 16rem; }
.gbms-thj-q::before { position: absolute; top: 50%; left: .9rem; width: 1.05rem; height: 1.05rem; margin-top: -.525rem; color: var(--gbms-slate); --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M20 4a16 16 0 1 0 9.3 29l11 11 4-4-11-11A16 16 0 0 0 20 4zm0 6a10 10 0 1 1 0 20a10 10 0 1 1 0-20z'/%3E%3C/svg%3E"); }
.gbms-thj-filters input[type=search] { width: 100%; padding: .7rem 1rem .7rem 2.6rem; border: 1px solid var(--gbms-line); border-radius: 999px; background: var(--gbms-white); }
.gbms-thj-filters select { padding: .65rem 2rem .65rem .9rem; border: 1px solid var(--gbms-line); border-radius: 999px; background-color: var(--gbms-white); color: var(--gbms-forest); font-weight: 600; }
.gbms-thj-filters .gbms-thj-apply { padding: .65rem 1.2rem; border-radius: 999px; }
.gbms-thj-reset { color: var(--gbms-forest); font-weight: 700; text-decoration: underline; }
.gbms-thj-filtered { margin: 0 0 1rem; padding: .6rem 1rem; border-radius: var(--gbms-radius-sm); background: var(--gbms-white); color: var(--gbms-forest); box-shadow: var(--gbms-shadow); }

/* The journal */
.gbms-thj-tablewrap { overflow: hidden; border-radius: var(--gbms-radius); background: var(--gbms-white); box-shadow: var(--gbms-shadow); }
.gbms-thj-table { width: 100%; margin: 0; border-collapse: collapse; }
.gbms-thj-table thead th { padding: .85rem .75rem; background: var(--gbms-forest); color: var(--gbms-white); font-size: .95rem; font-weight: 700; text-align: left; white-space: nowrap; }
.gbms-thj-table thead a { color: var(--gbms-white); text-decoration: none; }
.gbms-thj-table thead a:hover, .gbms-thj-table thead a:focus-visible { text-decoration: underline; }
.gbms-thj-arrow { margin-left: .3rem; font-size: .7em; }
.gbms-thj-table td { padding: .7rem .75rem; border-top: 1px solid var(--gbms-line); vertical-align: middle; }
.gbms-thj-row:nth-of-type(4n+3) td { background: #FBFAF4; }
.gbms-thj-date { white-space: nowrap; color: var(--gbms-forest); }
.gbms-thj-horse a { color: var(--gbms-forest); font-weight: 700; }
.gbms-thj-pill { display: inline-block; padding: .25rem .7rem; border-radius: 999px; font-size: .88rem; font-weight: 600; white-space: nowrap; }
.gbms-thj-t0 { background: #FCEBC9; color: #6E460B; } .gbms-thj-t1 { background: #D8E9F6; color: #1D4F73; } .gbms-thj-t2 { background: #E4F0D0; color: #355C16; } .gbms-thj-t3 { background: #FBE3C6; color: #874A10; }
.gbms-thj-t4 { background: #ECE9E1; color: #47483F; } .gbms-thj-t5 { background: #D8EFEA; color: #1F5E55; } .gbms-thj-t6 { background: #F2E2D2; color: #6B4423; } .gbms-thj-t7 { background: #E8DDF3; color: #4F2F78; }
.gbms-thj-loc { min-width: 8rem; }
.gbms-thj-pin { width: .95em; height: .95em; margin-right: .3rem; color: var(--gbms-bean); vertical-align: -.1em; }
.gbms-thj-miles { white-space: nowrap; text-align: right; }
.gbms-thj-miles strong { color: var(--gbms-forest); font-size: 1.05rem; }
.gbms-thj-nc { display: block; color: #8A5A13; font-size: .75rem; font-weight: 600; }
.gbms-thj-notes { max-width: 18rem; color: var(--gbms-slate); font-size: .92rem; line-height: 1.4; }
.gbms-thj-act { white-space: nowrap; text-align: right; }
.gbms-thj-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--gbms-forest); cursor: pointer; vertical-align: middle; }
.gbms-thj-icon:hover, .gbms-thj-icon:focus-visible { background: var(--gbms-bean-pale); }
.gbms-thj-icon::before { width: 1.25rem; height: 1.25rem; }
.gbms-thj-more::before { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M8 16l16 16 16-16-5-5-11 11-11-11z'/%3E%3C/svg%3E"); transition: transform .15s; }
.gbms-thj-more[aria-expanded=true]::before { transform: rotate(180deg); }
.gbms-thj-edit { color: var(--gbms-bean); }
.gbms-thj-edit::before { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M34 3l11 11L17 42 4 44l2-13zm0 7L10 34l-1 5 5-1 24-24z'/%3E%3C/svg%3E"); }
.gbms-thj-del { color: #B3261E; }
.gbms-thj-del:hover, .gbms-thj-del:focus-visible { background: #FBE4E2; }
.gbms-thj-del::before { --gbms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill-rule='evenodd' d='M17 2h14l2 5h11v5H4V7h11zM8 15h32l-3 31H11zm9 5v20h4V20zm10 0v20h4V20z'/%3E%3C/svg%3E"); }
.gbms-thj-thumb { position: relative; display: block; width: 72px; height: 72px; padding: 0; overflow: hidden; border: 0; border-radius: .6rem; background: var(--gbms-bean-pale); cursor: zoom-in; }
.gbms-thj-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gbms-thj-thumb:focus-visible { outline: 3px solid var(--gbms-bean); outline-offset: 2px; }
.gbms-thj-count { position: absolute; right: 4px; bottom: 4px; padding: 0 .4rem; border-radius: 999px; background: rgba(20, 40, 30, .8); color: #fff; font-size: .75rem; font-weight: 700; }
.gbms-thj-detail td { padding: 1rem 1.25rem 1.25rem; background: #F7F5EC; }
.gbms-thj-detail h4 { margin: 0 0 .3rem; color: var(--gbms-forest); font-size: 1rem; }
.gbms-thj-fullnotes p { margin: 0 0 .75rem; max-width: 60rem; }
.gbms-thj-facts { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; margin: 0; }
.gbms-thj-facts dt { color: var(--gbms-forest); font-weight: 700; }
.gbms-thj-facts dd { margin: 0; }
.gbms-thj-gallery { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.gbms-thj-empty { padding: 2rem 1.25rem; border-radius: var(--gbms-radius); background: var(--gbms-white); text-align: center; box-shadow: var(--gbms-shadow); }
.gbms-thj-empty p { margin: .25rem 0; }

/* Pages */
.gbms-thj-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin: 1rem 0 0; }
.gbms-thj-pager p { margin: 0; color: var(--gbms-slate); }
.gbms-thj-pages { display: flex; flex-wrap: wrap; gap: .35rem; }
.gbms-thj-pg { display: inline-flex; align-items: center; justify-content: center; min-width: 2.3rem; height: 2.3rem; padding: 0 .55rem; border: 1px solid var(--gbms-line); border-radius: .5rem; background: var(--gbms-white); color: var(--gbms-forest); font-weight: 700; text-decoration: none; }
.gbms-thj-pg.is-current { border-color: var(--gbms-forest); background: var(--gbms-forest); color: var(--gbms-white); }
.gbms-thj-gap { align-self: center; padding: 0 .2rem; }
.gbms-thj-help { margin: 1.5rem 0 0; color: var(--gbms-slate); font-size: .92rem; }

/* Delete confirmation */
.gbms-thj-confirm { margin: 0 0 1.25rem; padding: 1.1rem 1.25rem; border: 2px solid #B3261E; border-radius: var(--gbms-radius); background: #FFF6F5; }
.gbms-thj-confirm h3 { margin: 0 0 .4rem; color: #8C1D18; }
.gbms-thj-confirm p { margin: 0 0 .6rem; }
.gbms-thj-confirm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.gbms-thj-confirm .gbms-button { border-color: #B3261E; background: #B3261E; color: #fff; }
.gbms-thj-cancel { color: var(--gbms-forest); font-weight: 700; }

/* Photo pop-up: fits the screen, never larger */
.gbms-thj-lightbox { max-width: min(92vw, 60rem); max-height: 92vh; padding: .75rem; border: 0; border-radius: var(--gbms-radius); background: var(--gbms-white); box-shadow: 0 20px 60px rgba(0, 0, 0, .35); }
.gbms-thj-lightbox::backdrop { background: rgba(15, 30, 22, .75); }
.gbms-thj-lightbox figure { margin: 0; }
.gbms-thj-lightbox img { display: block; max-width: 100%; max-height: calc(92vh - 7rem); margin: 0 auto; border-radius: .5rem; object-fit: contain; }
.gbms-thj-lightbox figcaption { margin: .5rem 0 0; color: var(--gbms-slate); font-size: .9rem; text-align: center; }
.gbms-thj-lb-bar { display: flex; justify-content: center; gap: .5rem; margin-top: .6rem; }
.gbms-thj-lb-prev, .gbms-thj-lb-next { min-width: 2.6rem; border: 1px solid var(--gbms-line); border-radius: .5rem; background: var(--gbms-white); color: var(--gbms-forest); font-size: 1.3rem; cursor: pointer; }

@media (max-width: 1024px) {
	.gbms-thj-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gbms-thj-notes { max-width: 12rem; }
}
/* Phones and small tablets: each ride is a card. */
@media (max-width: 820px) {
	.gbms-thj-head .gbms-thj-add { width: 100%; justify-content: center; }
	.gbms-thj-filters .gbms-thj-f { flex: 1 1 45%; }
	.gbms-thj-filters select { width: 100%; }
	.gbms-thj-tablewrap { overflow: visible; background: none; box-shadow: none; }
	.gbms-thj-table thead { display: none; }
	.gbms-thj-table, .gbms-thj-table tbody { display: block; }
	.gbms-thj-row { display: grid; grid-template-columns: 72px 1fr auto; grid-template-areas: "photo date miles" "photo horse rating" "photo type type" "loc loc loc" "notes notes notes" "act act act"; gap: .2rem .8rem; margin: .75rem 0 0; padding: .85rem; border-radius: var(--gbms-radius); background: var(--gbms-white); box-shadow: var(--gbms-shadow); }
	.gbms-thj-row td { display: block; padding: 0; border: 0; background: none !important; }
	.gbms-thj-photo { grid-area: photo; } .gbms-thj-date { grid-area: date; font-weight: 700; } .gbms-thj-miles { grid-area: miles; }
	.gbms-thj-horse { grid-area: horse; } .gbms-thj-row td[data-label=Rating] { grid-area: rating; text-align: right; } .gbms-thj-row td[data-label="Ride Type"] { grid-area: type; }
	.gbms-thj-loc { grid-area: loc; min-width: 0; } .gbms-thj-notes { grid-area: notes; max-width: none; }
	.gbms-thj-act { grid-area: act; margin-top: .35rem; padding-top: .35rem !important; border-top: 1px solid var(--gbms-line) !important; text-align: left; }
	.gbms-thj-detail { display: block; }
	.gbms-thj-detail[hidden] { display: none; }
	.gbms-thj-detail td { display: block; margin-top: -.5rem; border-radius: 0 0 var(--gbms-radius) var(--gbms-radius); box-shadow: var(--gbms-shadow); }
	.gbms-thj-photo:empty { display: none; }
	.gbms-thj-row:has(.gbms-thj-photo:empty) { grid-template-columns: 1fr auto; grid-template-areas: "date miles" "horse rating" "type type" "loc loc" "notes notes" "act act"; }
	.gbms-thj-pager { justify-content: center; text-align: center; }
}
@media (max-width: 480px) {
	.gbms-thj-cards { gap: .6rem; }
	.gbms-thj-card { flex-direction: column; align-items: flex-start; gap: .4rem; padding: .85rem; }
	.gbms-thj-card .gbms-thj-ico { width: 2rem; height: 2rem; }
	.gbms-thj-filters .gbms-thj-f { flex-basis: 100%; }
}
