/* BooksFirst 10.93 — one-line curated bundles, aligned commerce actions, considerate motion.
   Loaded LAST so it does not reintroduce earlier homepage/card sizing regressions. */
:root { --bf93-navy:#0d1d3d; --bf93-red:#d60032; --bf93-line:#e2e7ef; }

/* Six curated gifts, all visible in one row on a wide desktop. */
.bf93-bundle-shelf { margin:24px auto 36px; }
.bf93-bundle-shelf .bf93-bundle-heading { align-items:center; margin-bottom:14px; }
.bf93-bundle-shelf .bf93-bundle-heading h2 { font-size:clamp(22px,2.45vw,34px); }
.bf79-home-grid.bf93-bundle-grid { display:grid!important; grid-template-columns:repeat(6,minmax(0,1fr))!important; gap:12px!important; overflow:visible!important; padding:2px 0 8px!important; }
.bf79-home-grid.bf93-bundle-grid .bf93-bundle-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--bf93-line); border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 5px 16px rgba(12,26,58,.045); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.bf79-home-grid.bf93-bundle-grid .bf93-bundle-card:hover { transform:translateY(-5px); box-shadow:0 15px 30px rgba(10,22,51,.13); border-color:#cbd4e2; }
.bf79-home-grid.bf93-bundle-grid a { width:auto; flex:auto; display:inline; border:0; border-radius:0; background:transparent; box-shadow:none; color:inherit; padding:0; text-decoration:none; transform:none; }
.bf79-home-grid.bf93-bundle-grid a:hover { box-shadow:none; transform:none; }
.bf79-home-grid.bf93-bundle-grid .bf93-bundle-image { width:100%; flex:0 0 auto; display:block; overflow:hidden; background:#f7f8fa; aspect-ratio:1.15; }
.bf79-home-grid.bf93-bundle-grid .bf93-bundle-image img { display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:contain; background:#f7f8fa; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.bf79-home-grid.bf93-bundle-grid .bf93-bundle-card:hover img { transform:scale(1.055); }
.bf79-home-grid.bf93-bundle-grid .bf93-bundle-body { display:flex; flex:1; min-width:0; flex-direction:column; gap:5px; padding:11px; }
.bf79-home-grid.bf93-bundle-grid .bf93-bundle-title { color:var(--bf93-navy); font-weight:850; font-size:12px; line-height:1.27; min-height:31px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bf79-home-grid.bf93-bundle-grid .bf93-bundle-age { color:#6d7890; font-size:10px; font-weight:700; line-height:1.25; }
.bf79-home-grid.bf93-bundle-grid .bf93-bundle-price { margin-top:auto; padding-top:7px; color:var(--bf93-red); font-size:14px; font-weight:900; white-space:nowrap; }
.bf79-home-grid.bf93-bundle-grid form { margin:4px 0 0; width:100%; }
.bf79-home-grid.bf93-bundle-grid .bf93-add-button { width:100%; min-height:39px; display:flex; justify-content:center; align-items:center; gap:8px; padding:8px; color:#fff; background:var(--bf93-red); border:1px solid var(--bf93-red); border-radius:10px; cursor:pointer; font:850 11px/1.2 'Montserrat',Arial,sans-serif; box-shadow:none; text-align:center; transition:background .18s ease,transform .18s ease,box-shadow .18s ease; }
.bf79-home-grid.bf93-bundle-grid .bf93-add-button span:last-child { font-size:17px; font-weight:500; line-height:1; }
.bf79-home-grid.bf93-bundle-grid .bf93-add-button:hover:not(:disabled),.bf79-home-grid.bf93-bundle-grid .bf93-add-button:focus-visible { color:#fff; background:#b9002a; box-shadow:0 6px 16px #cc12333d; transform:translateY(-1px); }
.bf79-home-grid.bf93-bundle-grid .bf93-disabled-order { background:#122346; border-color:#122346; }
.bf79-home-grid.bf93-bundle-grid .bf93-add-button:disabled { opacity:.8; cursor:wait; }
.bf93-bundle-shelf .bf93-bundle-note { font-size:11px; line-height:1.5; margin-top:8px; color:#69758a; }

/* Dedicated shop page: six compact cards on large desktops, readable on phones. */
@media(min-width:1250px){
  .reading-bundles-page .bf79-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
  .reading-bundles-page .bf79-card { border-radius:16px; }
  .reading-bundles-page .bf79-photo { aspect-ratio:1.1; }
  .reading-bundles-page .bf79-photo span { font-size:9px; padding:5px 8px; top:8px; left:8px; }
  .reading-bundles-page .bf79-card-content { padding:11px; gap:7px; }
  .reading-bundles-page .bf79-card h3 { font-size:14px; line-height:1.25; min-height:35px; }
  .reading-bundles-page .bf79-card p { font-size:10px; line-height:1.4; min-height:42px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .reading-bundles-page .bf79-card small { font-size:9px; min-height:25px; }
  .reading-bundles-page .bf79-price { display:block; padding-top:4px; }
  .reading-bundles-page .bf79-price strong { font-size:17px; white-space:nowrap; }
  .reading-bundles-page .bf79-price span { display:none; }
  .reading-bundles-page .bf79-theme { font-size:10px; }
  .reading-bundles-page .bf79-theme select { font-size:10px; min-height:36px; padding:5px; }
  .reading-bundles-page .bf79-add { min-height:42px; padding:7px; font-size:11px; gap:5px; }
}
@media(min-width:1250px) and (max-width:1390px){.reading-bundles-page .bf79-grid{gap:9px}.reading-bundles-page .bf79-card-content{padding:9px}}
@media(max-width:1249px){
  .bf79-home-grid.bf93-bundle-grid { display:flex!important; flex-wrap:nowrap; overflow-x:auto!important; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; padding-bottom:12px!important; }
  .bf79-home-grid.bf93-bundle-grid .bf93-bundle-card { flex:0 0 clamp(170px,24vw,230px); scroll-snap-align:start; }
}
@media(max-width:760px){
  .bf93-bundle-shelf { margin-top:20px; }
  .bf93-bundle-shelf .bf93-bundle-heading { align-items:flex-start; }
  .bf79-home-grid.bf93-bundle-grid .bf93-bundle-card { flex-basis: min(64vw,220px); }
  .bf79-home-grid.bf93-bundle-grid .bf93-bundle-body { padding:12px; }
  .reading-bundles-page .bf79-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .reading-bundles-page .bf79-card-content { padding:12px; gap:7px; }
  .reading-bundles-page .bf79-card h3 { font-size:15px; }
  .reading-bundles-page .bf79-card p { font-size:11px; min-height:42px; }
  .reading-bundles-page .bf79-card .bf79-add { min-height:42px; }
}

/* A clear, single horizontal decision row per book: Details | Add to cart. */
.product-content .bf93-buy-actions { display:flex; align-items:stretch; gap:6px; width:100%; margin-top:10px; min-width:0; }
.product-content .bf93-buy-actions .bf61-quick-view { flex:0 0 37%; min-width:0; min-height:38px; height:38px; margin:0; padding:5px 7px; font-size:10px; font-weight:800; border:1px solid #d6deeb; border-radius:10px; color:#18284a; background:#fff; }
.product-content .bf93-buy-actions .quick-add { flex:1; min-width:0; margin:0; display:block; }
.product-content .bf93-buy-actions .quick-add button,
.page-home .product-content .bf93-buy-actions .quick-add button,
.bf9-product-row .bf93-buy-actions .quick-add button { width:100%; display:flex; align-items:center; justify-content:center; gap:5px; margin:0; min-width:0; min-height:38px!important; height:38px!important; padding:5px 5px!important; border:1px solid var(--bf93-red)!important; background:var(--bf93-red)!important; color:#fff!important; border-radius:10px!important; font-size:10px!important; font-weight:850; white-space:nowrap; }
.product-content .bf93-buy-actions .quick-add button svg { width:16px; height:16px; flex:0 0 16px; }
.product-content .bf93-buy-actions .quick-add button:hover { background:#ba0029!important; }
.product-content .bf93-buy-actions button:focus-visible { outline:3px solid #f996ad; outline-offset:2px; }
@media(max-width:760px){.product-content .bf93-buy-actions{gap:4px}.product-content .bf93-buy-actions .bf61-quick-view{flex-basis:35%;font-size:9px}.product-content .bf93-buy-actions .quick-add button{font-size:9px!important}}

/* Checkout and cart: two clear actions kept on one row, not floating irregularly. */
.page-checkout .step-actions { display:flex!important; flex-wrap:nowrap!important; align-items:stretch!important; justify-content:space-between!important; gap:12px!important; }
.page-checkout .step-actions .btn { display:inline-flex; align-items:center; justify-content:center; margin:0!important; min-width:0; min-height:48px; line-height:1.25; border-radius:12px; font-size:12px; font-weight:850; padding:11px 16px; white-space:nowrap; transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.page-checkout .step-actions .btn-outline { flex:0 0 30%; }
.page-checkout .step-actions .btn-primary { flex:1 1 auto; }
.page-checkout .step-actions .checkout-submit { justify-content:space-between; gap:10px; }
.page-checkout .step-actions .checkout-submit b { font-size:11px; white-space:nowrap; }
.page-checkout .step-actions .btn:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 7px 18px rgba(12,28,59,.15); }
.cart-page-v5 .cart-actions-v5 { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:nowrap; }
.cart-page-v5 .cart-actions-v5 .btn { display:inline-flex; justify-content:center; align-items:center; min-height:44px; min-width:0; white-space:nowrap; border-radius:11px; }
@media(max-width:600px){
  .page-checkout .step-actions { gap:8px!important; }
  .page-checkout .step-actions .btn { min-height:48px; font-size:11px; padding:9px 11px; }
  .page-checkout .step-actions .btn-outline { flex-basis:27%; }
  .page-checkout .step-actions .checkout-submit b { font-size:9px; }
  .cart-page-v5 .cart-actions-v5 { gap:7px; }
  .cart-page-v5 .cart-actions-v5 .btn { flex:1; font-size:10px; padding:9px 7px; }
}

/* Native, accessible add-to-cart confirmation: mobile-first, unobtrusive. */
.bf93-added-dialog { position:fixed; inset:auto 16px 22px auto; width:min(390px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:0; padding:0; border:1px solid #e0e5ed; border-radius:20px; overflow:visible; background:#fff; color:#13203d; box-shadow:0 24px 80px rgba(4,13,33,.28); }
.bf93-added-dialog::backdrop { background:rgba(4,13,33,.3); backdrop-filter:blur(2px); }
.bf93-added-dialog .bf93-dialog-inner { padding:20px; }
.bf93-added-dialog .bf93-close { position:absolute; top:11px; right:13px; display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:50%; background:#f1f4f8; font-size:21px; color:#172342; cursor:pointer; }
.bf93-added-dialog .bf93-check { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#e7f8ee; color:#14824c; font-size:21px; font-weight:900; }
.bf93-added-dialog h2 { margin:12px 0 7px; font-size:22px; letter-spacing:-.035em; color:#10203c; }
.bf93-added-dialog p { margin:0; font-size:12px; color:#5e6a7e; line-height:1.6; }
.bf93-added-dialog .bf93-dialog-actions { display:flex; align-items:center; gap:8px; margin-top:18px; }
.bf93-added-dialog .bf93-dialog-actions a { display:flex; justify-content:center; align-items:center; text-align:center; flex:1; min-height:43px; padding:9px; border-radius:11px; color:#172647; background:#f0f2f6; font-size:11px; font-weight:850; text-decoration:none; }
.bf93-added-dialog .bf93-dialog-actions a:last-child { background:var(--bf93-red); color:#fff; }
.bf93-added-dialog .bf93-continue { margin-top:10px; font-size:11px; cursor:pointer; background:transparent; color:#263e61; border:0; text-decoration:underline; }
@media(max-width:620px){ .bf93-added-dialog { inset:auto 12px 12px 12px; width:calc(100vw - 24px); border-radius:20px; } }

/* Cinematic accents stay fast, functional, and off for reduced-motion users. */
@media(prefers-reduced-motion:no-preference){
  @view-transition { navigation:auto; }
  ::view-transition-old(root) { animation:bf93-out .15s ease-in both; }
  ::view-transition-new(root) { animation:bf93-in .26s ease-out both; }
  @keyframes bf93-out {to{opacity:.8;transform:translateY(-3px)}}
  @keyframes bf93-in {from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}
  .bf93-added-dialog[open] { animation:bf93-pop .26s cubic-bezier(.2,.85,.25,1) both; }
  @keyframes bf93-pop {from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
  .bf93-cart-pulse { animation:bf93-bounce .43s ease both; }
  @keyframes bf93-bounce {0%,100%{transform:scale(1)}48%{transform:scale(1.17)}}
  .bf93-fly-item { position:fixed!important; z-index:99999!important; pointer-events:none!important; object-fit:contain!important; border-radius:14px!important; box-shadow:0 18px 35px #0c214130!important; transition:transform .54s cubic-bezier(.22,.8,.27,1),opacity .54s ease; }
  body.bf93-motion-ready .bf93-await { opacity:0; transform:translateY(16px); }
  body.bf93-motion-ready .bf93-await.bf93-shown { opacity:1; transform:none; transition:opacity .54s ease,transform .54s cubic-bezier(.22,.8,.27,1); }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after { scroll-behavior:auto!important; }
  .bf93-bundle-card,.bf93-bundle-card img,.bf93-add-button,.bf93-added-dialog,.bf93-buy-actions button { animation:none!important; transition:none!important; }
}
.bf93-bundle-error { color:#aa1939; font-size:11px; line-height:1.4; margin:6px 0; }
