.btn{display:inline-block;padding:14px 22px;font:inherit;font-size:1.02rem;font-weight:900;text-align:center;text-decoration:none;cursor:pointer;color:var(--ink);border:3px solid var(--black);border-radius:16px;transition:transform .08s,box-shadow .08s}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--bronze)!important}
.btn-sm{padding:9px 16px;font-size:.95rem}
.btn-gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 55%,#e8801a);box-shadow:0 5px 0 var(--bronze)}
.btn-dark{color:var(--gold-hi);background:linear-gradient(180deg,#2b210d,#120d04);border-color:var(--gold-lo);box-shadow:0 5px 0 #000}
.btn-gold:hover,.btn-dark:hover{filter:brightness(1.08)}

.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 16px 20px;text-align:center;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:3px solid var(--gold-lo);border-radius:22px;box-shadow:0 6px 0 var(--bronze);transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-4px);border-color:var(--gold)}
.card .ico{display:grid;place-items:center;width:62px;height:62px;font-size:1.9rem;background:var(--black);border:3px solid var(--gold);border-radius:50%}
.card h3{margin:4px 0 0;font-size:1.15rem}
.card .price{font-size:1.9rem;font-weight:900;color:var(--gold-hi)}
.card .btn{margin-top:6px;width:100%}

.hours{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.hours li{padding:20px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:3px solid var(--gold-lo);border-radius:20px}
.hours li.is-today{border-color:var(--gold-hi);box-shadow:0 0 0 3px var(--gold-lo)}
.hours .days{display:block;font-weight:900;font-size:1.1rem;color:var(--gold-hi)}
.hours .time{display:block;margin-top:4px;font-size:1.05rem;font-weight:700}
.hours li.closed .time{color:#ff8a5c}
.hours .today-tag{display:inline-block;margin-top:8px;padding:2px 10px;font-size:.8rem;font-weight:900;color:var(--ink);background:var(--gold);border-radius:999px}

.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.steps li{counter-increment:s;position:relative;padding:22px 20px 20px 74px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:3px solid var(--gold-lo);border-radius:20px}
.steps li::before{content:counter(s);position:absolute;left:18px;top:20px;display:grid;place-items:center;width:42px;height:42px;font-weight:900;font-size:1.2rem;color:var(--ink);background:var(--gold);border-radius:50%}
.steps b{display:block;font-size:1.15rem;color:var(--gold-hi)}
.steps span{color:var(--muted)}
