/* Hemp Flower Shop: the almanac theme (design/almanac/DESIGN.md). Hay paper, one woodtype (Alfa Slab One, OFL)
   over the system serif, barn red and field green, double printer's rules, seed-packet cards. */
/* == tokens */
@font-face {
  font-family:"Alfa Slab AL";
  src:url("../fonts/alfa-slab-al.5de1afaef72f.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face {
  font-family:"Alfa Fallback";
  src:local("Georgia Bold"), local("Georgia-Bold"), local("Rockwell");
  size-adjust:103%;
  ascent-override:100%;
  descent-override:32%;
  line-gap-override:0%;
}

:root {
  --al-hay:#F3E7C8;
  --al-paper:#FBF5E6;
  --al-hay-2:#E8D7AC;
  --al-ink:#2A1F16;
  --al-ink-2:#5A4632;
  --al-barn:#8B2E21;
  --al-field:#3F5B2E;
  --al-field-dk:#2F4622;
  --al-ochre:#B7832B;
  --al-wood:"Alfa Slab AL", "Alfa Fallback", Rockwell, "Roboto Slab", Georgia, serif;
  --al-serif:"Iowan Old Style", Charter, "Palatino Linotype", Palatino, Georgia, serif;
  --al-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --al-orn:"Apple Symbols", "Segoe UI Symbol", "Noto Sans Symbols 2", "DejaVu Sans", serif;
  
  --al-rule-top: linear-gradient(var(--al-ink), var(--al-ink)) 0 0 / 100% 3px no-repeat,
                 linear-gradient(var(--al-ink), var(--al-ink)) 0 5px / 100% 1px no-repeat;
  --al-rule-bottom: linear-gradient(var(--al-ink), var(--al-ink)) 0 calc(100% - 3px) / 100% 3px no-repeat,
                    linear-gradient(var(--al-ink), var(--al-ink)) 0 100% / 100% 1px no-repeat;
  color-scheme:light;
}

/* == base */
*, *::before, *::after { box-sizing:border-box;}
[hidden] { display:none !important;}
html { -webkit-text-size-adjust:100%;}
body {
  margin:0;
  color:var(--al-ink);
  background:var(--al-hay) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .12 0 0 0 0 .09 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");
  font:17px/1.6 var(--al-serif);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
}
img, svg, picture { max-width:100%;}
a { color:var(--al-ink);text-decoration-thickness:1px;text-underline-offset:3px;}
a:hover { color:var(--al-barn);}
:focus-visible { outline:3px solid var(--al-barn);outline-offset:2px;}
main:focus { outline:none;}
h1, h2, h3 { margin:0;font-weight:400;line-height:1.1;}
p { margin:0 0 .75em;}
button, input, select, textarea { font:inherit;color:inherit;}
table { border-collapse:collapse;}

.al-vh, .al-skip:not(:focus) {
  position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
}
.al-skip { position:absolute;left:16px;top:8px;z-index:50;padding:8px 14px;background:var(--al-paper);border:2px solid var(--al-ink);}
.al-wrap { width:100%;max-width:1180px;margin:0 auto;padding:0 16px;}
@media (min-width: 760px) { .al-wrap { padding:0 24px;} }
@media (min-width: 1100px) { .al-wrap { padding:0 40px;} }

.al-lede, .al-h1, .al-packet-name, .al-band, .al-steps h2, .al-steps li::before, .al-hp h2, .al-grp, .al-btn, .al-bag, .al-cart,
.al-wm-live, .al-out, .al-fold > summary, .al-about > summary, .al-slip h2, .al-buy h1, .al-tile-w, .al-purse-bal, .al-lost-no,
.al-coupon-h, .al-more h2, .al-no b, .al-qa h2, .al-prose h2, .al-cartbar a, .al-gone h2, .al-bare-box h2 {
  font-family:var(--al-wood);
  font-weight:400;
}
.al-sc, .al-nav, .al-ftr-links, .al-tabs a, .al-fld label, .al-fld legend, .al-setline, .al-row-meta, .al-crumbs, .al-acct, .al-ring {
  font-variant-caps:all-small-caps;
  letter-spacing:.06em;
}
.al-sc { margin:0 0 4px;font-size:16px;font-weight:700;color:var(--al-ink-2);}

/* == buttons */
.al-btn {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:6px 18px;
  border:2px solid var(--al-ink);border-radius:0;
  background:transparent;color:var(--al-ink);
  font-size:17px;line-height:1.1;text-decoration:none;text-align:center;cursor:pointer;
}
.al-btn:hover { background:var(--al-hay-2);color:var(--al-ink);}
.al-btn--field { background:var(--al-field);border-color:var(--al-field);color:var(--al-paper);}
.al-btn--field:hover { background:var(--al-field-dk);border-color:var(--al-field-dk);color:var(--al-paper);}
.al-btn--big { min-height:56px;font-size:20px;}
.al-btn--wide { display:flex;width:100%;}
.al-btn[disabled] { opacity:.5;cursor:not-allowed;}
.al-link { border:0;background:none;padding:0 4px;min-height:44px;text-decoration:underline;cursor:pointer;}

/* == header */
.al-hdr { background:var(--al-rule-bottom);padding:10px 0 14px;}
.al-hdr-in { display:grid;justify-items:center;gap:6px;}
.al-home { display:block;text-decoration:none;color:var(--al-ink);}
.al-wm { display:block;width:clamp(170px, 24vw, 236px);height:auto;}
.al-logo { display:block;height:56px;width:auto;}
.al-wm-live { display:inline-flex;flex-direction:column;align-items:center;line-height:1;text-transform:uppercase;}
.al-wm-top { font-size:26px;letter-spacing:.01em;}
.al-wm-panel { margin-top:4px;padding:3px 12px 2px;background:var(--al-barn);color:var(--al-paper);font-size:19px;letter-spacing:.05em;}
.al-wm-panel::before, .al-wm-panel::after { content:"\2726";content:"\2726" / "";font-family:var(--al-orn);font-size:.6em;vertical-align:.25em;}
.al-wm-panel::before { margin-right:.4em;}
.al-wm-panel::after { margin-left:.4em;}
.al-nav ul { display:flex;flex-wrap:wrap;justify-content:center;margin:0;padding:0;list-style:none;font-size:19px;font-weight:700;}
.al-nav li + li::before { content:"\2767";content:"\2767" / "";font-family:var(--al-orn);color:var(--al-barn);padding:0 6px;font-variant-caps:normal;}
.al-nav li { display:flex;align-items:center;}
.al-nav a { display:inline-flex;align-items:center;min-height:44px;padding:0 4px;text-decoration:none;}
.al-nav a[aria-current] { text-decoration:underline;text-decoration-thickness:2px;color:var(--al-barn);}
.al-util { display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;}
.al-ring, .al-acct { display:inline-flex;align-items:center;min-height:44px;font-size:18px;font-weight:700;text-decoration:none;}
.al-ring-n { margin-left:4px;font-variant-caps:normal;letter-spacing:0;font-variant-numeric:tabular-nums lining-nums;}
.al-cart { display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;background:var(--al-field);color:var(--al-paper);text-decoration:none;font-size:17px;}
.al-cart:hover, .al-cart[aria-current] { background:var(--al-field-dk);color:var(--al-paper);}
.al-count { display:inline-block;min-width:1.7em;padding:1px 5px;background:var(--al-paper);color:var(--al-ink);font:700 15px/1.3 var(--al-serif);text-align:center;font-variant-numeric:tabular-nums;}
@media (max-width: 419px) {
  .al-ring-n { display:none;}
  .al-nav ul { font-size:16px;}
  .al-nav li + li::before { padding:0 3px;}
}
@media (min-width: 760px) {
  .al-hdr-in { grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:4px 24px;}
  .al-util { justify-self:end;}
  .al-nav { grid-column:1 / -1;grid-row:2;}
  .al-nav ul { flex-wrap:nowrap;}
}
@media (min-width: 1180px) {
  .al-hdr-in { grid-template-columns:auto 1fr auto;}
  .al-nav { grid-column:2;grid-row:1;justify-self:center;}
}

.al-crumbs ol { display:flex;flex-wrap:wrap;gap:0 8px;margin:12px 0 0;padding:0;list-style:none;font-size:15px;color:var(--al-ink-2);}
.al-crumbs li + li::before { content:"/";margin-right:8px;}
.al-notes { margin:16px 0 0;padding:10px 14px;list-style:none;background:var(--al-paper);border-left:4px solid var(--al-field);}

/* == the menu */
.al-menu { padding-top:18px;padding-bottom:32px;}
.al-lede { margin:6px 0 14px;font-size:clamp(26px, 4.4vw, 44px);line-height:1.08;}
.al-sub { max-width:60ch;color:var(--al-ink-2);}
.al-truth { margin:0 0 14px;padding:8px 12px;border:2px solid var(--al-barn);background:var(--al-paper);color:var(--al-barn);font-weight:700;}

.al-tabs { margin:0 0 16px;}
.al-tabs ul { display:flex;gap:4px;margin:0;padding:0;list-style:none;overflow-x:auto;border-bottom:2px solid var(--al-ink);scrollbar-width:none;}
.al-tabs a { display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid var(--al-ink);border-bottom:0;background:var(--al-paper);font-size:17px;font-weight:700;white-space:nowrap;text-decoration:none;}
.al-tabs a[aria-current] { background:var(--al-ink);color:var(--al-hay);}
.al-tabs--more { margin-top:24px;}

.al-packets { display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;margin:0 0 28px;padding:0;list-style:none;}
@media (min-width: 760px) { .al-packets { grid-template-columns:repeat(3, minmax(0, 1fr));gap:20px;} }
@media (min-width: 1100px) { .al-packets { grid-template-columns:repeat(4, minmax(0, 1fr));gap:24px;} }
.al-packets > li { display:flex;}
.al-packet {
  position:relative;display:flex;flex-direction:column;width:100%;
  padding:9px;background:var(--al-paper);border:2px solid var(--al-ink);
  box-shadow:inset 0 0 0 4px var(--al-paper), inset 0 0 0 5px var(--al-ink);
}
.al-packet:hover { outline:1px solid var(--al-ink);}
.al-packet-a { display:block;color:var(--al-ink);text-decoration:none;}
.al-band { display:block;margin:0 0 8px;padding:4px 8px 3px;background:var(--al-ochre);color:var(--al-ink);font-size:clamp(14px, 3.4vw, 18px);line-height:1.15;text-transform:uppercase;letter-spacing:.03em;overflow-wrap:anywhere;}
.al-window { display:block;aspect-ratio:3 / 4;overflow:hidden;background:var(--al-hay-2);border:1px solid var(--al-ink);}
.al-window picture, .al-window img { display:block;width:100%;height:100%;object-fit:cover;}
.al-window-blank { display:grid;place-items:center;height:100%;font-family:var(--al-orn);font-size:44px;color:var(--al-ink-2);}
.al-packet-name { margin:10px 0 2px;font-size:clamp(19px, 1.2vw + 12px, 25px);line-height:1.08;overflow-wrap:anywhere;}
.al-packet-a:hover .al-packet-name { text-decoration:underline;text-decoration-thickness:2px;}
.al-packet .al-sc { font-size:15px;}
.al-potency { margin:0;font-weight:700;font-variant-numeric:tabular-nums lining-nums;}
.al-dated { margin:0;font-size:14px;font-style:italic;color:var(--al-ink-2);}
.al-stars { margin:2px 0 0;color:var(--al-barn);font-size:15px;letter-spacing:.05em;}
.al-rates { margin:8px 0 10px;padding:8px 0 0;list-style:none;border-top:1px solid var(--al-ink);}
.al-rates li { display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;column-gap:6px;}
.al-rate-w { font-weight:700;}
.al-lead { min-width:8px;border-bottom:2px dotted var(--al-ink-2);transform:translateY(-5px);}
.al-rate-p { color:var(--al-barn);font-size:21px;font-variant-numeric:tabular-nums lining-nums;}
.al-rate-g { grid-column:1 / -1;justify-self:end;margin-top:-3px;font-size:13px;color:var(--al-ink-2);font-variant-numeric:tabular-nums;}
.al-bags { display:grid;gap:6px;margin-top:auto;}
@media (min-width: 1100px) { .al-bags { grid-template-columns:1fr 1fr;} }
.al-bag {
  position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px 6px;
  border:2px solid var(--al-ink);background:var(--al-paper);color:var(--al-ink);font-size:16px;line-height:1.1;cursor:pointer;
}
.al-bag:hover { background:var(--al-hay-2);}
.al-bag--lb { background:var(--al-field);border-color:var(--al-field);color:var(--al-paper);}
.al-bag--lb:hover { background:var(--al-field-dk);border-color:var(--al-field-dk);}
.al-bag--gone { border-style:dashed;color:var(--al-ink-2);cursor:default;font-family:var(--al-serif);font-size:14px;}
.al-bag[data-cart-added] > span { visibility:hidden;}
.al-bag[data-cart-added]::after { content:"In the bag \2713";position:absolute;inset:0;display:grid;place-items:center;}
.al-out { margin:auto 0 4px;padding:6px;border:2px solid var(--al-barn);color:var(--al-barn);font-size:18px;text-align:center;text-transform:uppercase;transform:rotate(-2deg);}
.al-packet--out .al-window { filter:grayscale(.7);}
.al-bare { margin:16px 0;font-style:italic;}
.al-bare-box { margin:20px 0;padding:20px;background:var(--al-paper);border:2px dashed var(--al-ink);}
.al-bare-box h2 { font-size:24px;margin-bottom:12px;}

.al-hp { margin:8px 0 28px;padding-top:20px;background:var(--al-rule-top);}
.al-hp h2 { margin-bottom:8px;font-size:clamp(22px, 2.6vw, 30px);}
.al-ledger { margin:0 0 12px;padding:0;list-style:none;}
.al-ledger a { display:flex;align-items:baseline;gap:8px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--al-hay-2);text-decoration:none;}
.al-ledger-n { font-weight:700;}
.al-ledger .al-lead { flex:1;}
.al-ledger b { color:var(--al-barn);font-size:19px;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;}
.al-ledger small { min-width:5.5em;text-align:right;color:var(--al-ink-2);font-variant-numeric:tabular-nums;}
.al-hp-all { font-weight:700;}
.al-hp-all span, .al-qa h2::before, .al-prose h2::before { font-family:var(--al-orn);color:var(--al-barn);}
.al-hp-link { margin:20px 0;}

.al-steps { margin:8px 0 24px;padding-top:20px;background:var(--al-rule-top);}
.al-steps h2 { margin-bottom:12px;font-size:clamp(22px, 2.6vw, 30px);}
.al-steps ol { display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:al-step;}
@media (min-width: 760px) { .al-steps ol { grid-template-columns:repeat(3, 1fr);gap:24px;} }
.al-steps li { display:grid;grid-template-columns:44px 1fr;align-items:start;gap:10px;counter-increment:al-step;}
.al-steps li::before { content:counter(al-step);display:grid;place-items:center;width:44px;height:44px;background:var(--al-barn);color:var(--al-paper);font-size:24px;}

.al-about, .al-fold { border-top:1px solid var(--al-ink);}
.al-about:last-of-type, .al-fold:last-of-type { border-bottom:1px solid var(--al-ink);}
.al-about > summary, .al-fold > summary { display:flex;align-items:center;gap:12px;min-height:48px;font-size:19px;cursor:pointer;list-style:none;}
.al-about > summary::-webkit-details-marker, .al-fold > summary::-webkit-details-marker { display:none;}
.al-about > summary::after, .al-fold > summary::after { content:"+";margin-left:auto;font-family:var(--al-serif);font-weight:700;font-size:24px;}
.al-about[open] > summary::after, .al-fold[open] > summary::after { content:"\2013";}
.al-about-in, .al-fold-in { padding:0 0 16px;max-width:66ch;}

/* == product */
.al-pdp { display:grid;gap:24px;padding-top:20px;padding-bottom:24px;}
@media (min-width: 900px) { .al-pdp { grid-template-columns:46% 1fr;gap:40px;align-items:start;} }
.al-pdp-window { margin:0;padding:9px;background:var(--al-paper);border:2px solid var(--al-ink);box-shadow:inset 0 0 0 4px var(--al-paper), inset 0 0 0 5px var(--al-ink);}
.al-pdp-window picture, .al-pdp-window img { display:block;width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover;}
.al-pdp-blank { display:grid;place-items:center;aspect-ratio:3 / 1;gap:8px;text-align:center;color:var(--al-ink-2);}
.al-pdp-blank span:first-child { font-family:var(--al-orn);font-size:40px;line-height:1;}
@media (min-width: 900px) { .al-pdp-blank { aspect-ratio:3 / 4;} .al-pdp-blank span:first-child { font-size:64px;} }
.al-cap { margin:6px 0 0;font-size:14px;font-style:italic;color:var(--al-ink-2);}
.al-thumbs { display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;}
.al-thumbs a { display:block;width:88px;border:2px solid var(--al-ink);background:var(--al-paper);padding:3px;}
.al-thumbs img { display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;}
.al-thumbs--sm a { width:72px;}
.al-band--pdp { display:inline-block;}
.al-buy h1 { margin:2px 0 6px;font-size:clamp(30px, 4.4vw, 48px);line-height:1.04;}
.al-potency--pdp { margin:0 0 4px;font-size:19px;}
.al-tiles { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 12px;padding:0;border:0;}
.al-tile { position:relative;display:block;cursor:pointer;}
.al-tile input { position:absolute;opacity:0;width:1px;height:1px;}
.al-tile-face { display:grid;gap:2px;height:100%;padding:10px 12px;border:2px solid var(--al-ink);background:var(--al-paper);}
.al-tile-w { font-size:18px;}
.al-tile-p { color:var(--al-barn);font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums lining-nums;}
.al-tile small { font-size:14px;color:var(--al-ink-2);}
.al-tile input:checked + .al-tile-face { background:var(--al-hay-2);box-shadow:inset 0 0 0 2px var(--al-ink);}
.al-tile input:focus-visible + .al-tile-face { outline:3px solid var(--al-barn);outline-offset:2px;}
.al-tile input:disabled + .al-tile-face { opacity:.55;cursor:not-allowed;}
.al-order-row { display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:end;}
.al-qty label { display:block;font-variant-caps:all-small-caps;letter-spacing:.06em;font-weight:700;}
.al-qty input { width:100%;min-height:56px;padding:0 10px;border:2px solid var(--al-ink);background:var(--al-paper);font-size:20px;font-variant-numeric:tabular-nums;}
.al-quiet { margin:10px 0;color:var(--al-ink-2);}
.al-honest { margin:16px 0 10px;padding-left:12px;border-left:4px solid var(--al-barn);font-style:italic;}
.al-desc { margin:0 0 16px;}
.al-coa-ask { font-weight:700;}
.al-gone { margin:14px 0;padding:14px;border:2px solid var(--al-barn);background:var(--al-paper);}
.al-gone h2 { font-size:22px;margin-bottom:8px;}
.al-ruled { width:100%;font-variant-numeric:tabular-nums lining-nums;}
.al-ruled caption { padding:4px 0 6px;text-align:left;font-variant-caps:all-small-caps;letter-spacing:.06em;font-weight:700;color:var(--al-ink-2);}
.al-ruled th, .al-ruled td { padding:7px 8px 7px 0;border-bottom:1px dotted var(--al-ink-2);text-align:left;vertical-align:top;}
.al-ruled thead th { border-bottom:2px solid var(--al-ink);}
.al-ruled td:last-child { text-align:right;}
.al-scroll { overflow-x:auto;}
.al-gallery { margin:16px 0;}
.al-ftc { margin:6px 0;font-size:14px;color:var(--al-ink-2);}
.al-review { padding:12px 0;border-bottom:1px dotted var(--al-ink-2);}
.al-review h3 { font:700 18px/1.3 var(--al-serif);margin-bottom:4px;}
.al-review-stars { margin:0;color:var(--al-barn);letter-spacing:.08em;}
.al-review-by { margin:0;font-size:14px;color:var(--al-ink-2);}
.al-more { padding-bottom:8px;}
.al-more h2 { margin:20px 0 6px;font-size:24px;}

/* == reading pages */
.al-col { max-width:calc(66ch + 48px);padding-top:20px;padding-bottom:32px;}
.al-h1 { margin:2px 0 10px;font-size:clamp(30px, 5vw, 48px);line-height:1.05;}
.al-art-head { margin-bottom:12px;}
.al-setline { display:flex;flex-wrap:wrap;gap:0 14px;margin:0;font-size:16px;color:var(--al-ink-2);}
.al-short { margin:16px 0 20px;padding:14px 18px;background:var(--al-paper);border:3px solid var(--al-ink);box-shadow:inset 0 0 0 3px var(--al-paper), inset 0 0 0 4px var(--al-ink);}
.al-short p:last-child { margin:0;}
.al-hero { margin:0 0 20px;border:2px solid var(--al-ink);}
.al-hero img { display:block;width:100%;height:auto;}
.al-prose h2, .al-qa h2 { margin:1.4em 0 .4em;font-size:clamp(22px, 2.4vw, 28px);line-height:1.15;}
.al-prose h2::before, .al-qa h2::before { content:"\261E\00A0";content:"\261E\00A0" / "";font-size:.85em;}
.al-prose h3 { margin:1.2em 0 .3em;font:700 19px/1.3 var(--al-serif);}
.al-prose ul, .al-prose ol { padding-left:1.3em;}
.al-prose table { width:100%;margin:12px 0;font-variant-numeric:tabular-nums;}
.al-prose th, .al-prose td { padding:6px 8px 6px 0;border-bottom:1px dotted var(--al-ink-2);text-align:left;}
.al-prose blockquote { margin:1em 0;padding-left:14px;border-left:3px solid var(--al-ochre);font-style:italic;}
.al-qa { margin-top:12px;}
.al-grp { margin:28px 0 8px;padding-top:16px;background:var(--al-rule-top);font-size:24px;}
.al-rows { margin:0;padding:0;list-style:none;}
.al-rows a { display:block;padding:10px 0;border-bottom:1px dotted var(--al-ink-2);text-decoration:none;}
.al-rows b { display:block;font-size:19px;line-height:1.3;}
.al-rows a:hover b { text-decoration:underline;}
.al-row-meta { font-size:15px;color:var(--al-ink-2);}
.al-related { margin-top:8px;}
.al-packets--in { grid-template-columns:repeat(2, minmax(0, 1fr));}
.al-author { display:flex;gap:16px;align-items:center;}
.al-author-pic { border:2px solid var(--al-ink);}
.al-nap { margin:16px 0;padding:14px 18px;background:var(--al-paper);border:2px solid var(--al-ink);}
.al-nap address { font-style:normal;}
.al-nap--big .al-nap-tel { font:400 30px/1.2 var(--al-wood);text-decoration:none;color:var(--al-barn);}
.al-states { display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));gap:0 16px;margin:16px 0;padding:0;list-style:none;}
.al-states a, .al-states span { display:flex;gap:8px;align-items:center;min-height:44px;border-bottom:1px dotted var(--al-ink-2);}
.al-lost { text-align:center;padding-top:48px;padding-bottom:64px;}
.al-lost-no { margin:0;font-size:clamp(56px, 12vw, 120px);line-height:1;color:var(--al-barn);}
.al-lost-go { display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}

/* == forms, cart, checkout */
.al-slip-page { max-width:680px;padding-top:20px;padding-bottom:40px;}
.al-slip { margin:14px 0;padding:18px 16px;background:var(--al-paper);border:2px solid var(--al-ink);box-shadow:inset 0 0 0 4px var(--al-paper), inset 0 0 0 5px var(--al-ink);}
@media (min-width: 560px) { .al-slip { padding:22px 24px;} }
.al-slip-head { display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;border-bottom:2px solid var(--al-ink);}
.al-slip h2 { font-size:22px;}
.al-line { display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px dotted var(--al-ink-2);}
.al-line--plain { grid-template-columns:1fr auto;}
.al-line-pic { display:block;width:56px;height:56px;overflow:hidden;border:1px solid var(--al-ink);background:var(--al-hay-2);}
.al-line-pic img { display:block;width:100%;height:100%;object-fit:cover;}
.al-line-pic--blank { display:grid;place-items:center;font-family:var(--al-orn);}
.al-line-what a, .al-line-what b { font-weight:700;}
.al-line-what small { display:block;font-size:15px;color:var(--al-ink-2);}
.al-line-what form { margin-top:6px;}
.al-line-qty { display:flex;align-items:center;gap:8px;margin-top:4px;}
.al-line-qty label { font-variant-caps:all-small-caps;letter-spacing:.06em;font-weight:700;}
.al-line-qty input { width:64px;min-height:44px;padding:0 8px;border:0;border-bottom:2px solid var(--al-ink);background:transparent;font-variant-numeric:tabular-nums;}
.al-warn { color:var(--al-barn);font-weight:700;}
.al-amt { font-size:18px;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;}
.al-sums { display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:12px 0 0;font-variant-numeric:tabular-nums lining-nums;}
.al-sums dd { margin:0;text-align:right;}
.al-sums .al-sum-end { margin-top:6px;padding-top:14px;background:var(--al-rule-top);font:400 22px/1.2 var(--al-wood);}
.al-slip-acts { margin:12px 0 0;text-align:right;}
.al-peek { display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dotted var(--al-ink-2);text-decoration:none;}
.al-signin { margin:8px 0 0;}
.al-alert { margin:12px 0;padding:10px 14px;border:2px solid var(--al-barn);background:var(--al-paper);color:var(--al-barn);font-weight:700;}
.al-alert ul { margin:0;padding-left:1.2em;}
.al-form { display:grid;gap:14px;}
.al-fld { margin:0;padding:0;border:0;min-width:0;}
.al-fld label, .al-fld legend { display:block;padding:0;font-size:17px;font-weight:700;}
.al-fld input, .al-fld select, .al-fld textarea {
  display:block;width:100%;min-height:44px;padding:8px 6px;border:0;border-bottom:2px solid var(--al-ink);border-radius:0;
  background:var(--al-paper);font-size:17px;
}
.al-fld textarea { line-height:28px;background:var(--al-paper) repeating-linear-gradient(transparent 0 27px, rgba(42, 31, 22, .22) 27px 28px);background-attachment:local;resize:vertical;}
.al-fld input:focus, .al-fld select:focus, .al-fld textarea:focus { background-color:#fff;}
.al-bad input, .al-bad select { border-bottom-color:var(--al-barn);}
.al-hint { margin:4px 0 0;font-size:15px;color:var(--al-ink-2);}
.al-err { margin:4px 0 0;font-size:15px;font-weight:700;color:var(--al-barn);}
.al-opt { font-weight:400;color:var(--al-ink-2);}
.al-trio { display:grid;gap:14px;}
@media (min-width: 560px) { .al-trio { grid-template-columns:2fr 1.4fr 1fr;} }
.al-pay { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;}
@media (min-width: 560px) { .al-pay { grid-template-columns:repeat(3, 1fr);} .al-pay--stars { grid-template-columns:repeat(5, 1fr);} }
.al-pay-tile { display:flex;align-items:center;gap:10px;min-height:56px;padding:0 12px;border:2px solid var(--al-ink);background:var(--al-paper);font-weight:700;cursor:pointer;}
.al-pay-tile input { width:20px;height:20px;margin:0;accent-color:var(--al-barn);flex:none;}
.al-pay-tile:has(input:checked) { background:var(--al-ink);color:var(--al-paper);}
.al-check { display:flex;align-items:flex-start;gap:10px;min-height:44px;padding-top:10px;cursor:pointer;}
.al-check input { width:20px;height:20px;margin:2px 0 0;accent-color:var(--al-field);flex:none;}
.al-promo-row { display:flex;gap:8px;}
.al-promo-row input { flex:1;text-transform:uppercase;}
.al-promo-msg { min-height:1.2em;margin:4px 0 0;font-size:15px;}
.al-join { margin:0;padding:0;border:0;}
.al-join-more { display:grid;gap:14px;margin-top:8px;}
.al-join:not(:has(#id_create_account:checked)) .al-join-more { display:none;}
.al-no { margin:8px 0;}
.al-no b { display:block;font-size:clamp(34px, 8vw, 52px);line-height:1.1;color:var(--al-barn);}
.al-code { color:var(--al-barn);letter-spacing:.04em;overflow-wrap:anywhere;}

.al-acc-links { display:flex;flex-wrap:wrap;gap:4px 20px;margin:4px 0;padding:0;list-style:none;}
.al-acc-links a { display:inline-flex;align-items:center;min-height:44px;}
.al-purse { margin:14px 0;padding:16px;background:var(--al-paper);border:2px solid var(--al-ink);}
.al-purse-bal { margin:0;font-size:40px;line-height:1.1;color:var(--al-field);font-variant-numeric:tabular-nums lining-nums;}
.al-purse-meta { margin:4px 0 0;color:var(--al-ink-2);}
.al-ref { width:100%;min-height:44px;margin-top:8px;padding:0 8px;border:2px solid var(--al-ink);background:#fff;font-size:15px;}
.al-fold-row { display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;}

.al-watch { margin:12px 0;border-top:1px solid var(--al-ink);border-bottom:1px solid var(--al-ink);}
.al-watch > summary { min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;}
.al-watch .al-card-f { margin-top:4px;}
.al-card-f { display:grid;gap:10px;margin:16px 0;padding:14px 16px;background:var(--al-paper);border:2px solid var(--al-ink);}
.al-coupon { position:relative;max-width:620px;margin:20px 0 6px;padding:16px 52px 16px 16px;background:var(--al-paper);border:2px dashed var(--al-ink);}
.al-coupon-h { margin-bottom:6px;font-size:22px;color:var(--al-barn);}
.al-coupon-line { font-size:14px;color:var(--al-ink-2);}
.al-coupon-f { display:grid;gap:10px;}
@media (min-width: 560px) { .al-coupon-f { grid-template-columns:1.4fr 1fr auto;align-items:end;} }
.al-coupon-x { position:absolute;top:4px;right:4px;width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;}

.al-pages { display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:8px 0 24px;}
.al-pages ol { display:flex;gap:4px;margin:0;padding:0;list-style:none;}
.al-pages ol a, .al-pages ol span { display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:2px solid var(--al-ink);background:var(--al-paper);text-decoration:none;font-variant-numeric:tabular-nums;}
.al-pages [aria-current] { background:var(--al-ink);color:var(--al-hay);}

/* == footer and the cart bar */
.al-ftr { margin-top:24px;padding:22px 0 18px;background:var(--al-rule-top), var(--al-hay-2);font-size:15px;}
.al-ftr-links { display:flex;flex-wrap:wrap;gap:0 16px;margin:0 0 10px;padding:0;list-style:none;font-size:17px;font-weight:700;}
.al-ftr-links a { display:inline-flex;align-items:center;min-height:44px;text-decoration:none;}
.al-ftr-links a:hover { text-decoration:underline;}
.al-ftr-nap { color:var(--al-ink-2);}
.al-ftr-fine { font-weight:700;}
.al-cartbar { position:sticky;bottom:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 16px calc(6px + env(safe-area-inset-bottom));background:var(--al-ink);}
.al-cartbar a { display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--al-hay);text-decoration:none;font-size:17px;}
.al-cartbar-go { padding:0 18px;background:var(--al-field);}
.al-cartbar a:hover { color:var(--al-paper);}

/* == the Age Gate: a paper notice */
#age-gate { position:fixed;inset:0;z-index:100;place-items:center;padding:16px;background:rgba(42, 31, 22, .62);}
.al-gate {
  width:min(100%, 420px);padding:26px 22px 22px;text-align:center;font-family:var(--al-ui);
  background:var(--al-paper);border:3px solid var(--al-ink);box-shadow:inset 0 0 0 4px var(--al-paper), inset 0 0 0 5px var(--al-ink);
}
.al-gate-mark { display:flex;justify-content:center;margin-bottom:14px;}
.al-gate-line { font-size:19px;font-weight:700;}
.al-gate-acts { display:grid;gap:10px;}
.al-gate-acts .al-btn { font-family:var(--al-ui);font-weight:700;}
.al-gate-no { margin:12px 0 0;color:var(--al-barn);font-weight:700;}
