@font-face{font-family:'Coupon DM Sans';font-weight:100 1000;font-style:normal;font-display:swap;src:url('/assets/coupons/dm-sans.woff2') format('woff2')}
@font-face{font-family:'Coupon Barlow Condensed';font-weight:700;font-style:normal;font-display:swap;src:url('/assets/coupons/barlow-condensed-bold.woff2') format('woff2')}
@font-face{font-family:'Coupon Barlow Condensed';font-weight:800;font-style:normal;font-display:swap;src:url('/assets/coupons/barlow-condensed-extrabold.woff2') format('woff2')}
.coupon-offer-grid, .home-coupon-shell {
  --head: 'Coupon Barlow Condensed', 'Arial Narrow', Impact, sans-serif;
  --body: 'Coupon DM Sans', Arial, sans-serif;
  --line: #d9c9b4;
  color: var(--ink);
  font: 16px/1.5 var(--body);
}
.coupon-offer-grid img { display: block; max-width: 100% }
.coupon-offer-grid a { color: inherit; text-decoration: none }
.coupon-offer-grid a:focus-visible { outline: 3px solid currentColor; outline-offset: 4px }

.coupon-offer-grid .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 10px 19px; border-radius: 32px; background: var(--red); color: white; font: 700 14px/1.25 var(--body); white-space: nowrap }
.coupon-offer-grid .btn:hover { background: #a22f2a }
.coupon-offer-grid .btn:focus-visible { outline-color: var(--ink) }

.coupon-offer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px }
.coupon-offer-ticket { display: flex; flex-flow: column; border: 1px solid var(--line); background: var(--cream); border-radius: 15px; box-shadow: 0 5px 15px #3931300c; overflow: hidden; position: relative; min-width: 0 }
.coupon-offer-photo { aspect-ratio: 2.14/1; width: 100%; object-fit: cover; border-bottom: 4px solid var(--teal) }
.coupon-offer-face { flex: 1; display: flex; flex-direction: column; padding: 18px 21px 17px; background-color: var(--cream);
  background-image: linear-gradient(90deg, rgba(255,248,239,.90) 2%, rgba(255,248,239,.67) 56%, rgba(255,248,239,.1) 98%), repeating-conic-gradient(from -7deg at 101% 109%, #c5e8dd 0deg 9deg, var(--cream) 9deg 19deg) }
.coupon-offer-face h3 { margin: 0 0 13px; font: 700 clamp(24px,2.1vw,31px)/1.06 var(--head); letter-spacing: -.01em }
.coupon-offer-value { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: auto; color: var(--red); font: 800 clamp(47px,4.1vw,65px)/.86 var(--head); letter-spacing: -.035em }
.coupon-offer-value span { margin-top: 6px; font: 700 13px/1.25 var(--head); letter-spacing: .055em; text-transform: uppercase; color: var(--ink); max-width: 145px }
.coupon-offer-stub { position: relative; display: flex; align-items: center; gap: 8px; padding: 13px 19px; background: #fffdfa; border-top: 2px dashed #b9aa99 }
.coupon-offer-stub::before,.coupon-offer-stub::after { content: ''; position: absolute; top: -9px; width: 17px; height: 17px; border-radius: 50%; background: var(--cream); border: 1px solid var(--line) }
.coupon-offer-stub::before { left: -10px }.coupon-offer-stub::after { right: -10px }
.coupon-offer-stub small,.coupon-offer-stub b { display: block }
.coupon-offer-stub small { font: 700 9px/1.4 var(--body); text-transform: uppercase; letter-spacing: .11em; color: var(--muted) }
.coupon-offer-stub b { font: 700 14px/1.5 ui-monospace, monospace; letter-spacing: .025em }
.coupon-offer-stub .btn { margin-left: auto; min-height: 42px; font-size: 12px; padding: 10px 15px; gap: 8px }
.coupon-offer-grid .arrow { font-size: 16px; line-height: 1 }

.coupon-offer-face h3 a:hover, .coupon-offer-face h3 a:focus-visible { text-decoration: underline; text-underline-offset: .12em }
@media (max-width: 950px) { .coupon-offer-grid { grid-template-columns: repeat(2,minmax(0,1fr)) } }
@media (max-width: 580px) { .coupon-offer-grid { grid-template-columns: 1fr; gap: 21px }.coupon-offer-face { padding-block: 17px 19px }.coupon-offer-photo { aspect-ratio: 2.25/1 } .coupon-offer-stub .btn { min-height: 44px } }

.home-coupon-specials {
  padding: clamp(35px,4vw,62px) 0 clamp(56px,6vw,86px);
  background: var(--cream);
  border-block: 1px solid #e3d7c8;
}
.home-coupon-shell { width: min(1240px,90%); margin-inline: auto }
.home-coupon-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 23px }
.home-coupon-heading .eyebrow { color: var(--muted); margin: 0 0 9px }
.home-coupon-heading h2 { margin: 0; color: var(--ink); font: 700 clamp(35px,3.6vw,52px)/1 var(--head); letter-spacing: -.02em }
.home-coupon-heading p { color: var(--muted); margin: 8px 0 0; font-size: 15px }
.home-coupon-heading a { text-decoration: underline; text-underline-offset: .16em }
.home-coupon-heading .specials-link { flex-shrink: 0; color: var(--red); font-weight: 700 }
@media (max-width: 720px) {
  .home-coupon-shell { width: 91% }
  .home-coupon-heading { align-items: start; flex-direction: column; gap: 12px; margin-bottom: 18px }
}
.home-coupon-specials { padding-block: clamp(22px,3vw,38px) }
.home-coupon-tiles { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:10px }
.home-coupon-tile { display:flex; gap:10px; align-items:center; padding:11px; color:var(--ink); background:#fffdfa; border:1px solid var(--line); border-radius:10px }
.home-coupon-tile:hover,.home-coupon-tile:focus-visible { border-color:var(--red); background:#fff }
.home-coupon-tile svg { flex:none; width:38px; height:38px; padding:7px; border-radius:9px; background:#ddf3ed; color:#24675a }
.home-coupon-tile strong,.home-coupon-tile b,.home-coupon-tile small { display:block }
.home-coupon-tile strong { font:700 19px/1.05 var(--head) }
.home-coupon-tile b { color:var(--red); font:700 14px/1.25 var(--body); margin:3px 0 }
.home-coupon-tile small { font:600 10px/1.25 monospace; color:var(--muted) }
@media (max-width:960px) { .home-coupon-tiles { grid-template-columns:repeat(3,minmax(0,1fr)) } }
@media (max-width:700px) { .home-coupon-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px } .home-coupon-tile { padding:9px; gap:6px } .home-coupon-tile svg { width:28px; height:28px; padding:4px } }
