.public-event-title-link {
  color: inherit;
  text-decoration: none;
}

.public-event-title-link:focus-visible {
  outline: 3px solid var(--store-primary);
  outline-offset: 3px;
  border-radius: .2rem;
}

@media (max-width: 767.98px) {
  .public-store-nav.py-3 { padding-top: .65rem !important; padding-bottom: .65rem !important; }
  .public-store-nav .container { align-items: center !important; }
  .public-store-brand { min-width: 0; gap: .55rem; }
  .public-store-brand > span:last-child { min-width: 0; }
  .public-store-brand strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .95rem; }
  .public-store-brand small { font-size: .68rem; }
  .public-store-logo, .public-store-logo-fallback { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 10px; }
  .public-store-nav .public-mobile-nav-actions.d-flex.gap-2,
  .public-store-nav .public-mobile-event-nav-actions.d-flex.gap-2 { flex-direction: row; align-items: center; }
  .public-mobile-nav-actions .btn,
  .public-mobile-event-nav-actions .btn { font-size: .78rem; white-space: nowrap; padding: .45rem .55rem; }
  .public-mobile-nav-menu { position: relative; }
  .public-mobile-nav-menu > summary { list-style: none; cursor: pointer; }
  .public-mobile-nav-menu > summary::-webkit-details-marker { display: none; }
  .public-mobile-nav-menu > summary::after { content: ' ▾'; }
  .public-mobile-nav-panel { position: absolute; right: 0; top: calc(100% + .45rem); z-index: 30; width: min(280px, calc(100vw - 2rem)); padding: .4rem; border: 1px solid #dfe5ef; border-radius: .9rem; background: #fff; box-shadow: 0 16px 36px rgba(15,23,42,.2); }
  .public-mobile-nav-panel a { display: block; padding: .65rem .7rem; border-radius: .55rem; color: var(--store-secondary); font-weight: 650; text-decoration: none; }
  .public-mobile-nav-panel a:focus-visible,
  .public-mobile-nav-panel a:hover { background: color-mix(in srgb, var(--store-primary) 8%, #fff); }

  .public-mobile-home { display: flex; flex-direction: column; }
  .public-home-hero { order: 0; }
  .public-home-hero.has-image { background-image: linear-gradient(rgba(10, 15, 30, .62), rgba(10, 15, 30, .62)), linear-gradient(135deg, var(--store-primary), var(--store-secondary)) !important; }
  .public-home-activities { order: 1; padding-top: 1.25rem !important; padding-bottom: 1.5rem !important; }
  .public-home-guide { order: 2; padding-top: 0 !important; padding-bottom: 1.5rem; }
  .public-mobile-home > section:not(.public-home-hero):not(.public-home-activities):not(.public-home-guide) { order: 3; }
  .public-home-hero .container { padding-top: 1.35rem !important; padding-bottom: 1.45rem !important; }
  .public-home-hero h1 { font-size: clamp(1.6rem, 7vw, 2rem) !important; line-height: 1.13; margin-top: .6rem !important; }
  .public-home-hero .lead { font-size: .95rem; margin-bottom: .8rem !important; }
  .public-home-hero .public-store-announcement { font-size: .76rem; padding: .3rem .6rem; }
  .public-home-hero-actions { display: block !important; }
  .public-home-hero-actions .btn:first-child { display: block; width: 100%; font-size: 1rem; font-weight: 800; }
  .public-home-secondary-action { display: none !important; }
  .public-mobile-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; list-style: none; counter-reset: buying-step; margin: .55rem 0 .85rem; padding: 0; }
  .public-mobile-steps li { display: flex; align-items: center; gap: .3rem; min-width: 0; font-size: .72rem; font-weight: 750; line-height: 1.2; }
  .public-mobile-steps li::before { counter-increment: buying-step; content: counter(buying-step); display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 999px; font-size: .68rem; }
  .public-home-activities .display-6 { font-size: 1.42rem; }
  .public-home-activities .public-count-chip { font-size: .76rem; padding: .35rem .6rem; }
  .public-home-activities .row.g-4 { --bs-gutter-y: .9rem; }
  .public-event-card-top { min-height: 72px; padding: .8rem 1rem; }
  .public-event-card-top img { width: 52px; height: 52px; padding: .2rem; border-radius: .7rem; }
  .public-event-card-content { padding: 1rem !important; }
  .public-event-card h3 { font-size: 1.22rem; line-height: 1.2; margin-bottom: .4rem; }
  .public-event-card-content > p.text-secondary { font-size: .84rem; line-height: 1.35; margin-bottom: .8rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  .public-card-secondary-detail { display: none !important; }
  .public-card-metrics { margin-bottom: .75rem !important; }
  .public-card-metrics .public-metric { min-height: 65px; padding: .35rem .1rem; }
  .public-card-metrics .public-metric strong { font-size: .87rem; }
  .public-card-metrics .public-metric span { font-size: .62rem; }
  .public-card-mobile-cta { min-height: 48px; display: flex !important; align-items: center; justify-content: center; gap: .3rem; font-size: .96rem; font-weight: 800; }
  .public-card-sellers { border-top: 1px solid #e7eaf2; padding-top: .65rem; }
  .public-card-sellers summary { color: var(--store-primary); font-size: .82rem; font-weight: 700; cursor: pointer; }
  .public-card-sellers .btn { text-align: left; }

  .public-event-main { padding-top: .9rem !important; padding-bottom: 1.7rem !important; }
  .public-event-detail { margin-bottom: .8rem !important; }
  .public-event-detail-banner { min-height: 0; padding: 1rem; }
  .public-event-detail-banner img { display: none; }
  .public-event-detail-banner .public-activity-badge { padding: .25rem .5rem; font-size: .68rem; }
  .public-event-detail-banner .small.text-uppercase { display: none; }
  .public-event-detail-banner h1 { font-size: clamp(1.3rem, 6vw, 1.7rem); line-height: 1.16; margin-top: .5rem !important; }
  .public-event-detail-banner .lead { font-size: .84rem; line-height: 1.3; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  .public-event-main > .row { --bs-gutter-y: .85rem; }
  .public-event-main .public-white-card { padding: 1rem !important; margin-bottom: .85rem !important; }
  .public-buy-card h2 { font-size: 1.2rem; margin-bottom: .3rem; }
  .public-buy-card .display-6 { font-size: 1.55rem; margin: .4rem 0 .75rem !important; }
  .public-buy-card .display-6 .small { font-size: .76rem; }
  .public-buy-card .public-web-purchase { padding: .7rem; }
  .public-buy-card .public-web-purchase > .small { font-size: .8rem; }
  .public-buy-card .public-web-purchase > .btn { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: .3rem; font-size: .95rem; font-weight: 800; }
  .public-mobile-purchase-steps { color: var(--store-secondary); margin-bottom: 0; }
  .public-purchase-options, .public-purchase-reservation-note { display: none; }
  .public-buy-card > .public-detail-row { display: none; }
  .public-buy-card > button[disabled] { display: none; }
}

@media (max-width: 410px) {
  .public-store-nav .container { display: grid !important; grid-template-columns: minmax(0,1fr); row-gap: .4rem !important; }
  .public-store-brand small { display: none; }
  .public-mobile-nav-actions, .public-mobile-event-nav-actions { justify-self: end; }
  .public-card-metrics .public-metric strong { font-size: .78rem; }
}
