/* Button styles copied in source order from smart-2026/src/styles.css. */
:root { --accent: #fc331d; --ink: #070707; --paper: #f7f5f2; }
.nav-cta { background: var(--accent); border: 2px solid var(--ink); padding: 11px 16px; box-shadow: 4px 4px 0 var(--ink); text-transform: uppercase; }
.nav-cta:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--ink); }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--ink); padding: 13px 22px; font-weight: 800; text-transform: uppercase; text-decoration: none; }
.button-primary { background: var(--accent); box-shadow: 6px 6px 0 var(--ink); }
.button-primary:hover { transform: translate(3px,3px); box-shadow: 3px 3px 0 var(--ink); }
.gallery-filter { min-height: 46px; border: 2px solid var(--paper); background: transparent; color: var(--paper); padding: 9px 15px; font-family: var(--heading); font-size: 1.05rem; font-weight: 700; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.gallery-filter span { margin-left: 8px; color: #929292; font-family: var(--body); font-size: .65rem; }
.gallery-filter:hover, .gallery-filter.is-active { background: var(--accent); color: var(--ink); transform: translateY(-3px); }
.gallery-filter.is-active span { color: var(--ink); }
.nav-cta { text-align: center; }
.gallery-filter { flex: 0 0 auto; }
.nav-cta { border-color: var(--accent); color: var(--ink); box-shadow: 4px 4px 0 var(--paper); }
.button { position: relative; overflow: hidden; border-color: var(--paper); transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease; }
.button::before { content: ""; position: absolute; inset: -20% auto -20% -45%; width: 30%; background: rgba(255,255,255,.32); transform: skewX(-18deg); transition: left .5s ease; }
.button:hover::before { left: 120%; }
.button-primary { border-color: var(--accent); color: var(--ink); box-shadow: 7px 7px 0 var(--paper); gap: 12px; }
.button-primary:hover { transform: translateY(-4px) scale(1.02); box-shadow: 10px 10px 0 var(--paper); }
/* Layout only: each control retains the main site's visual treatment. */
.register-link { display:inline-flex; align-items:center; gap:12px; white-space:nowrap; font-size:.9rem; font-weight:700; }
.closing-cta { width:min(100%,330px); margin-top:28px; }
.closing-cta.button-primary { background:var(--ink); border-color:var(--ink); color:var(--paper); box-shadow:7px 7px 0 var(--paper); }
.closing-cta.button-primary:hover { background:#27221b; border-color:#27221b; color:var(--paper); box-shadow:10px 10px 0 var(--paper); }
.filters { align-items:center; gap:10px; padding-block:14px; }
.filter { flex:0 0 auto; }
.filter span { vertical-align:baseline; }
.filters-inner { gap:24px; }
.search { flex:1; max-width:230px; }
.search input { width:100%; }
@media(max-width:1100px) and (min-width:761px) { .filters-inner { flex-wrap:wrap; gap:0; padding-bottom:15px; } .search { flex-basis:100%; max-width:100%; } }
@media(max-width:760px) {
  .register-link { font-size:.75rem; padding:9px 12px; }
  .filters { min-height:78px; padding-block:14px; }
  .search { max-width:100%; }
  .closing-cta { width:calc(100% - 10px); max-width:420px; }
}
