.fb{display:block;background:var(--fb-bg);color:var(--fb-text);padding:48px 0;font-size:14px}
.fb *{box-sizing:border-box}.fb [hidden]{display:none!important}
.fb__heading{color:var(--fb-heading);font-family:var(--font-stack-header,Georgia,serif);font-size:32px;margin:0 0 30px}
.fb__layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(24px,4vw,64px);align-items:start}
.fb__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.fb__card{background:var(--fb-card-bg);border:1px solid var(--fb-border);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,opacity .2s}
.fb__card.is-selected{border-color:var(--fb-selected-border);box-shadow:0 0 0 1px var(--fb-selected-border)}.fb__card.is-muted{opacity:.45}
.fb__image{position:relative;aspect-ratio:3/4;background:var(--fb-image-bg);overflow:hidden}.fb__photo{width:100%;height:100%;object-fit:cover;display:block}
.fb__badge,.fb__check{position:absolute;top:14px;background:var(--fb-badge-bg);color:var(--fb-badge-text);border-radius:2px}.fb__badge{left:12px;padding:3px 8px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;max-width:calc(100% - 62px)}.fb__check{right:12px;padding:5px 9px;display:none}.is-selected .fb__check{display:block}
.fb__body{padding:16px;display:flex;flex:1;flex-direction:column}.fb__family{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--fb-gold);margin:0 0 6px;min-height:16px}
.fb h3,.fb__panel h2{color:var(--fb-heading);font-family:var(--font-stack-header,Georgia,serif);font-weight:500;font-size:20px;line-height:1.25;margin:0 0 4px}.fb__muted{color:var(--fb-muted);font-size:12px;margin:0}
.fb__notes{font-size:12px;color:var(--fb-muted);margin:12px 0}.fb__notes summary{cursor:pointer}.fb__notes>div{padding-top:10px;line-height:1.6}
.fb__card-footer{border-top:1px solid var(--fb-border);margin-top:auto;padding-top:12px;display:flex;justify-content:flex-end}.fb__notes+.fb__card-footer{margin-top:auto}
.fb button{cursor:pointer;font:inherit}.fb [data-select]{background:var(--fb-select-bg);border:1px solid var(--fb-border);color:var(--fb-select-text);padding:9px 12px;text-transform:uppercase;font-size:11px;letter-spacing:.05em}.fb .is-selected [data-select]{background:var(--fb-selected-button-bg);color:var(--fb-selected-button-text);border-color:var(--fb-selected-border)}
.fb button:disabled{cursor:not-allowed}.fb button:focus-visible,.fb a:focus-visible,.fb summary:focus-visible{outline:2px solid var(--fb-gold);outline-offset:4px}
.fb__sidebar{position:sticky;top:var(--fb-top)}.fb__panel{background:var(--fb-panel-bg);border:1px solid var(--fb-border);padding:30px;display:flex;flex-direction:column;max-height:calc(100vh - var(--fb-top) - 20px);max-height:calc(100dvh - var(--fb-top) - 20px)}
.fb__panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--fb-border);gap:12px}.fb__count{background:var(--fb-badge-bg);color:var(--fb-badge-text);padding:12px 16px;font-weight:600;border-radius:2px}
.fb__slots{list-style:none;padding:0;margin:24px 0;overflow:auto;min-height:70px;overscroll-behavior:contain;display:grid;gap:12px}
.fb__slot{display:flex;align-items:center;gap:12px;background:var(--fb-slot-bg);border:1px dashed var(--fb-border);min-height:76px;padding:12px;color:var(--fb-muted);font-size:11px}.fb__slot.is-filled{border:1px solid var(--fb-selected-border);background:var(--fb-selected-bg)}.fb__slot-number{width:48px;height:48px;border:1px dashed var(--fb-border);display:grid;place-items:center;flex-shrink:0}.fb__slot img{width:48px;height:54px;object-fit:cover}.fb__slot-copy{flex:1;min-width:0}.fb__slot strong{font-family:var(--font-stack-header,Georgia,serif);font-weight:500;color:var(--fb-heading);font-size:15px;display:block;overflow-wrap:anywhere}.fb__slot small{display:block;margin-top:3px}.fb__remove{border:0;background:none;color:var(--fb-remove);padding:6px;font-size:20px!important}
.fb__checkout{flex-shrink:0}.fb__total{border-top:1px solid var(--fb-border);padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.fb__total span{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--fb-muted)}.fb__total strong{font:24px var(--font-stack-header,Georgia,serif);color:var(--fb-price)}
.fb__submit{width:100%;border:0;border-radius:2px;padding:18px 10px;background:linear-gradient(110deg,var(--fb-button-bg),var(--fb-button-end));color:var(--fb-button-text);text-transform:uppercase;font-weight:600!important;letter-spacing:.1em;font-size:12px!important}.fb__submit:disabled{opacity:.45}
.fb__reassurance,.fb__completion,.fb__help{text-align:center;color:var(--fb-muted);font-size:12px;line-height:1.7}.fb__reassurance{margin:16px 0}.fb__progress{display:flex;gap:6px;margin-top:22px}.fb__progress span{height:2px;flex:1;background:var(--fb-progress-bg)}.fb__progress .is-filled{background:var(--fb-progress)}.fb__completion{margin:8px 0 0}.fb__help{border:1px dashed var(--fb-border);padding:16px;margin:16px 0 0}.fb__help:first-line{color:var(--fb-gold);font-size:24px}.fb__error{color:var(--fb-error);font-size:13px;margin:12px 0}.fb__more,.fb__empty{grid-column:1/-1}.fb__more{color:var(--fb-gold);text-align:center;padding:16px;border:1px solid var(--fb-border)}
@media(max-width:1199px){.fb__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fb__layout{grid-template-columns:minmax(0,1fr) 310px;gap:24px}}
.fb__mobile-toggle{display:none}.fb__selection{display:flex;flex-direction:column;min-height:0;overflow:hidden}
@media(max-width:749px){
  .fb{padding:28px 0 calc(210px + env(safe-area-inset-bottom))}
  .fb__layout{display:flex;flex-direction:column;gap:28px}.fb__layout>div{width:100%}.fb__grid{gap:12px}.fb__body{padding:12px}.fb h3{font-size:18px}.fb__heading{font-size:26px}
  .fb__sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;z-index:30}
  .fb:not(.is-mobile-visible) .fb__sidebar{display:none}
  .fb__panel{max-height:80vh;max-height:80dvh;padding:0 16px calc(12px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--fb-border)}
  .fb__mobile-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 0;background:none;border:0;color:var(--fb-heading);text-align:left}
  .fb__mobile-toggle svg{flex-shrink:0;transition:transform .2s}.is-mobile-expanded .fb__mobile-toggle svg{transform:rotate(180deg)}
  .fb__mobile-toggle [data-mobile-counter]{color:var(--fb-muted);font-size:12px}
  .fb:not(.is-mobile-expanded) .fb__selection{display:none}
  .fb__panel-header{padding:8px 0 12px}.fb__slots{max-height:none;margin:12px 0;overflow:auto}.fb__slot{min-height:64px}
  .fb__total{padding:8px 0}.fb__total strong{font-size:20px}.fb__submit{padding:14px 10px}
  .fb__reassurance,.fb__progress,.fb__completion,.fb__help{display:none}
  .fb__error{max-height:70px;overflow:auto}
}
@media(max-height:650px) and (min-width:750px){.fb__panel{padding:16px}.fb__panel-header{padding-bottom:10px}.fb__slots{margin:12px 0}.fb__reassurance,.fb__help{display:none}.fb__progress{margin-top:12px}}

@media(min-width:750px){.fb__container.container-narrow .fb__layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px}.fb__container.container-narrow .fb__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fb__container.container-narrow .fb__panel{padding:20px}}

.fb__notes a{color:var(--fb-gold)}.fb__notes :is(h1,h2,h3,h4,h5,h6){color:var(--fb-heading)}.fb__photo.m-placeholder-svg{fill:var(--fb-muted)}

.fb__origins{border:0;padding:0;margin:0 0 18px;min-width:0}.fb__origins legend{color:var(--fb-heading);font-weight:600;margin-bottom:10px;font-size:13px}.fb__origin-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fb__origin{position:relative;cursor:pointer;min-width:0}.fb__origin input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.fb__origin>span{display:flex;flex-direction:column;gap:5px;padding:12px 10px;border:1px solid var(--fb-border);border-radius:3px;background:var(--fb-card-bg);color:var(--fb-text)}.fb__origin strong{font-size:13px}.fb__origin small{font-size:12px;color:var(--fb-muted)}.fb__origin input:checked+span{border-color:var(--fb-selected-border);box-shadow:0 0 0 1px var(--fb-selected-border);background:var(--fb-selected-bg)}.fb__origin input:focus-visible+span{outline:2px solid var(--fb-gold);outline-offset:3px}.fb__origin input:disabled+span{opacity:.6;cursor:wait}
@media(max-width:749px){.fb{padding-bottom:calc(300px + env(safe-area-inset-bottom))}.fb__origins{margin:0 0 10px}.fb__origins legend{margin-bottom:6px}.fb__origin>span{padding:8px 10px;gap:2px}}

.fb .fb__slots{grid-auto-rows:minmax(84px,auto);align-content:start}
.fb .fb__slot{gap:8px;padding:8px;min-height:84px}
.fb .fb__slot img{width:40px;height:48px;flex-shrink:0;object-fit:contain}
.fb .fb__slot .fb__slot-copy strong{font-family:var(--font-stack-body,Arial,sans-serif);font-size:12px;line-height:1.35;font-weight:500;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:4.05em;overflow-wrap:anywhere}
.fb .fb__slot .fb__slot-copy small{font-size:10px;line-height:1.3;margin-top:3px}
.fb .fb__slot .fb__remove{flex-shrink:0;padding:4px;font-size:16px!important;line-height:1}

@media(min-width:1200px){.fb .fb__grid{grid-template-columns:repeat(5,minmax(0,1fr))}.fb .fb__body{padding:12px}.fb .fb__card h3{font-size:17px;line-height:1.3}.fb .fb__container.container-narrow .fb__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

.fb .fb__card .fb__body h3{font-size:14px;line-height:1.4;font-weight:400;margin:0 0 12px;overflow-wrap:anywhere}.fb .fb__family{font-size:11px;line-height:1.4;letter-spacing:.04em;margin-bottom:6px}
