.tap-ch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin:1.5rem 0}.tap-ch-card{border:1px solid rgba(127,127,127,.3);border-radius:10px;padding:1.1rem;background:var(--wp--preset--color--base,#fff)}.tap-ch-card img{width:100%;height:auto;border-radius:8px}.tap-ch-card h2,.tap-ch-card h3{margin-top:.75rem}.tap-ch-button{display:inline-block;padding:.65rem 1rem;border-radius:6px;background:#2f5e3f;color:#fff;text-decoration:none;font-weight:600}.tap-ch-button:hover{color:#fff;opacity:.9}.tap-ch-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin:1.5rem 0}.tap-ch-directory>a{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid rgba(127,127,127,.3);border-radius:8px;text-decoration:none}.tap-ch-directory small{opacity:.75}.tap-ch-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;align-items:end;margin:1rem 0 1.5rem;padding:1rem;border:1px solid rgba(127,127,127,.25);border-radius:8px}.tap-ch-filter label{display:flex;flex-direction:column;gap:.35rem}.tap-ch-filter input,.tap-ch-filter select,.tap-ch-filter button{min-height:42px;padding:.55rem .7rem}.tap-ch-breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.9rem;margin-bottom:1.25rem}.tap-ch-notice{margin:2rem 0;padding:1.1rem 1.25rem;border-left:5px solid #b67b00;background:rgba(182,123,0,.08)}.tap-ch-notice h2{font-size:1.1rem;margin-top:0}.tap-ch-related{margin-top:2rem}.tap-ch-product-card{height:fit-content}.tap-ch-intro{font-size:1.08rem}.tap-ch-legal{max-width:900px}

.tap-ch-adventure-hero { margin: 1rem 0 2rem; padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid #d8d1c3; border-radius: 14px; background: #faf8f3; }
.tap-ch-kicker { font-size: 1.15rem; font-weight: 700; letter-spacing: .02em; }
.tap-ch-lead { font-size: 1.12rem; line-height: 1.75; }
.tap-ch-oh-by-the-way { margin: 1.5rem 0; padding: 1rem 1.25rem; border-left: 5px solid currentColor; background: rgba(128,128,128,.09); }
.tap-ch-oh-by-the-way h2 { margin-top: 0; }
.tap-ch-hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.25rem; }
.tap-ch-button-secondary { background: transparent !important; color: inherit !important; border: 1px solid currentColor; }

/* v0.2.1: Keep Content Hub headings compact and subordinate to the site theme. */
.tap-ch-card h2,
.tap-ch-card h3 {
    font-size: clamp(1.3rem, 1.8vw, 1.65rem) !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    margin: .65rem 0 .6rem !important;
    overflow-wrap: break-word;
}

.tap-ch-adventure-hero h1,
.tap-ch-legal h1 {
    font-size: clamp(1.85rem, 3vw, 2.45rem) !important;
    line-height: 1.14 !important;
    font-weight: 700 !important;
}

.tap-ch-adventure-hero h2,
.tap-ch-related > h2,
.tap-ch-oh-by-the-way h2,
.tap-ch-notice h2,
.tap-ch-legal h2 {
    font-size: clamp(1.35rem, 2vw, 1.7rem) !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.tap-ch-adventure-hero h3,
.tap-ch-related h3,
.tap-ch-legal h3 {
    font-size: clamp(1.2rem, 1.7vw, 1.45rem) !important;
    line-height: 1.22 !important;
    font-weight: 700 !important;
}

@media (max-width: 600px) {
    .tap-ch-card h2,
    .tap-ch-card h3 {
        font-size: 1.28rem !important;
    }
}

/* v0.2.2: Keep theme-rendered Content Hub titles proportional to body copy. */
.tap-content-hub-active .entry-title,
.tap-content-hub-active .wp-block-post-title,
.tap-content-hub-active main > article > header h1,
.tap-content-hub-active main h1:first-child {
    font-size: clamp(1.75rem, 2.6vw, 2.2rem) !important;
    line-height: 1.16 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere;
}

.tap-content-hub-active .entry-content h2,
.tap-content-hub-active .tap-ch-adventure-hero h2,
.tap-content-hub-active .tap-ch-related > h2 {
    font-size: clamp(1.3rem, 1.8vw, 1.6rem) !important;
    line-height: 1.22 !important;
    font-weight: 700 !important;
}

.tap-content-hub-active .entry-content h3 {
    font-size: clamp(1.15rem, 1.5vw, 1.35rem) !important;
    line-height: 1.24 !important;
    font-weight: 700 !important;
}


/* v0.2.4 route details and official resources */
.tap-ch-route-accordion{display:grid;gap:.85rem;margin:1rem 0 1.75rem}
.tap-ch-route-detail{border:1px solid rgba(127,127,127,.32);border-radius:10px;background:var(--wp--preset--color--base,#fff);overflow:hidden}
.tap-ch-route-detail summary{cursor:pointer;padding:1rem 1.1rem;list-style:none;display:grid;gap:.3rem}
.tap-ch-route-detail summary::-webkit-details-marker{display:none}
.tap-ch-route-detail summary::after{content:'Expand details';font-size:.86rem;font-weight:700;opacity:.72}
.tap-ch-route-detail[open] summary::after{content:'Hide details'}
.tap-ch-route-name{font-weight:700;font-size:1.1rem}
.tap-ch-route-excerpt{font-size:.96rem;line-height:1.5}
.tap-ch-route-body{padding:0 1.1rem 1.1rem;border-top:1px solid rgba(127,127,127,.22)}
.tap-ch-official-resources{margin-top:1.5rem;padding:1rem 1.15rem;border:1px solid rgba(127,127,127,.28);border-radius:10px}
.tap-ch-official-resources h3{margin-top:0}
.tap-ch-external-dialog{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.58)}
.tap-ch-external-dialog[aria-hidden="false"]{display:flex}
.tap-ch-external-dialog__panel{max-width:620px;width:100%;padding:1.35rem;border-radius:12px;background:#fff;color:#222;box-shadow:0 12px 40px rgba(0,0,0,.28)}
.tap-ch-external-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}
.tap-ch-external-dialog button{min-height:42px;padding:.65rem 1rem;border-radius:6px;font-weight:700;cursor:pointer}

/* v0.2.6 compact public layout */
.tap-content-hub-active .entry-content > *{margin-top:.65rem;margin-bottom:.65rem}
.tap-ch-grid{gap:.65rem;margin:.75rem 0}
.tap-ch-card{padding:.7rem;border-radius:8px}
.tap-ch-card h2,.tap-ch-card h3{margin:.35rem 0!important}
.tap-ch-card p{margin:.4rem 0 .55rem}
.tap-ch-button{padding:.45rem .75rem;font-size:.92rem}
.tap-ch-adventure-hero{margin:.5rem 0 1rem;padding:clamp(.75rem,2vw,1.15rem);border-radius:10px}
.tap-ch-oh-by-the-way{margin:.75rem 0;padding:.65rem .8rem}
.tap-ch-directory{gap:.5rem;margin:.75rem 0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tap-ch-directory>a{display:block;padding:.65rem .75rem;border-radius:7px;color:#273117}
.tap-ch-directory-title{display:block;font-weight:700;color:#263016;margin-bottom:.18rem}
.tap-ch-directory-link{display:block;white-space:nowrap;color:#37451f;opacity:1;font-size:.86rem}
.tap-ch-breadcrumbs{margin-bottom:.65rem}
.tap-ch-related{margin-top:1rem}
.tap-ch-related-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.6rem}
.tap-ch-related-grid .tap-ch-card{padding:.65rem}
.tap-ch-related-grid .tap-ch-card h2{font-size:1.15rem!important}
.tap-ch-related-grid .tap-ch-card p{font-size:.92rem;line-height:1.45}
.tap-ch-related-grid .tap-ch-button{font-size:.86rem;padding:.38rem .62rem}
.tap-ch-route-accordion{gap:.48rem;margin:.6rem 0 .9rem}
.tap-ch-route-detail{border-radius:8px}
.tap-ch-route-detail summary{padding:.65rem .75rem;gap:.18rem}
.tap-ch-route-name{font-size:1rem}
.tap-ch-route-excerpt{font-size:.9rem;line-height:1.4}
.tap-ch-route-body{padding:0 .75rem .75rem}
.tap-ch-official-resources{margin-top:.8rem;padding:.7rem .8rem;border-radius:8px}
.tap-ch-notice{margin:1rem 0;border-left:4px solid #b67b00;background:rgba(182,123,0,.08)}
.tap-ch-notice summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;font-weight:700;font-size:1.05rem}
.tap-ch-notice summary::-webkit-details-marker{display:none}
.tap-ch-notice-body{padding:0 .9rem .8rem}
.tap-ch-toggle-icon::before{content:'+';display:inline-grid;place-items:center;width:1.45rem;height:1.45rem;border:1px solid currentColor;border-radius:50%}
.tap-ch-notice[open] .tap-ch-toggle-icon::before{content:'−'}
@media(max-width:600px){.tap-ch-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.tap-ch-directory>a{padding:.55rem}.tap-ch-directory-link{font-size:.78rem}.tap-ch-related-grid{grid-template-columns:1fr}}

/* v0.2.6 route points */
.tap-ch-route-body h4{margin:.8rem 0 .35rem;font-size:1rem}.tap-ch-route-points{margin:.25rem 0 .75rem 1.2rem}.tap-ch-route-points li{margin:.18rem 0}

.tap-ch-safety-guide-grid .tap-ch-card { padding: 1rem; }
.tap-ch-safety-guide-grid .tap-ch-card h3 { margin-top: 0; font-size: 1.15rem; }
.tap-ch-resource-list { margin: 1.5rem 0; padding: 1rem 1.15rem; border: 1px solid #d7d7d2; border-radius: 10px; }
.tap-ch-resource-list h2 { margin-top: 0; }
.tap-ch-resource-list li { margin: .35rem 0; }
.tap-ch-affiliate-keyword { font-weight: 700; text-decoration-style: dotted; }
