.app-header{flex-wrap:wrap}
.top-nav{flex:1 1 750px;flex-wrap:wrap;justify-content:flex-end;min-width:0;overflow:visible}
.top-nav .nav-discovery{background:#eee5d4;border:1px solid #d9c69e}
.top-nav .nav-discovery:hover{background:#e4d4b5}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #905d09;outline-offset:3px}
button:disabled{cursor:default;opacity:.55}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.shop-intro{font:700 clamp(1.6rem,4vw,2.4rem)/1.15 Georgia,serif;margin:0 0 14px}
.shop-main-link{display:inline-block;margin:8px 0 20px;background:#151515!important;color:#fff!important}
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.shop-card{position:relative;border:1px solid var(--line);border-top:4px solid #8b0f24;border-radius:18px;padding:22px;background:var(--paper)}
.shop-card h3{font:700 1.65rem/1.2 Georgia,serif;margin:10px 0}
.shop-card p:not(.eyebrow){line-height:1.55;color:#5d554c}
.shop-card .eyebrow{font-size:.65rem;letter-spacing:.09em;padding-right:24px}
.shop-category-number{position:absolute;right:18px;top:18px;color:#c4b9a9;font:italic 1.4rem Georgia,serif}
.shop-card .buttonlike{display:inline-block;margin-top:8px}
.shop-clothing{border-top-color:#0f52ba}
.shop-keepsakes{border-top-color:#5b2a86}
.shop-food{border-top-color:#2e7d32}
.shop-footnote{font-size:.9rem;color:#716b63;line-height:1.5;margin:22px 0 0}
.scripture-edition-note{margin-top:16px;padding:12px 14px;border-left:3px solid #b48a3d;border-radius:8px;background:#f6f1e8;font:.87rem/1.5 ui-sans-serif,system-ui,sans-serif;color:#514b44}
.scripture-edition-note p{margin:0 0 6px}
.scripture-edition-note a{color:#744b10;text-underline-offset:3px}
@media(max-width:900px){.top-nav{flex:auto;justify-content:flex-start}}
@media(max-width:600px){
  .app-header{position:static;padding:14px 12px;gap:16px}
  .top-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .top-nav button,.top-nav a{font-size:.82rem;padding:10px 4px;text-align:center;white-space:normal;overflow-wrap:anywhere}
  .top-nav .bless{grid-column:span 2}
  .shop-grid{grid-template-columns:1fr}
  #dialogBody{padding:18px 16px 24px}
  .dialog-head{padding:18px 16px;gap:12px}
  .dialog-head h2{font-size:1.75rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v3.17.52 compact navigation */
.top-nav .nav-date-combo{display:inline-flex;align-items:stretch;border:2px solid #9b6c18;border-radius:24px;background:#fff;overflow:hidden;flex-shrink:0}
.top-nav .nav-date-combo .nav-today{border:0;border-radius:0;padding:6px 11px;min-width:128px}
.top-nav .nav-date-combo .nav-date-caret{border:0;border-left:1px solid #d7b879;border-radius:0;background:#fff;padding:4px 11px;font-size:1.15rem}
.top-nav .nav-menu{position:relative;flex:0 0 auto}
.top-nav .nav-menu summary{list-style:none;cursor:pointer;border-radius:999px;padding:10px 12px;font-weight:700;white-space:normal;max-width:260px;line-height:1.25;text-align:center}
.top-nav .nav-menu summary::-webkit-details-marker{display:none}
.top-nav .nav-menu summary::after{content:' ▾';font-size:.82em}
.top-nav .nav-menu[open] summary,.top-nav .nav-menu summary:hover{background:#eee9e1}
.top-nav .nav-menu summary:focus-visible{outline:3px solid #905d09;outline-offset:3px}
.top-nav .nav-menu-panel{position:absolute;top:calc(100% + 5px);right:0;z-index:70;display:grid;gap:3px;min-width:240px;max-width:min(90vw,340px);padding:8px;border:1px solid #d5cbbd;border-radius:14px;background:#fff;box-shadow:0 14px 34px #201b2430}
.top-nav .nav-menu-panel button,.top-nav .nav-menu-panel a{width:100%;text-align:start;white-space:normal;text-decoration:none;border-radius:9px;padding:11px 12px;line-height:1.25}
.top-nav .nav-menu-panel button:hover,.top-nav .nav-menu-panel a:hover{background:#eee9e1}
[dir="rtl"] .top-nav .nav-menu-panel{right:auto;left:0}
[dir="rtl"] .top-nav .nav-date-combo .nav-date-caret{border-left:0;border-right:1px solid #d7b879}
@media(max-width:600px){.top-nav .nav-date-combo{grid-column:span 2}.top-nav .nav-menu{grid-column:span 1;min-width:0}.top-nav .nav-menu summary{padding:9px 5px;font-size:.82rem}.top-nav .nav-menu-panel{right:auto;left:0;min-width:min(86vw,260px)}[dir="rtl"] .top-nav .nav-menu-panel{left:auto;right:0}}
