/* BookGiftShop: readable type and copy spacing. Existing colors, fonts and artwork are retained. */
body.bgs-velocity {
  font-size: 1rem;
  line-height: 1.65;
}
body.bgs-velocity :is(.bgs4-hero-copy,.bgs4-section-intro > div,.bgs4-gift-copy,.bgs4-newsletter-panel > div,.summary.entry-summary,.woocommerce-MyAccount-content) {
  min-width: 0;
}
body.bgs-velocity :is(.bgs4-hero h1,.bgs4-section-intro h2,.bgs4-gift-copy h2,.bgs4-how-head h2,.bgs4-faq-head h2,.bgs4-newsletter h2,.bgs4-journal-hero h1,.bgs4-article-head h1,.bgs4-page-hero h1,.woocommerce-products-header__title,.product_title,.bgs4-book-info h3,.bgs4-proof-card h3,.bgs4-step h3,.bgs4-journal-card h3,.bgs4-post-copy h2) {
  text-transform: none;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
  word-break: normal;
  text-wrap: balance;
  max-width: 100%;
}
body.bgs-velocity .bgs4-hero h1 {
  font-size: clamp(2.25rem,1.5rem + 3vw,4.25rem);
  line-height: 1.1;
  margin: 1.25rem 0 1.5rem;
}
body.bgs-velocity :is(.bgs4-section-intro h2,.bgs4-section-intro.compact h2,.bgs4-gift-copy h2,.bgs4-how-head h2,.bgs4-faq-head h2,.bgs4-newsletter h2,.bgs4-article-footer h2,.bgs-section-head h2) {
  font-size: clamp(1.875rem,1.5rem + 1.65vw,3rem);
  line-height: 1.18;
  letter-spacing: -.025em;
  text-transform: none;
  margin: .875rem 0 1.25rem;
  overflow-wrap: anywhere;
}
body.bgs-velocity :is(.bgs4-journal-hero h1,.bgs4-article-head h1,.bgs4-page-hero h1,.woocommerce-products-header__title) {
  font-size: clamp(2rem,1.5rem + 2.4vw,3.5rem);
  line-height: 1.15;
  margin: 1rem 0 1.25rem;
}
body.bgs-velocity.woocommerce div.product .product_title {
  font-size: clamp(1.75rem,1.375rem + 1.35vw,2.625rem);
  line-height: 1.22;
  letter-spacing: -.02em;
  text-transform: none;
  max-width: 100%;
  margin: 0 0 1.125rem;
  overflow-wrap: anywhere;
}
body.bgs-velocity :is(.bgs4-book-info h3,.bgs4-journal-card h3,.woocommerce ul.products li.product .woocommerce-loop-product__title) {
  font-size: clamp(1.25rem,1.15rem + .35vw,1.5rem);
  line-height: 1.3;
  text-transform: none;
  letter-spacing: -.015em;
  margin: .75rem 0 1rem;
  overflow-wrap: anywhere;
}
body.bgs-velocity :is(.bgs4-step h3,.bgs4-proof-card h3,.bgs4-post-copy h2) {
  font-size: clamp(1.375rem,1.125rem + .85vw,1.875rem);
  line-height: 1.25;
  margin: 1.25rem 0 1rem;
}
body.bgs-velocity :is(.bgs4-hero-lead,.bgs4-section-copy p,.bgs4-section-intro > p,.bgs4-gift-copy p,.bgs4-step p,.bgs4-proof-card p,.bgs4-newsletter p,.bgs4-faq-head > p,.bgs4-faq-item p,.bgs4-journal-card p,.bgs4-post-copy p,.woocommerce-product-details__short-description,.bgs-cx-panel > p,.bgs-pe-creation p) {
  font-size: clamp(1rem,.96rem + .2vw,1.125rem);
  line-height: 1.65;
  letter-spacing: normal;
}
body.bgs-velocity :is(.bgs4-hero-lead,.bgs4-gift-copy p,.bgs4-section-copy p) { max-width: 60ch; }
body.bgs-velocity :is(.bgs4-article-body,.bgs4-page-body,.woocommerce-Tabs-panel) { font-size: 1.0625rem; line-height: 1.75; }
body.bgs-velocity :is(.bgs4-article-body,.bgs4-page-body,.woocommerce-Tabs-panel) :is(p,li) { overflow-wrap: anywhere; }
body.bgs-velocity :is(.bgs4-article-body,.bgs4-page-body,.woocommerce-Tabs-panel) h2 {
  font-size: clamp(1.5rem,1.3rem + .7vw,2rem);
  line-height: 1.3;
  text-transform: none;
  letter-spacing: -.015em;
  margin: 1.75rem 0 1rem;
}
body.bgs-velocity :is(.bgs4-article-body,.bgs4-page-body,.woocommerce-Tabs-panel) h3 { font-size: 1.375rem; line-height: 1.35; text-transform: none; letter-spacing: normal; margin: 1.5rem 0 .75rem; }
body.bgs-velocity :is(.bgs-pe-creation h2,.bgs-pe-faq h2,.bgs-pe-share h2,.bgs-cx-panel h2) {
  font-size: clamp(1.5rem,1.2rem + 1vw,2.25rem);
  line-height: 1.25;
  text-transform: none;
  letter-spacing: -.015em;
}
body.bgs-velocity :is(.bgs-cx-product-reasons h2,.bgs-cx-verified h2,.bgs-cx-result h4) { font-size: 1.25rem; line-height: 1.35; text-transform: none; letter-spacing: normal; }
body.bgs-velocity :is(.bgs4-faq-item summary,.bgs-pe-faq summary) { font-size: 1.0625rem; line-height: 1.5; padding-block: 1.125rem; letter-spacing: normal; }
body.bgs-velocity :is(.bgs-kicker,.bgs4-book-info > small,.bgs4-slot-number,.bgs4-proof-card > span,.bgs4-step > span,.bgs4-journal-card small,.bgs4-journal-image span,.bgs4-post-meta,.bgs4-article-meta,.bgs-cx-eyebrow,.bgs-pe-kicker) {
  font-size: .75rem;
  line-height: 1.5;
  letter-spacing: .065em;
}
body.bgs-velocity .bgs-desktop-menu a { font-size: .8125rem !important; line-height: 1.4; letter-spacing: .04em !important; }
body.bgs-velocity .bgs-mobile-menu a { font-size: 1rem; line-height: 1.5; }
body.bgs-velocity :is(.bgs4-inline-link,.bgs4-card-cta,.bgs4-journal-card > div:last-child > a,.bgs4-article-aside a,.bgs-site-footer li a) {
  font-size: .875rem;
  line-height: 1.5;
  letter-spacing: .025em;
}
body.bgs-velocity .bgs4-card-cta { white-space: nowrap; }
body.bgs-velocity :is(.bgs4-btn,.bgs-cx-button,.bgs-cx-secondary,.bgs4-newsletter button,.bgs4-mobile-shop) { font-size: .9375rem; line-height: 1.4; letter-spacing: .03em; white-space: normal; }
body.bgs-velocity.woocommerce :is(a.button,button.button,input.button),
body.bgs-velocity .woocommerce :is(a.button,button.button,input.button) { font-size: .9375rem !important; line-height: 1.4 !important; letter-spacing: .035em !important; }
body.bgs-velocity.woocommerce div.product form.cart .button { font-size: 1rem !important; line-height: 1.4 !important; padding: .875rem 1.25rem !important; }
body.bgs-velocity :is(.bgs4-price,.woocommerce div.product p.price,.woocommerce div.product span.price) { font-size: 1.25rem !important; line-height: 1.4; letter-spacing: normal; }
body.bgs-velocity :is(.bgs4-proof-flags span,.bgs-cx-badges span,.bgs-pe-chips span,.bgs-pe-spec-line span,.bgs4-trust-line,.bgs-value-bar-inner,.bgs4-review-grid footer,.bgs-pe-isbn,.bgs-cx-small) { font-size: .8125rem; line-height: 1.5; letter-spacing: .025em; }
body.bgs-velocity :is(.bgs-product-confidence small,.bgs-pe-two small,.bgs-pe-free-shipping span,.bgs-cx-message-preview small,.bgs4-newsletter small) { font-size: .8125rem; line-height: 1.55; }
body.bgs-velocity :is(.bgs-product-confidence strong,.bgs-pe-two strong,.bgs-pe-free-shipping strong) { font-size: .9375rem; line-height: 1.4; }
body.bgs-velocity :is(.bgs4-newsletter input,.bgs-gift-fields input,.bgs-gift-fields textarea,.woocommerce form .input-text,.woocommerce form select) { font-size: 1rem !important; line-height: 1.5; letter-spacing: normal; }
body.bgs-velocity.woocommerce-account #customer_login label { font-size: .875rem; line-height: 1.5; letter-spacing: .025em; text-transform: none; }
body.bgs-velocity.woocommerce-account #customer_login h2 { font-size: 1.75rem; line-height: 1.25; text-transform: none; letter-spacing: -.015em; }
body.bgs-velocity.woocommerce-account #customer_login .button { font-size: .9375rem !important; }
body.bgs-velocity .woocommerce-MyAccount-navigation a { font-size: .875rem; line-height: 1.5; letter-spacing: .025em; }
body.bgs-velocity :is(.bgs-site-footer p,.bgs-footer-bottom) { font-size: .875rem; line-height: 1.65; }
body.bgs-velocity .bgs-site-footer h4 { font-size: .9375rem; line-height: 1.4; letter-spacing: .04em; }
body.bgs-velocity .bgs-ai-launcher strong { font-size: 1rem; line-height: 1.2; letter-spacing: -.01em; }
body.bgs-velocity .bgs-ai-launcher small { font-size: .6875rem; line-height: 1.45; letter-spacing: .045em; }
body.bgs-velocity :is(.bgs-ai-head small,.bgs-ai-head span,.bgs-ai-foot,.bgs-ai-quick button) { font-size: .75rem; line-height: 1.5; letter-spacing: .02em; }
body.bgs-velocity .bgs-ai-head strong { font-size: 1rem; line-height: 1.3; }
body.bgs-velocity .bgs-ai-bubble { font-size: .9375rem; line-height: 1.6; }
body.bgs-velocity .bgs-ai-form textarea { font-size: 1rem; }
body.bgs-velocity .bgs-ai-foot { flex-wrap: wrap; }
/* Tighter text rhythm; keep the existing section order and visual treatment. */
body.bgs-velocity .bgs4-section-intro { align-items: start; gap: clamp(1.5rem,3vw,3rem); margin-bottom: 2rem; }
body.bgs-velocity :is(.bgs4-books,.bgs4-how,.bgs4-journal,.bgs4-newsletter,.bgs4-reviews) { padding-block: clamp(3rem,5vw,5.5rem); }
body.bgs-velocity :is(.bgs4-page-hero,.bgs4-journal-hero,.bgs4-article-hero) { padding-top: clamp(3rem,5vw,5rem); padding-bottom: 2.5rem; }
body.bgs-velocity .bgs4-page-body { padding-top: 2.5rem; padding-bottom: 4.5rem; }
body.bgs-velocity .bgs4-step { min-height: 15rem; }
body.bgs-velocity .bgs4-proof-card { min-height: 20rem; }
body.bgs-velocity .bgs4-newsletter-panel { min-height: 20rem; }
body.bgs-velocity .bgs4-book-info { display: flex; flex-direction: column; }
body.bgs-velocity .bgs4-card-footer { flex-wrap: wrap; row-gap: .75rem; margin-top: auto; }
body.bgs-velocity .bgs4-book-grid { grid-template-columns: repeat(var(--bgs-book-columns,4),minmax(0,1fr)); }
body.bgs-velocity .bgs4-book-info h3 { min-height: 0; }
body.bgs-velocity .woocommerce div.product > :is(.images,.summary) { min-width: 0; }
body.bgs-velocity :is(button,a,input,select,textarea,summary):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
body.bgs-velocity.woocommerce-cart .wc-block-cart__empty-cart__title::before { font-size: clamp(1.5rem,1rem + 2vw,2.5rem); line-height: 1.25; letter-spacing: -.02em; }
body.bgs-velocity.woocommerce-cart .wc-block-cart__empty-cart__title::after { font-size: clamp(1.875rem,1.3rem + 2vw,3rem); line-height: 1.15; letter-spacing: -.02em; }
@media (max-width:1180px) {
  body.bgs-velocity .bgs4-book-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  body.bgs-velocity .bgs4-section-intro { grid-template-columns: minmax(0,1fr); }
  body.bgs-velocity.woocommerce div.product, body.bgs-velocity .woocommerce div.product { grid-template-columns: minmax(0,1fr); }
  body.bgs-velocity .woocommerce div.product > .images { position: relative; top: auto; }
}
@media (max-width:650px) {
  body.bgs-velocity .bgs4-book-grid { grid-template-columns: minmax(0,1fr); }
  body.bgs-velocity .bgs4-hero-copy { width: 100%; }
  body.bgs-velocity .bgs4-hero h1 { font-size: clamp(2.125rem,1.5rem + 3vw,2.75rem); }
  body.bgs-velocity :is(.bgs4-section-intro h2,.bgs4-gift-copy h2,.bgs4-how-head h2,.bgs4-faq-head h2,.bgs4-newsletter h2) { font-size: clamp(1.75rem,1.375rem + 1.5vw,2.25rem); }
  body.bgs-velocity .bgs4-trust-line { gap: .75rem 1rem; }
  body.bgs-velocity .bgs4-btn { width: 100%; min-height: 3rem; }
  body.bgs-velocity.woocommerce-account #customer_login form { padding: 1.125rem !important; }
  body.bgs-velocity .bgs-ai-launcher { max-width: calc(100vw - 1.5rem); }
}
