/* Attendee catalog: compact, touch-first browsing. */
body{padding-bottom:100px}header{padding-top:18px;padding-bottom:18px}.event-label{font-size:12px;font-weight:700;color:#69775d;letter-spacing:1px}.catalog-intro{padding:24px 0 18px!important}.catalog-intro h1{font-size:38px;line-height:1.08;letter-spacing:-1px;margin:12px 0}.catalog-intro>p:last-child{font-size:14px;margin:12px 0 0}.eyebrow{margin:0;font-size:10px}nav{gap:5px;padding-bottom:10px}nav button{min-height:44px;padding:10px 18px;border-radius:24px}#catalog{padding-top:18px}.catalog-tools{display:grid;gap:12px}#search{padding:15px 17px;margin:0;background:white;border-radius:12px;font-size:16px;box-shadow:0 2px 5px #193e3505}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-row select{width:auto;min-width:0;max-width:100%;flex:1;padding:11px 8px;font-size:13px;margin:0;border-radius:9px;min-height:44px}.availability{display:flex;align-items:center;gap:6px;font-size:12px;margin:0;min-height:44px;white-space:nowrap}.availability input{width:18px;height:18px;margin:0;accent-color:#193e35}.results-row{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:10px}.results-row p{font-size:12px;margin:0}.text-button{color:#315b48;background:transparent;font-size:12px;text-decoration:underline;padding:10px 4px;min-height:44px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{padding:0;overflow:hidden;border-radius:12px;display:flex;flex-direction:column;min-width:0}.cover{height:175px;margin:12px 12px 0;padding:16px 12px 12px;border-radius:3px 8px 8px 3px;border-left:5px solid #0002;box-shadow:2px 3px 5px #193e3512;background:#e3e7d7;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;color:#324b3e;position:relative}.cover:after{content:'';width:32px;height:1px;background:currentColor;position:absolute;bottom:36px;opacity:.3}.cover-kicker{font:7px Arial,sans-serif;letter-spacing:1.4px;opacity:.75}.cover-title{font:19px/1.15 Georgia,serif;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.cover-author{font:8px Arial,sans-serif;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tone-1{background:#ead9c4;color:#6a4937}.tone-2{background:#dce4e8;color:#304c60}.tone-3{background:#e6dfe8;color:#5e4860}.book-info{padding:14px 12px;display:flex;flex-direction:column;flex:1}.card h3{font-family:Arial,sans-serif;font-weight:600;font-size:14px;line-height:1.4;margin:0 0 5px;overflow-wrap:anywhere}.card .author{font-size:12px;line-height:1.4;margin:0 0 12px;color:#788075}.stock{font-size:11px;color:#3b7055;display:flex;align-items:center;gap:5px;margin-top:auto;margin-bottom:12px}.stock:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.low-stock{color:#95651c}.sold-out{color:#85877d}.card-bottom{display:flex;flex-direction:column;align-items:stretch;gap:12px}.card-bottom>strong{font-size:16px}.card-bottom>button{width:100%;padding:11px 4px;min-height:44px;font-size:12px;border-radius:8px;background:#edf1e7;color:#234d39;border:1px solid #d8e1cf}.card-bottom>button:hover:not(:disabled){background:#dce6d2}.quantity-control{display:flex;align-items:center;justify-content:space-between;border:1px solid #b7c8ac;border-radius:8px;height:44px;background:#edf1e7}.quantity-control button{background:none;color:#234d39;border-radius:8px;min-width:42px;height:42px;padding:0;font-size:21px}.quantity-control span{font-size:14px;font-weight:600}.cart-dock{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:16px;right:16px;margin:auto;max-width:600px;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:14px;box-shadow:0 8px 28px #153f3638;z-index:5;font-size:14px}.cart-dock>span:first-child{font-size:12px;color:#cbdabc}.empty{padding:35px 20px}.empty h3{font-family:Georgia,serif;font-weight:400;font-size:23px}.empty p{font-size:14px}footer{align-items:center;padding-top:20px;padding-bottom:10px}#status:not(:empty){font-size:13px;padding:12px}#cart>p{font-size:14px}.row strong{font-size:14px}.row input{font-size:16px}.panel input{font-size:16px}
@media(min-width:700px){.catalog-intro{padding:32px 0 24px!important}.catalog-intro h1{font-size:44px}.catalog-intro h1 br{display:none}.catalog-tools{grid-template-columns:minmax(200px,1fr) minmax(400px,1fr);align-items:center}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cover{height:230px;padding:25px 22px 18px;margin:18px 18px 0}.cover-title{font-size:28px}.cover-kicker{font-size:9px}.cover-author{font-size:10px}.book-info{padding:18px}.card h3{font-size:16px}.card-bottom{flex-direction:row;align-items:center}.card-bottom>button{width:auto;min-width:110px;padding:11px 14px}.quantity-control{min-width:125px}.filter-row select{max-width:185px}}
@media(min-width:1050px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cover{height:240px}.card-bottom{flex-direction:column;align-items:stretch}.card-bottom>button{width:100%}}
@media(max-width:360px){main,header,footer{padding-left:12px;padding-right:12px}.grid{gap:8px}.book-info{padding:12px 9px}.cover{margin:9px 9px 0;padding:14px 8px;height:155px}.cover-title{font-size:17px}.filter-row .availability{width:100%;min-height:32px}.brand{letter-spacing:0;font-size:10px}.event-label{font-size:10px}}

/* Keep browsing controls reachable without pinning the page header. */
.catalog-tools{
 position:sticky;
 top:0;
 z-index:4;
 min-width:0;
 padding:calc(10px + env(safe-area-inset-top,0px)) 0 10px;
 background:#f6f5ef;
 border-bottom:1px solid #d5d9cf;
 box-shadow:0 6px 10px -8px #193e3540;
}
.catalog-tools>input,.catalog-tools>.filter-row{min-width:0}
@media(max-width:699px){
 .catalog-tools{grid-template-columns:minmax(0,1fr);gap:8px}
 .catalog-tools #search{min-height:44px;padding:12px 14px}
 .catalog-tools .filter-row{
  flex-wrap:nowrap;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  padding:3px 2px 5px;
  gap:8px;
 }
 .catalog-tools .filter-row select{
  flex:0 0 auto;
  width:156px;
  max-width:none;
  min-height:44px;
  font-size:16px;
  padding:10px 8px;
 }
 .catalog-tools .filter-row .availability{
  flex:0 0 auto;
  width:auto;
  min-height:44px;
  padding:0 10px;
  border:1px solid #cdd3c7;
  border-radius:9px;
  background:#fff;
  font-size:13px;
 }
}
