.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1023px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --cocoa:#2A1712; --ilb-orange:#F26E21; --huddle-teal:#13A3A1; --sunflower:#F6A623; --paper-cream:#F7F1E8; --sand:#E9DCC8; --ink:#1C1210; --muted:#4A3A34; --font-display:Fraunces; --font-body:DM Sans; --content-width:1400px; --widget-gap:24px; }
/* Start custom CSS *//* ===== ILB store pages: Cart, Checkout, My account (matches site design) ===== */
body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account { background-color: #F7F1E8; }
body.woocommerce-cart .site-main, body.woocommerce-checkout .site-main, body.woocommerce-account .site-main { max-width: 1512px; margin: 0 auto; padding: 56px 56px 80px; font-family: "DM Sans", sans-serif; font-size: 16px; color: #1C1210; }
body.woocommerce-cart .page-header, body.woocommerce-checkout .page-header, body.woocommerce-account .page-header { max-width: none; padding: 0; margin: 0 0 32px; }
body.woocommerce-cart .entry-title, body.woocommerce-checkout .entry-title, body.woocommerce-account .entry-title { font-family: "Fraunces", serif; font-weight: 500; font-size: 52px; line-height: 1.05; color: #1C1210; margin: 0; }
body.woocommerce-cart .site-main h2, body.woocommerce-checkout .site-main h2, body.woocommerce-account .site-main h2,
body.woocommerce-cart .site-main h3, body.woocommerce-checkout .site-main h3, body.woocommerce-account .site-main h3,
.wc-block-components-title.wc-block-components-title, .wc-block-cart__totals-title { font-family: "Fraunces", serif; font-weight: 500; color: #1C1210; text-transform: none; letter-spacing: 0; }
body.woocommerce-cart .site-main a:not(.wc-block-components-button):not(.button):not(.wp-block-button__link), body.woocommerce-checkout .site-main a:not(.wc-block-components-button):not(.button), body.woocommerce-account .site-main a:not(.button) { color: #1C1210; text-decoration: underline; text-underline-offset: 3px; }

/* Panels: white cards with a soft border */
.wp-block-woocommerce-cart-items-block, .wp-block-woocommerce-cart-totals-block,
.wc-block-checkout__main, .wc-block-checkout__sidebar,
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-form-login, body.woocommerce-account .woocommerce-form-register, body.woocommerce-account .woocommerce-ResetPassword {
  background: #FFFFFF; border: 1px solid #E8DDCB; border-radius: 16px; padding: 24px; box-sizing: border-box; }
.wc-block-checkout__sidebar { align-self: flex-start; }

/* Line items */
.wc-block-components-product-name { font-family: "Fraunces", serif; font-weight: 500; font-size: 18px; color: #1C1210 !important; text-decoration: none !important; }
.wc-block-cart-items__header { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #1C1210; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: 6px; }
.wc-block-components-product-price, .wc-block-components-totals-item__value { color: #1C1210; font-weight: 700; }
.wc-block-components-totals-item__label { color: #1C1210; }
.wc-block-components-product-metadata, .wc-block-components-product-details { color: #4A3A34; font-size: 14px; }

/* Buttons: ILB Orange pills with Ink text */
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button,
body.woocommerce-account .button, body.woocommerce-account button[type="submit"], body.woocommerce-cart .wp-block-button__link {
  background-color: #F26E21 !important; color: #1C1210 !important; border: 0 !important; border-radius: 999px !important; min-height: 48px; padding: 12px 28px !important;
  font-family: "DM Sans", sans-serif !important; font-weight: 700 !important; font-size: 16px !important; text-decoration: none !important; box-shadow: none !important; }
.wc-block-components-button:not(.is-link):hover, .wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-account .button:hover, body.woocommerce-account button[type="submit"]:hover, body.woocommerce-cart .wp-block-button__link:hover { background-color: #2A1712 !important; color: #F7F1E8 !important; }
.wc-block-components-button:focus-visible, body.woocommerce-account .button:focus-visible { outline: 3px solid #F6A623 !important; outline-offset: 2px; }

/* Form fields: Ink 2px border, 8px radius */
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select__select, .wc-block-components-textarea,
body.woocommerce-account .input-text, body.woocommerce-account select {
  border: 2px solid #1C1210 !important; border-radius: 8px !important; background-color: #FFFFFF !important; color: #1C1210 !important; font-family: "DM Sans", sans-serif; }
.wc-block-components-text-input label, .wc-block-components-combobox label, .wc-blocks-components-select__label { color: #4A3A34 !important; }
.wc-block-components-text-input input:focus, .wc-blocks-components-select__select:focus, body.woocommerce-account .input-text:focus { outline: 3px solid #F6A623 !important; outline-offset: 1px; box-shadow: none !important; }
.wc-block-components-quantity-73 elector { border: 2px solid #1C1210 !important; border-radius: 8px !important; }
.wc-block-components-quantity-73 elector::after { display: none; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: #E8DDCB !important; border-radius: 8px; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox], .wc-block-components-radio-control__input { border: 2px solid #1C1210 !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: #F26E21 !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #FFFFFF !important; }
.wc-block-components-radio-control__input:checked::before { background: #F26E21 !important; }

/* Notices */
.wc-block-components-notice-banner, body.woocommerce-account .woocommerce-message, body.woocommerce-account .woocommerce-info, body.woocommerce-account .woocommerce-error {
  background: #FFFFFF !important; border: 1px solid #E8DDCB !important; border-left: 4px solid #13A3A1 !important; border-radius: 8px !important; color: #1C1210 !important; font-family: "DM Sans", sans-serif; }
.wc-block-components-notice-banner.is-error, body.woocommerce-account .woocommerce-error { border-left-color: #F26E21 !important; }

/* Empty cart and suggestions */
.wp-block-woocommerce-empty-cart-block { background: #FFFFFF; border: 1px solid #E8DDCB; border-radius: 16px; padding: 40px 24px; text-align: center; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots::before { color: #F26E21; }
.wp-block-woocommerce-product-collection .wp-block-post-title a, .wc-block-grid__product-title { font-family: "Fraunces", serif; font-weight: 500; color: #1C1210; text-decoration: none; }
.wc-block-grid__product-image img, .wp-block-woocommerce-product-image img { border-radius: 6px; }

/* My account */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 999px; color: #1C1210 !important; text-decoration: none !important; font-weight: 700; }
.woocommerce-MyAccount-navigation a:hover { background: #E9DCC8; }
.woocommerce-MyAccount-navigation .is-active a { background: #1C1210; color: #F7F1E8 !important; }
body.woocommerce-account.logged-in .woocommerce { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation { flex: 0 0 260px; float: none; width: auto; }
body.woocommerce-account.logged-in .woocommerce-MyAccount-content { flex: 1 1 400px; float: none; width: auto; }
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper { flex: 1 1 100%; }
body.woocommerce-account:not(.logged-in) .woocommerce { max-width: 560px; }

@media (max-width: 767px) {
  body.woocommerce-cart .site-main, body.woocommerce-checkout .site-main, body.woocommerce-account .site-main { padding: 32px 16px 56px; }
  body.woocommerce-cart .entry-title, body.woocommerce-checkout .entry-title, body.woocommerce-account .entry-title { font-size: 34px; }
  .wp-block-woocommerce-cart-items-block, .wp-block-woocommerce-cart-totals-block, .wc-block-checkout__main, .wc-block-checkout__sidebar { padding: 16px; }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation { flex: 1 1 100%; }
}

/* ===== Book cards (shop loop item 634) — kept here so it always loads ===== */
.e-loop-item.elementor-634 [data-id="260922ef"] { position: relative; }
.e-loop-item.elementor-634 [data-id="bdg2634a"] { position: absolute; top: 8px; right: 8px; z-index: 2; width: 48px !important; height: 48px !important; margin: 0; filter: drop-shadow(0 3px 6px rgba(28,18,16,.35)); pointer-events: none; }
.e-loop-item.elementor-634 .price, .e-loop-item.elementor-634 .price .amount, .e-loop-item.elementor-634 .price ins, .e-loop-item.elementor-634 .price bdi { color: #1C1210 !important; font-family: "DM Sans", sans-serif; font-size: 18px !important; font-weight: 700; text-decoration: none; }
.e-loop-item.elementor-634 .price del, .e-loop-item.elementor-634 .price del .amount { color: #4A3A34 !important; font-weight: 400; font-size: 15px !important; }
/* Book page price */
.elementor-610 .price, .elementor-610 .price .amount { color: #1C1210 !important; }

/* ===== Header: account + cart icon buttons (text stays for screen readers) ===== */
.elementor-21 [data-id="558fa380"], .elementor-21 [data-id="6b4f5778"] { position: relative; display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 !important; border-radius: 50% !important; font-size: 0 !important; line-height: 0 !important; color: transparent !important; overflow: hidden; }
.elementor-21 [data-id="558fa380"]::before, .elementor-21 [data-id="6b4f5778"]::before { content: ""; width: 22px; height: 22px; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-position: center; mask-position: center; }
.elementor-21 [data-id="558fa380"]::before { background-color: #F7F1E8; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6.5 8-6.5s8 2.5 8 6.5'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6.5 8-6.5s8 2.5 8 6.5'/%3E%3C/svg%3E"); }
.elementor-21 [data-id="6b4f5778"]::before { background-color: #1C1210; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.6 12.4a2 2 0 0 0 2 1.6h8.8a2 2 0 0 0 2-1.6L22 7H6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.6 12.4a2 2 0 0 0 2 1.6h8.8a2 2 0 0 0 2-1.6L22 7H6'/%3E%3C/svg%3E"); }
.elementor-21 [data-id="558fa380"]:hover { background-color: #F7F1E8 !important; }
.elementor-21 [data-id="558fa380"]:hover::before { background-color: #1C1210; }
.elementor-21 [data-id="6b4f5778"]:hover::before { background-color: #1C1210; }
@media (max-width: 767px) { .elementor-21 [data-id="7f30cbb8"] { margin-inline-start: auto; } }

/* ===== Shop: sticky filter sidebar (desktop/tablet) ===== */
@media (min-width: 768px) {
  .elementor-611 [data-id="2e4f4d99"] { align-items: flex-start; }
  .elementor-611 [data-id="493de6b7"] { position: sticky; top: 120px; align-self: flex-start; max-height: calc(100vh - 140px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  body.admin-bar .elementor-611 [data-id="493de6b7"] { top: 152px; max-height: calc(100vh - 172px); }
}

/* ===== Book page: WooCommerce add-to-cart area in ILB style ===== */
.elementor-610 .elementor-add-to-cart { font-family: "DM Sans", sans-serif; color: #1C1210; }
.elementor-610 table.variations { background: transparent !important; border: 0 !important; margin: 0 0 16px !important; width: 100%; max-width: 420px; border-collapse: collapse; }
.elementor-610 table.variations tr { display: flex; flex-direction: column; gap: 8px; background: transparent !important; }
.elementor-610 table.variations th, .elementor-610 table.variations td { display: block; padding: 0 !important; background: transparent !important; border: 0 !important; text-align: left; }
.elementor-610 table.variations th.label label { font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #1C1210; }
.elementor-610 table.variations select { box-sizing: border-box; width: 100%; height: 48px; padding: 0 14px; font-family: "DM Sans", sans-serif; font-size: 16px; color: #1C1210; background-color: #FFFFFF; border: 2px solid #1C1210; border-radius: 8px; }
.elementor-610 table.variations select:focus { outline: 3px solid #F6A623; outline-offset: 2px; }
.elementor-610 .reset_variations { display: inline-block; margin-top: 8px; font-size: 14px; font-weight: 700; color: #1C1210 !important; text-decoration: underline; text-underline-offset: 3px; }
.elementor-610 .woocommerce-variation-price .price, .elementor-610 .woocommerce-variation-price .price .amount { color: #1C1210 !important; font-family: "DM Sans", sans-serif; font-size: 22px; font-weight: 700; }
.elementor-610 .woocommerce-variation-price .price del, .elementor-610 .woocommerce-variation-price .price del .amount { color: #4A3A34 !important; font-size: 16px; font-weight: 400; }
.elementor-610 .woocommerce-variation-availability, .elementor-610 .stock { color: #4A3A34; font-size: 14px; }
.elementor-610 .woocommerce-variation-add-to-cart, .elementor-610 form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.elementor-610 .quantity input.qty { box-sizing: border-box; width: 72px; height: 48px; text-align: center; font-family: "DM Sans", sans-serif; font-size: 16px; color: #1C1210; background: #FFFFFF; border: 2px solid #1C1210; border-radius: 8px; }
.elementor-610 button.single_add_to_cart_button, .elementor-610 .single_add_to_cart_button.button {
  min-height: 48px; padding: 12px 32px !important; border: 0 !important; border-radius: 999px !important; background-color: #F26E21 !important; color: #1C1210 !important;
  font-family: "DM Sans", sans-serif !important; font-size: 16px !important; font-weight: 700 !important; box-shadow: none !important; cursor: pointer; }
.elementor-610 button.single_add_to_cart_button:hover { background-color: #2A1712 !important; color: #F7F1E8 !important; }
.elementor-610 button.single_add_to_cart_button:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }
.elementor-610 button.single_add_to_cart_button.disabled { opacity: .55; cursor: not-allowed; }
/* Additional information table */
.elementor-610 .woocommerce-product-attributes { width: 100%; border: 0 !important; border-collapse: collapse; margin: 8px 0 0; }
.elementor-610 .woocommerce-product-attributes th, .elementor-610 .woocommerce-product-attributes td { padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid #E8DDCB !important; background: transparent !important; text-align: left; font-family: "DM Sans", sans-serif; font-size: 15px; color: #1C1210; font-style: normal; }
.elementor-610 .woocommerce-product-attributes th { width: 40%; font-weight: 700; }
.elementor-610 .woocommerce-product-attributes td p { margin: 0; }
/* Woo notices on the book page ("added to your cart") */
.single-product .woocommerce-message, .single-product .woocommerce-info, .single-product .woocommerce-error { background: #FFFFFF; border: 1px solid #E8DDCB; border-left: 4px solid #13A3A1; border-radius: 8px; color: #1C1210; font-family: "DM Sans", sans-serif; }
.single-product .woocommerce-message .button { background: #F26E21 !important; color: #1C1210 !important; border-radius: 999px !important; font-weight: 700; }

/* ===== Book page: "About this book" + "Details" row ===== */
/* About this book: larger, more readable body text */
.elementor-610 [data-id="512d2e75"], .elementor-610 [data-id="512d2e75"] p, .elementor-610 [data-id="512d2e75"] li { font-family: "DM Sans", sans-serif; font-size: 18px; line-height: 1.75; color: #1C1210; }
.elementor-610 [data-id="512d2e75"] p { margin: 0 0 1.1em; max-width: 68ch; }
.elementor-610 [data-id="512d2e75"] strong, .elementor-610 [data-id="512d2e75"] b { font-weight: 700; color: #1C1210; }
.elementor-610 [data-id="512d2e75"] h2, .elementor-610 [data-id="512d2e75"] h3 { font-family: "Fraunces", serif; font-weight: 500; color: #1C1210; margin: 1.4em 0 .5em; }
.elementor-610 [data-id="512d2e75"] a { color: #1C1210; text-decoration: underline; text-underline-offset: 3px; }
/* Details card: one clean list (no duplicate heading, no italics) */
.elementor-610 [data-id="a7c2e102"] h2 { display: none; }
.elementor-610 [data-id="6b6d4d76"] .woocommerce-product-attributes { margin: 0 !important; }
.elementor-610 [data-id="6b6d4d76"] .woocommerce-product-attributes tr { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #E8DDCB; }
.elementor-610 [data-id="6b6d4d76"] .woocommerce-product-attributes th, .elementor-610 [data-id="6b6d4d76"] .woocommerce-product-attributes td { display: block; border: 0 !important; padding: 12px 0 !important; font-style: normal !important; font-size: 15px; line-height: 1.45; color: #1C1210; }
.elementor-610 [data-id="6b6d4d76"] .woocommerce-product-attributes th { width: auto; flex: 0 0 auto; font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: #4A3A34; padding-top: 14px !important; }
.elementor-610 [data-id="6b6d4d76"] .woocommerce-product-attributes td { text-align: right; font-weight: 500; }
.elementor-610 [data-id="6b6d4d76"] .woocommerce-product-attributes td p { margin: 0; }
.elementor-610 [data-id="6b6d4d76"] .woocommerce-product-attributes td a { color: #1C1210 !important; text-decoration: underline; text-underline-offset: 3px; }
/* ISBN line styled as the last row */
.elementor-610 [data-id="4d260219"] { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; font-family: "DM Sans", sans-serif; font-size: 15px; font-weight: 500; color: #1C1210; }
.elementor-610 [data-id="4d260219"]:empty { display: none; }
.elementor-610 .woocommerce-product-attributes-item--weight, .elementor-610 .woocommerce-product-attributes-item--dimensions { display: none !important; }

/* ===== Book page: hide "Prefer another store?" unless at least one store link exists ===== */
.elementor-610 [data-id="1e5f98bf"] { display: none !important; }
.elementor-610 [data-id="1e5f98bf"]:has(+ [data-id="30815f41"] a[href]) { display: block !important; }
.elementor-610 [data-id="30815f41"]:not(:has(a[href])) { display: none !important; }
/* Hidden quantity (sold individually) shouldn't push the Add to cart button */
.elementor-610 .quantity:has(input[type="hidden"]) { display: none !important; }

/* ===== Safety net: theme blockquote/quote defaults must not override Elementor section styling ===== */
.elementor blockquote, .elementor q { color: inherit; font: inherit; margin: 0; padding: 0; border: 0; background: none; quotes: none; }
.elementor blockquote::before, .elementor blockquote::after { content: none; }

/* ===== Instagram glyph before Instagram links (footer + contact) ===== */
.elementor-34 [data-id="14d65451"] a::before, .elementor-57 [data-id="71e1dc39"] a::before { content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 8px; vertical-align: -3px; background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='0.8' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='0.8' fill='black'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ===== Authors grid: logo placeholder when an author has no photo yet ===== */
.elementor-55 [data-interaction-id="27fd343d"]:has(img:not([src])) { display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 6px; background: #F7F1E8 url("https://ilikebeingmebooks.ca/wp-content/uploads/2026/10/ilbm-logo-300x300.png") center / 55% no-repeat; }
.elementor-55 [data-interaction-id="27fd343d"] img:not([src]) { display: none; }

/* ===== Author profile (single template 749) ===== */
.elementor-749 [data-id="b4c0bf2"], .elementor-749 [data-id="b4c0bf2"] p { font-family: "DM Sans", sans-serif; font-size: 18px; line-height: 1.75; color: #1C1210; }
.elementor-749 [data-id="b4c0bf2"] p { margin: 0 0 1.1em; }
.elementor-749 [data-id="75c0128f"]:has(img:not([src])) { aspect-ratio: 1 / 1; border-radius: 16px; background: #FFFFFF url("https://ilikebeingmebooks.ca/wp-content/uploads/2026/10/ilbm-logo-300x300.png") center / 55% no-repeat; border: 1px solid #E8DDCB; }
.elementor-749 [data-id="4bb85132"]:not([src]) { display: none; }

/* ===== Shop sidebar: search box ===== */
.elementor-611 [data-id="493de6b7"] .jet-search-filter { display: flex; gap: 8px; }
.elementor-611 [data-id="493de6b7"] .jet-search-filter__input-wrapper { flex: 1 1 auto; position: relative; }
.elementor-611 [data-id="493de6b7"] .jet-search-filter__input { box-sizing: border-box; width: 100%; height: 44px; padding: 0 12px 0 40px; font-family: "DM Sans", sans-serif; font-size: 16px; color: #1C1210; background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A3A34' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 12px center / 18px no-repeat; border: 2px solid #1C1210; border-radius: 8px; }
.elementor-611 [data-id="493de6b7"] .jet-search-filter__input::placeholder { color: #4A3A34; opacity: 1; }
.elementor-611 [data-id="493de6b7"] .jet-search-filter__input:focus { outline: 3px solid #F6A623; outline-offset: 2px; }
.elementor-611 [data-id="493de6b7"] .jet-search-filter__input-clear { color: #1C1210; }
.elementor-611 [data-id="493de6b7"] [data-id="f1a00007"] .jet-filter-label { margin-top: 16px; }

/* ===== About: testimonials carousel ===== */
.elementor-54 [data-id="7b035c13"] { display: flex !important; grid-template-columns: none !important; gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 4px; }
.elementor-54 [data-id="7b035c13"]::-webkit-scrollbar { display: none; }
.elementor-54 [data-id="7b035c13"]:focus-visible { outline: 3px solid #F6A623; outline-offset: 4px; border-radius: 16px; }
.elementor-54 [data-id="7b035c13"] > .e-con { flex: 0 0 calc((100% - 40px) / 3); scroll-snap-align: start; }
@media (max-width: 1023px) { .elementor-54 [data-id="7b035c13"] > .e-con { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 767px) { .elementor-54 [data-id="7b035c13"] > .e-con { flex-basis: 85%; } }
.elementor-54 [data-id="115da1bb"] button[disabled] { opacity: .4; cursor: default; }
@media (prefers-reduced-motion: reduce) { .elementor-54 [data-id="7b035c13"] { scroll-behavior: auto; } }

/* ===== Breadcrumbs (book pages + shop/category/author pages) ===== */
.elementor-610 .woocommerce-breadcrumb, .elementor-611 .woocommerce-breadcrumb { margin: 0 0 8px; padding: 0; font-family: "DM Sans", sans-serif; font-size: 14px; line-height: 1.5; color: #4A3A34; }
.elementor-610 .woocommerce-breadcrumb a, .elementor-611 .woocommerce-breadcrumb a { color: #1C1210; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.elementor-610 .woocommerce-breadcrumb a:hover, .elementor-611 .woocommerce-breadcrumb a:hover { text-decoration-thickness: 2px; }
.elementor-610 .woocommerce-breadcrumb a:focus-visible, .elementor-611 .woocommerce-breadcrumb a:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }

/* ===== Authors page: live search ===== */
.elementor-55 .ilb-author-search { flex: 1 1 360px; max-width: 480px; }
.elementor-55 .ilb-author-search__input { box-sizing: border-box; width: 100%; height: 48px; padding: 0 14px 0 44px; font-family: "DM Sans", sans-serif; font-size: 16px; color: #1C1210; background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A3A34' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 14px center / 18px no-repeat; border: 2px solid #1C1210; border-radius: 999px; }
.elementor-55 .ilb-author-search__input::placeholder { color: #4A3A34; opacity: 1; }
.elementor-55 .ilb-author-search__input:focus { outline: 3px solid #F6A623; outline-offset: 2px; }
.elementor-55 .ilb-author-search__empty { margin: 8px 0 0; padding: 24px; border-radius: 16px; background: #FFFFFF; border: 1px solid #E8DDCB; font-family: "DM Sans", sans-serif; font-size: 17px; color: #1C1210; }
.elementor-55 .ilb-author-search__empty button { margin-left: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 2px solid #1C1210; background: transparent; color: #1C1210; font-family: "DM Sans", sans-serif; font-weight: 700; font-size: 15px; cursor: pointer; }
.elementor-55 .ilb-author-search__empty[hidden] { display: none; }

/* ===== Site-wide: replace Hello theme's pink (#c36) default links and buttons with the ILB style ===== */
body a { color: #1C1210; }
body a:hover { color: #2A1712; }
body [type=button], body [type=submit], body [type=reset], body button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px;
  border: 2px solid #1C1210; border-radius: 999px; background-color: transparent; color: #1C1210;
  font-family: "DM Sans", sans-serif; font-size: 15px; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer;
  transition: background-color .15s ease, color .15s ease; }
body [type=button]:hover, body [type=submit]:hover, body [type=reset]:hover, body button:hover { background-color: #E9DCC8; color: #1C1210; }
body [type=button]:focus, body [type=submit]:focus, body button:focus { background-color: transparent; color: #1C1210; }
body [type=button]:focus-visible, body [type=submit]:focus-visible, body [type=reset]:focus-visible, body button:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }
body [type=button]:disabled, body [type=submit]:disabled, body button:disabled { opacity: .45; cursor: not-allowed; }
/* Authors "no match" box */
.elementor-55 .ilb-author-search__empty { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.elementor-55 .ilb-author-search__empty button { margin-left: 0; }

/* ===== Per-book source/type (classes from ilb-product-search mu-plugin) ===== */
/* Maple-leaf stamp: M.A.C.C.A. books only */
/* maple leaf rules moved to ilbm-global.css (2026-10-15) */
/* maple leaf rules moved to ilbm-global.css (2026-10-15) */
/* Book page source pill for non-M.A.C.C.A. books */
body.ilb-src-inhouse .elementor-610 [data-id="328d3ce7"],
body.ilb-src-bookshop .elementor-610 [data-id="25cd2b52"],
body.ilb-src-amazon .elementor-610 [data-id="52bb78f4"] { display: inline-flex !important; }
/* Linked-out (external) books: no price, store button instead of Add to cart, affiliate note */
body.ilb-type-external .elementor-610 [data-id="pr1ce610"],
body.ilb-type-external .elementor-610 [data-id="a7c2e101"] { display: none !important; }
body.ilb-type-external .elementor-610 [data-id="7954cde1"] { display: block !important; }
body:not(.ilb-type-external) .elementor-610 [data-id="4e9145d6"], body:not(.ilb-type-external) .elementor-610 [data-id="4e9145d6"].e-button-base.e-button-base { display: none !important; }

/* Policies: keep reading lines comfortable inside the 1400px column */
.elementor-58 [data-id="71ae990c"] p { max-width: 75ch; }

/* ===== Scroll reveal (classes added by the site script; nothing is hidden without it) ===== */
.ilb-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.ilb-reveal.ilb-fade { transform: none; }
.ilb-reveal.ilb-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ilb-reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }
@media print { .ilb-reveal { opacity: 1 !important; transform: none !important; } }

/* ===== Book page: variation choices as buttons (script builds .ilb-pills; the real select stays hidden) ===== */
.elementor-610 table.variations select.ilb-pills-select { display: none !important; }
.ilb-pills { display: flex; flex-wrap: wrap; gap: 10px; }
body .ilb-pills .ilb-pill { min-height: 48px; border-radius: 999px !important; padding: 0 20px; font-family: "DM Sans", sans-serif; font-size: 16px; font-weight: 700; color: #1C1210; background-color: #FFFFFF; border: 2px solid #1C1210; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
body .ilb-pills .ilb-pill:hover { background-color: #E9DCC8; color: #1C1210; }
body .ilb-pills .ilb-pill[aria-checked="true"], body .ilb-pills .ilb-pill[aria-checked="true"]:hover, body .ilb-pills .ilb-pill[aria-checked="true"]:focus { background-color: #1C1210; color: #FFFFFF; }
body .ilb-pills .ilb-pill:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }
body .ilb-pills .ilb-pill:disabled { opacity: .4; text-decoration: line-through; cursor: not-allowed; }

/* ===== Mobile menu: hamburger + right slide-out drawer (built by the site script) ===== */
body button.ilb-burger, .ilb-drawer, .ilb-drawer-backdrop { display: none; }
@media (max-width: 767px) {
  .elementor-location-header [data-id="59bf1eaf"] { display: none !important; }
  body button.ilb-burger { display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 44px; height: 44px; padding: 0; margin: 0; background: transparent; border: 2px solid #F7F1E8; border-radius: 50%; cursor: pointer; flex: 0 0 auto; }
  body .ilb-burger:hover, body .ilb-burger:focus { background-color: rgba(247,241,232,.14); }
  body .ilb-burger:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }
  .ilb-burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: #F7F1E8; }
  .ilb-drawer-backdrop { display: block; position: fixed; inset: 0; z-index: 99998; background: rgba(28,18,16,.5); opacity: 0; transition: opacity .3s ease; }
  .ilb-drawer { display: flex; flex-direction: column; position: fixed; top: 0; bottom: 0; right: 0; z-index: 99999; width: min(84vw, 340px); padding: 16px 24px 32px; overflow-y: auto; overscroll-behavior: contain; background: #F7F1E8; box-shadow: -8px 0 32px rgba(28,18,16,.25); transform: translateX(100%); transition: transform .3s cubic-bezier(.2,.7,.2,1); }
  .ilb-drawer[hidden], .ilb-drawer-backdrop[hidden] { display: none; }
  .ilb-drawer-open .ilb-drawer { transform: none; }
  .ilb-drawer-open .ilb-drawer-backdrop { opacity: 1; }
  html.ilb-drawer-open, html.ilb-drawer-open body { overflow: hidden; }
  .ilb-drawer-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
  .ilb-drawer-logo img { display: block; width: 56px; height: auto; }
  body .ilb-drawer-close { position: relative; width: 44px; height: 44px; padding: 0; background: transparent; border: 2px solid #1C1210; border-radius: 50%; cursor: pointer; }
  .ilb-drawer-close::before, .ilb-drawer-close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 2px; border-radius: 2px; background: #1C1210; }
  .ilb-drawer-close::before { transform: translate(-50%, -50%) rotate(45deg); }
  .ilb-drawer-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
  .ilb-drawer ul { list-style: none; margin: 0; padding: 0; }
  .ilb-drawer-links li { border-bottom: 1px solid #E8DDCB; }
  body .ilb-drawer-links a { display: flex; align-items: center; min-height: 56px; font-family: "Fraunces", serif; font-size: 26px; line-height: 1.2; color: #1C1210; text-decoration: none; }
  body .ilb-drawer-links a[aria-current="page"] { color: #F26E21; }
  body .ilb-drawer-links a[aria-current="page"]::after { content: ""; width: 8px; height: 8px; margin-left: 12px; border-radius: 50%; background: #F26E21; }
  .ilb-drawer-extra { margin-top: 24px !important; }
  body .ilb-drawer-extra a { display: flex; align-items: center; min-height: 44px; font-family: "DM Sans", sans-serif; font-size: 16px; font-weight: 700; color: #1C1210; text-decoration: underline; text-underline-offset: 3px; }
  .ilb-drawer a:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) { .ilb-drawer, .ilb-drawer-backdrop { transition: none; } }

/* ===== Mobile header layout: account + cart left, larger logo centred, hamburger right ===== */
@media (max-width: 767px) {
  .elementor-location-header [data-id="4979dfb5"] { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
  .elementor-location-header [data-id="7f30cbb8"] { grid-column: 1; grid-row: 1; justify-self: start; margin-inline-start: 0 !important; }
  .elementor-location-header [data-id="7d9468a5"] { grid-column: 2; grid-row: 1; justify-self: center; }
  .elementor-location-header [data-id="390fa500"] { width: 68px !important; max-width: 68px !important; height: auto !important; }
  .elementor-location-header .ilb-burger { grid-column: 3; grid-row: 1; justify-self: end; }
}

/* ===== Contact: underline inline links (Bought on Bookshop.org/Amazon.ca note, reply note, form error) ===== */
.elementor-57 [data-id="706cfb58"] a, .elementor-57 [data-id="5ac56e4a"] a, .elementor-57 [data-id="40085ad0"] a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.elementor-57 [data-id="706cfb58"] a:hover, .elementor-57 [data-id="5ac56e4a"] a:hover, .elementor-57 [data-id="40085ad0"] a:hover { text-decoration-thickness: 2px; }


/* ===== Shop sidebar: filter chips + collapsible sections (sections built by the site script) ===== */
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list-wrapper { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: flex-start; gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__row { display: inline-flex !important; width: auto !important; max-width: 100%; flex: 0 0 auto !important; margin: 0 !important; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__item { position: relative; display: inline-flex !important; width: auto !important; cursor: pointer; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__input { position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__decorator { display: none !important; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__button { width: auto !important; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 14px; background: #FFFFFF; border: 1.5px solid #1C1210 !important; border-radius: 999px !important; transition: background-color .15s ease, color .15s ease; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__label { margin: 0 !important; font-family: "DM Sans", sans-serif; font-size: 14px !important; font-weight: 700 !important; line-height: 1.2; color: #1C1210 !important; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__item:hover .jet-checkboxes-list__button { background: #F7F1E8; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button { background: #1C1210; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button::before { content: ""; width: 10px; height: 6px; margin: -3px 2px 0 0; border-left: 2px solid #F6A623; border-bottom: 2px solid #F6A623; transform: rotate(-45deg); }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__label { color: #F7F1E8 !important; }
.elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__input:focus-visible + .jet-checkboxes-list__button { outline: 3px solid #F6A623; outline-offset: 2px; }
.elementor-611 [data-id="493de6b7"] .ilb-fsec .jet-filter-label { margin: 0 !important; padding: 0 !important; }
body .elementor-611 button.ilb-fsec__toggle { display: flex; align-items: center; justify-content: flex-start; gap: 8px; width: 100%; min-height: 44px; padding: 0; margin: 0; background: transparent !important; border: 0; border-radius: 0; color: #1C1210 !important; font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-align: left; }
body .elementor-611 button.ilb-fsec__toggle:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }
.ilb-fsec__count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #F26E21; color: #1C1210; font-size: 12px; letter-spacing: 0; }
.ilb-fsec__count:empty { display: none; }
.ilb-fsec__icon { position: relative; width: 14px; height: 14px; margin-left: auto; flex: 0 0 auto; }
.ilb-fsec__icon::before, .ilb-fsec__icon::after { content: ""; position: absolute; top: 50%; left: 0; width: 14px; height: 2px; margin-top: -1px; background: #1C1210; border-radius: 2px; transition: transform .2s ease; }
.ilb-fsec__icon::after { transform: rotate(90deg); }
.ilb-fsec.is-open .ilb-fsec__icon::after { transform: rotate(0deg); }
.elementor-611 [data-id="493de6b7"] .ilb-fsec:not(.is-open) .jet-filter > :not(.jet-filter-label) { display: none !important; }
.elementor-611 [data-id="493de6b7"] .ilb-fsec.is-open .jet-filter > .jet-filter-label { margin-bottom: 10px !important; }
@media (prefers-reduced-motion: reduce) { .ilb-fsec__icon::before, .ilb-fsec__icon::after { transition: none; } }

/* ===== Shop: active filters bar above the grid (JetSmartFilters active tags f1a00030) ===== */
.elementor-611 [data-id="f1a00030"] { margin-bottom: 20px; }
.elementor-611 [data-id="f1a00030"] .jet-active-tags__title { display: none; }
.elementor-611 [data-id="f1a00030"] .jet-active-tags__list { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.elementor-611 [data-id="f1a00030"] .jet-active-tag { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; margin: 0; padding: 4px 6px 4px 14px; background: #1C1210; border: 0; border-radius: 999px; color: #F7F1E8; font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 700; cursor: pointer; }
.elementor-611 [data-id="f1a00030"] .jet-active-tag__label, .elementor-611 [data-id="f1a00030"] .jet-active-tag__label-separator { color: #E9DCC8; font-weight: 400; }
.elementor-611 [data-id="f1a00030"] .jet-active-tag__val { color: #F7F1E8; }
.elementor-611 [data-id="f1a00030"] .jet-active-tag__remove { position: static !important; transform: none !important; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(247,241,232,.16); color: #F7F1E8; font-size: 14px; line-height: 1; }
.elementor-611 [data-id="f1a00030"] .jet-active-tag:hover .jet-active-tag__remove { background: #F6A623; color: #1C1210; }
.elementor-611 [data-id="f1a00030"] .jet-active-tag--clear .jet-active-tag__remove { display: none !important; }
.elementor-611 [data-id="f1a00030"] .jet-active-tag--clear { order: 99; background: transparent; color: #1C1210; padding: 4px 6px; text-decoration: underline; text-underline-offset: 3px; }
.elementor-611 [data-id="f1a00030"] .jet-active-tag--clear .jet-active-tag__val { color: #1C1210; }

/* ===== Header nav: Shop dropdown (Arts, Books, Gifts), caret, current page ===== */
.elementor-location-header [data-id="3fa14540"] { width: auto !important; flex: 0 0 auto; }
.elementor-location-header [data-id="16bd5e90"] { width: max-content !important; min-width: 190px; top: 100%; left: -8px; z-index: 60; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s ease, transform .18s ease, visibility .18s; border: 1px solid rgba(247,241,232,.18); box-shadow: 0 14px 32px rgba(0,0,0,.45); }
.elementor-location-header [data-id="3fa14540"]:hover > [data-id="16bd5e90"], .elementor-location-header [data-id="3fa14540"]:focus-within > [data-id="16bd5e90"] { opacity: 1; visibility: visible; transform: none; }
.elementor-location-header [data-id="7fbb76fa"]::after { content: ""; width: 6px; height: 6px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .18s ease; }
.elementor-location-header [data-id="3fa14540"]:hover [data-id="7fbb76fa"]::after, .elementor-location-header [data-id="3fa14540"]:focus-within [data-id="7fbb76fa"]::after { transform: translateY(1px) rotate(225deg); }
.elementor-location-header [data-id="59bf1eaf"] a[aria-current="page"] { color: #F6A623 !important; }
.elementor-location-header [data-id="16bd5e90"] a[aria-current="page"] { color: #2A1712 !important; background-color: transparent; }
body .elementor-location-header [data-id="16bd5e90"] > :has(a[aria-current="page"]) { background-color: #F6A623 !important; color: #2A1712 !important; }
@media (prefers-reduced-motion: reduce) { .elementor-location-header [data-id="16bd5e90"], .elementor-location-header [data-id="7fbb76fa"]::after { transition: none; } }
@media (max-width: 767px) {
  .ilb-drawer-links li.ilb-drawer-sub { border-bottom: 0; }
  body .ilb-drawer-links li.ilb-drawer-sub a { min-height: 44px; padding-left: 20px; font-size: 20px; }
  .ilb-drawer-links li.ilb-drawer-sub:last-of-type, .ilb-drawer-links li:has(+ li:not(.ilb-drawer-sub)).ilb-drawer-sub { border-bottom: 1px solid #E8DDCB; }
}

/* ===== Branded dropdowns (Author filter, Contact topic): built by the site script ===== */
.ilb-select { position: relative; width: 100%; }
.ilb-select .ilb-select__native { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; opacity: 0 !important; pointer-events: none !important; }
body button.ilb-select__button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 0 14px; margin: 0; background: #FFFFFF; border: 2px solid #1C1210; border-radius: 8px; color: #1C1210; font-family: "DM Sans", sans-serif; font-size: 16px; font-weight: 400; text-align: left; cursor: pointer; }
body button.ilb-select__button:hover, body button.ilb-select__button:focus { background: #FFFFFF; color: #1C1210; }
body button.ilb-select__button:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }
.ilb-select.has-value .ilb-select__value { font-weight: 700; }
.ilb-select__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ilb-select__chev { flex: 0 0 auto; width: 8px; height: 8px; margin-top: -4px; border-right: 2px solid #1C1210; border-bottom: 2px solid #1C1210; transform: rotate(45deg); transition: transform .18s ease; }
.ilb-select.is-open .ilb-select__chev { margin-top: 4px; transform: rotate(225deg); }
.ilb-select__pop { position: absolute; z-index: 80; top: calc(100% + 6px); left: 0; right: 0; min-width: 220px; padding: 6px; background: #FFFFFF; border: 2px solid #1C1210; border-radius: 12px; box-shadow: 0 14px 32px rgba(28,18,16,.22); }
.ilb-select__pop[hidden] { display: none; }
.ilb-select__search { box-sizing: border-box; width: 100%; height: 40px; margin: 0 0 6px; padding: 0 12px; border: 1.5px solid #E8DDCB; border-radius: 8px; font-family: "DM Sans", sans-serif; font-size: 15px; color: #1C1210; background: #F7F1E8; }
.ilb-select__search:focus { outline: 3px solid #F6A623; outline-offset: 1px; }
.ilb-select__list { max-height: 280px; margin: 0; padding: 0; overflow-y: auto; list-style: none; overscroll-behavior: contain; outline: none; }
.ilb-select__opt { display: flex; align-items: center; min-height: 40px; padding: 8px 12px; border-radius: 8px; font-family: "DM Sans", sans-serif; font-size: 15px; color: #1C1210; cursor: pointer; }
.ilb-select__opt.is-active { background: #F26E21; color: #1C1210; }
.ilb-select__opt[aria-selected="true"] { background: #1C1210; color: #F7F1E8; font-weight: 700; }
.ilb-select__opt[aria-selected="true"]::after { content: ""; width: 10px; height: 6px; margin: -3px 2px 0 auto; border-left: 2px solid #F6A623; border-bottom: 2px solid #F6A623; transform: rotate(-45deg); }
.ilb-select__opt[aria-selected="true"].is-active { background: #2A1712; }
.ilb-select__empty { padding: 10px 12px; font-family: "DM Sans", sans-serif; font-size: 14px; color: #4A3A34; }
@media (prefers-reduced-motion: reduce) { .ilb-select__chev { transition: none; } }

/* ===== Shop filters on phones: floating "Filters" button + bottom sheet (desktop/laptop unchanged) ===== */
body button.ilb-ftrigger, .ilb-fsheet-backdrop, .ilb-fsheet__head, .ilb-fsheet__foot { display: none; }
@media (max-width: 767px) {
  body button.ilb-ftrigger { display: inline-flex; align-items: center; gap: 10px; position: fixed; left: 50%; bottom: 18px; z-index: 9990; transform: translateX(-50%); min-height: 52px; padding: 0 24px; background: #1C1210; border: 0; border-radius: 999px; color: #F7F1E8; font-family: "DM Sans", sans-serif; font-size: 16px; font-weight: 700; box-shadow: 0 10px 28px rgba(28,18,16,.35); }
  body button.ilb-ftrigger:hover, body button.ilb-ftrigger:focus { background: #2A1712; color: #F7F1E8; }
  body button.ilb-ftrigger:focus-visible { outline: 3px solid #F6A623; outline-offset: 3px; }
  .ilb-fsheet-open body button.ilb-ftrigger { visibility: hidden; }
  .ilb-ftrigger__icon { position: relative; width: 18px; height: 14px; border-top: 2px solid #F7F1E8; border-bottom: 2px solid #F7F1E8; }
  .ilb-ftrigger__icon::before { content: ""; position: absolute; left: 3px; right: 3px; top: 4px; height: 2px; background: #F7F1E8; }
  .ilb-ftrigger__count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #F26E21; color: #1C1210; font-size: 13px; }
  .ilb-ftrigger__count:empty { display: none; }

  .ilb-fsheet-backdrop { display: block; position: fixed; inset: 0; z-index: 99990; background: rgba(28,18,16,.5); opacity: 0; transition: opacity .3s ease; }
  .ilb-fsheet-backdrop[hidden] { display: none; }
  .ilb-fsheet-open .ilb-fsheet-backdrop { opacity: 1; }
  html.ilb-fsheet-open, html.ilb-fsheet-open body { overflow: hidden; }

  .elementor-611 [data-id="493de6b7"] { position: fixed !important; left: 0; right: 0; bottom: 0; top: auto; z-index: 99995; width: 100% !important; max-width: 100% !important; max-height: 88vh; margin: 0 !important; padding: 0 20px !important; overflow-y: auto; overscroll-behavior: contain; border: 0 !important; border-radius: 20px 20px 0 0 !important; background: #FFFFFF !important; box-shadow: 0 -10px 40px rgba(28,18,16,.3); transform: translateY(105%); visibility: hidden; transition: transform .3s cubic-bezier(.2,.7,.2,1), visibility .3s; }
  .ilb-fsheet-open .elementor-611 [data-id="493de6b7"] { transform: none; visibility: visible; }
  .elementor-611 [data-id="493de6b7"] [data-id="58991583"] { display: none !important; }
  .ilb-fsheet__head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2; margin: 0 -20px 4px; padding: 18px 20px 12px; background: #FFFFFF; border-bottom: 1px solid #E8DDCB; }
  .ilb-fsheet__grab { position: absolute; top: 7px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: #E8DDCB; }
  .ilb-fsheet__title { font-family: "Fraunces", serif; font-size: 22px; font-weight: 500; color: #1C1210; }
  body button.ilb-fsheet__close { position: relative; width: 44px; height: 44px; min-height: 44px; padding: 0; background: transparent; border: 2px solid #1C1210; border-radius: 50%; }
  body button.ilb-fsheet__close::before, body button.ilb-fsheet__close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 2px; border-radius: 2px; background: #1C1210; }
  body button.ilb-fsheet__close::before { transform: translate(-50%, -50%) rotate(45deg); }
  body button.ilb-fsheet__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
  .ilb-fsheet__foot { display: flex; gap: 12px; position: sticky; bottom: 0; z-index: 2; margin: 16px -20px 0; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); background: #FFFFFF; border-top: 1px solid #E8DDCB; }
  body .ilb-fsheet__foot button { flex: 1 1 0; min-height: 50px; border-radius: 999px; font-size: 16px; }
  body .ilb-fsheet__foot button.ilb-fsheet__clear { background: transparent; color: #1C1210; border: 2px solid #1C1210; }
  body .ilb-fsheet__foot button.ilb-fsheet__done { background: #F26E21; color: #1C1210; border: 2px solid #F26E21; }
  body .ilb-fsheet__foot button.ilb-fsheet__done:hover { background: #1C1210; border-color: #1C1210; color: #F7F1E8; }
  .elementor-611 [data-id="493de6b7"] [data-id="f1a00006"] { display: none !important; }
  .elementor-611 [data-id="493de6b7"] .jet-checkboxes-list__button { min-height: 44px; padding: 8px 16px; }
  .elementor-611 [data-id="10e0d0b0"] { scroll-margin-top: 122px; padding-bottom: 80px; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) { .elementor-611 [data-id="493de6b7"], .ilb-fsheet-backdrop { transition: none; } }

/* ===== Brand audit 2026-10-12: base fonts (no system fonts anywhere) ===== */
body { font-family: "DM Sans", sans-serif; color: #1C1210; }
h1, h2, h3, h4, h5, h6 { font-family: "Fraunces", serif; }

/* ===== Brand audit: every top-level section on the 1400px column, 56px side padding desktop / 32 tablet / 16 phone ===== */
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="header"], [data-elementor-type="footer"], [data-elementor-type="single-product"], [data-elementor-type="product-archive"], [data-elementor-type="single-post"], [data-elementor-type="archive"], [data-elementor-type="product"], [data-elementor-type="single"]) > .e-con { padding-inline: 56px !important; }
@media (max-width: 1023px) { .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="header"], [data-elementor-type="footer"], [data-elementor-type="single-product"], [data-elementor-type="product-archive"], [data-elementor-type="single-post"], [data-elementor-type="archive"], [data-elementor-type="product"], [data-elementor-type="single"]) > .e-con { padding-inline: 32px !important; } }
@media (max-width: 767px) { .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="header"], [data-elementor-type="footer"], [data-elementor-type="single-product"], [data-elementor-type="product-archive"], [data-elementor-type="single-post"], [data-elementor-type="archive"], [data-elementor-type="product"], [data-elementor-type="single"]) > .e-con { padding-inline: 16px !important; } }

/* ===== Brand audit: buttons are pills, 48px+ tall, text centred (header icon circles excluded) ===== */
.e-button-base:not([data-id="558fa380"]):not([data-id="6b4f5778"]):not([data-id="44a4060f"]), .e-form-submit-button-base, .jet-remove-all-filters__button { min-height: 48px !important; border-radius: 999px !important; display: inline-flex !important; align-items: center; justify-content: center; text-align: center; }
.elementor [data-id="46a0b357"]:hover { background-color: #E9DCC8 !important; color: #1C1210 !important; }
.elementor [data-id="2506761d"]:hover, .elementor [data-id="3fc50645"]:hover { background-color: #E9DCC8 !important; color: #1C1210 !important; }

/* ===== Brand audit: 3px Sunflower focus ring on everything clickable ===== */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible, [role="button"]:focus-visible, .jet-checkboxes-list__input:focus-visible + .jet-checkboxes-list__button { outline: 3px solid #F6A623 !important; outline-offset: 2px; }

/* ===== Brand audit: links in body text are Ink and underlined ===== */
.e-paragraph-base a:not(.e-paragraph-link-base):not(.e-button-base), .elementor-widget-theme-post-content a:not(.e-button-base), .woocommerce-product-details__short-description a, .woocommerce-Tabs-panel a, .wc-block-components-notice-banner a, .woocommerce-info a, .woocommerce-message a { color: inherit !important; text-decoration: underline; text-underline-offset: 3px; }

/* ===== Brand audit: prices Ink + bold; never show an Amazon price; Woo stock text on-brand ===== */
.e-loop-item [data-id="pr1ce634"] .price, .e-loop-item [data-id="pr1ce634"] .price > .woocommerce-Price-amount, .e-loop-item [data-id="pr1ce634"] ins .woocommerce-Price-amount { color: #1C1210 !important; font-weight: 700 !important; }
.e-loop-item.ilb-src-amazon [data-id="pr1ce634"], body.ilb-src-amazon .elementor-widget-woocommerce-product-price, body.ilb-src-amazon .single-product .price { display: none !important; }
.stock, .stock.in-stock, .stock.out-of-stock, .stock.available-on-backorder { color: #1C1210 !important; font-weight: 700; }

/* ===== Brand audit: phones - 44px tap targets for standalone links ===== */
@media (max-width: 767px) {
  body .elementor a.e-paragraph-link-base, body .elementor a.e-heading-link-base, body .woocommerce-breadcrumb a { display: inline-flex !important; align-items: center; min-height: 44px !important; }
  .wc-block-components-panel__button, .wc-block-components-address-form__address_2-toggle { display: flex !important; align-items: center; min-height: 44px; }
  .wc-block-components-product-name { display: inline-flex !important; align-items: center; min-height: 44px; }
}

/* ===== Brand audit: checkout country/province dropdowns (WooCommerce React form) - branded list where the browser supports styleable selects ===== */
@supports (appearance: base-select) {
  .wc-blocks-components-select__select, .wc-blocks-components-select__select::picker(select) { appearance: base-select; }
  .wc-blocks-components-select__select::picker(select) { margin-top: 6px; padding: 6px; background: #FFFFFF; border: 2px solid #1C1210; border-radius: 12px; box-shadow: 0 14px 32px rgba(28,18,16,.22); max-height: 320px; }
  .wc-blocks-components-select__select option { min-height: 40px; padding: 8px 12px; border-radius: 8px; font-family: "DM Sans", sans-serif; font-size: 15px; color: #1C1210; }
  .wc-blocks-components-select__select option:hover, .wc-blocks-components-select__select option:focus-visible { background: #F26E21; color: #1C1210; }
  .wc-blocks-components-select__select option:checked { background: #1C1210; color: #F7F1E8; font-weight: 700; }
  .wc-blocks-components-select__select option::checkmark { color: #F6A623; }
}
@media (min-width: 768px) and (max-width: 1023px) { body.woocommerce-cart .site-main, body.woocommerce-checkout .site-main, body.woocommerce-account .site-main { padding-inline: 32px; } }

/* ===== Brand audit: "Prefer another store?" never repeats the book's own store ===== */
body.ilb-src-amazon .elementor-610 [data-id="2bce1c61"], body.ilb-src-bookshop .elementor-610 [data-id="38ce8848"], body.ilb-src-amazon .elementor-610 [data-id="2bce1c61"].e-button-base.e-button-base, body.ilb-src-bookshop .elementor-610 [data-id="38ce8848"].e-button-base.e-button-base { display: none !important; }
body.ilb-src-amazon .elementor-610 [data-id="1e5f98bf"]:not(:has(+ [data-id="30815f41"] a[href]:not([data-id="2bce1c61"]))),
body.ilb-src-amazon .elementor-610 [data-id="30815f41"]:not(:has(a[href]:not([data-id="2bce1c61"]))),
body.ilb-src-bookshop .elementor-610 [data-id="1e5f98bf"]:not(:has(+ [data-id="30815f41"] a[href]:not([data-id="38ce8848"]))),
body.ilb-src-bookshop .elementor-610 [data-id="30815f41"]:not(:has(a[href]:not([data-id="38ce8848"]))) { display: none !important; }

/* ===== Brand audit: WooCommerce cart/checkout/account blocks stay inside the 56px page padding (theme "wide" alignment pulled them 80px left) ===== */
body.woocommerce-cart .site-main .alignwide, body.woocommerce-checkout .site-main .alignwide, body.woocommerce-account .site-main .alignwide, body.woocommerce-cart .site-main .alignfull, body.woocommerce-checkout .site-main .alignfull { margin-inline: 0 !important; max-width: 100% !important; width: auto !important; }

/* ===== In-page anchors (Community jump buttons etc.): land below the sticky header; smooth unless reduced motion ===== */
[id] { scroll-margin-top: 130px; }
@media (max-width: 767px) { [id] { scroll-margin-top: 104px; } }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* ===== Forms: branded file upload button (Apply form photo / cover) ===== */
body .elementor input[type="file"].e-form-file-upload-base, body input[type="file"] { box-sizing: border-box; height: auto !important; min-height: 72px !important; display: flex; align-items: center; padding: 12px 14px !important; font-family: "DM Sans", sans-serif !important; font-size: 15px !important; color: #1C1210 !important; line-height: 1.4; cursor: pointer; }
/* Note: Elementor rewrites the literal word "sel"+"ector" in kit CSS, so the standard pseudo-element is written with a CSS escape. */
body input[type="file"]::file-73 elector-button { min-height: 44px; margin-right: 14px; padding: 0 20px; font-family: "DM Sans", sans-serif; font-size: 15px; font-weight: 700; color: #1C1210; background: #F26E21; border: 0; border-radius: 999px; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
body input[type="file"]::file-73 elector-button:hover { background: #1C1210; color: #F7F1E8; }
body input[type="file"]::-webkit-file-upload-button { min-height: 44px; margin-right: 14px; padding: 0 20px; font-family: "DM Sans", sans-serif; font-size: 15px; font-weight: 700; color: #1C1210; background: #F26E21; border: 0; border-radius: 999px; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
body input[type="file"]::-webkit-file-upload-button:hover { background: #1C1210; color: #F7F1E8; }
body input[type="file"]:hover { background-color: #F7F1E8 !important; }
body input[type="file"]:focus-visible { outline: 3px solid #F6A623 !important; outline-offset: 2px; }


/* ===== About: value card icons (cream badge, Ink line icon) ===== */
.elementor-54 :is([data-id="40f251e6"], [data-id="3fec3d81"], [data-id="16137c46"])::before { content: ""; position: static !important; display: block; width: 56px; height: 56px; margin-bottom: 16px; border-radius: 50%; background: #F7F1E8 center / 28px 28px no-repeat; }
.elementor-54 [data-id="40f251e6"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1210' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4h6a4 4 0 0 1 4 4v13a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 4h-6a4 4 0 0 0-4 4v13a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E"); }
.elementor-54 [data-id="3fec3d81"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1210' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z'/%3E%3Cpath d='M19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8z'/%3E%3Cpath d='M5 3l.6 1.4L7 5l-1.4.6L5 7l-.6-1.4L3 5l1.4-.6z'/%3E%3C/svg%3E"); }
.elementor-54 [data-id="16137c46"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1210' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a1 1 0 0 0 1 1h3l5 4V6L7 10H4a1 1 0 0 0-1 1z'/%3E%3Cpath d='M16 8.5a5 5 0 0 1 0 7'/%3E%3Cpath d='M19 5.5a9 9 0 0 1 0 13'/%3E%3C/svg%3E"); }

/* ===== Empty cart: photo (22px corners, 4:3 cover) ===== */
.wp-block-woocommerce-empty-cart-block .ilb-empty-photo img { width: 100% !important; max-width: 360px; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 22px; display: block; margin: 0 auto; }
/* No-results: keep the photo message from the Loop Grid; hide JetSmartFilters' duplicate plain line. Empty cart: hide WooCommerce's default sad-face icon. */
.elementor-611 .jet-smart-filters-elementor-loop-no-result { display: none !important; }
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { display: none !important; }

/* ===== Book cards: wishlist + cart buttons over the cover (top-left; the M.A.C.C.A. leaf stays top-right) ===== */
.ilb-acts { position: absolute; top: 10px; left: 10px; z-index: 3; display: flex; gap: 8px; opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; pointer-events: none; }
.e-loop-item:hover .ilb-acts, .e-loop-item:focus-within .ilb-acts, .ilb-wl__card .ilb-acts { opacity: 1; transform: none; pointer-events: auto; }
body button.ilb-act, body a.ilb-act { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: 44px; height: 44px; min-height: 44px; padding: 0; margin: 0; background: #F7F1E8; color: #1C1210 !important; border: 0; border-radius: 999px; box-shadow: 0 3px 10px rgba(28,18,16,.28); text-decoration: none; cursor: pointer; transition: background-color .15s ease, width .2s ease; }
body button.ilb-act:hover, body a.ilb-act:hover, body button.ilb-act:focus-visible, body a.ilb-act:focus-visible { background: #F26E21; color: #1C1210 !important; }
body button.ilb-act:focus-visible, body a.ilb-act:focus-visible { outline: 3px solid #F6A623 !important; outline-offset: 2px; }
.ilb-act svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ilb-act--heart[aria-pressed="true"] svg { fill: #F26E21; stroke: #F26E21; }
body button.ilb-act--heart[aria-pressed="true"]:hover svg, body button.ilb-act--heart[aria-pressed="true"]:focus-visible svg { fill: #1C1210; stroke: #1C1210; }
.ilb-act__added { display: none; font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 700; }
body button.ilb-act--cart.is-added { width: auto; padding: 0 14px; background: #F26E21; }
.ilb-act--cart.is-added .ilb-act__added { display: inline; }
.ilb-act--cart.is-busy { opacity: .7; cursor: progress; }
@media (hover: none), (max-width: 767px) {
  .ilb-acts { opacity: 1; transform: none; pointer-events: auto; top: 6px; left: 6px; gap: 6px; }
  body button.ilb-act, body a.ilb-act { width: 36px; height: 36px; min-height: 36px; }
  body button.ilb-act::after, body a.ilb-act::after { content: ""; position: absolute; inset: -4px; }
  .ilb-act svg { width: 17px; height: 17px; }
}
@media (prefers-reduced-motion: reduce) { .ilb-acts, .ilb-act { transition: none; } }

/* ===== Header: wishlist heart (next to the account icon) + count ===== */
.elementor-location-header a[href*="/wishlist"] { position: relative; }
.ilb-wl-badge { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #F26E21; color: #1C1210; font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1; }
.ilb-wl-badge:empty { display: none; }
.ilb-wl-badge--inline { position: static; margin-left: 8px; }

/* ===== Wishlist page ===== */
.ilb-wl { max-width: 1400px; margin: 0 auto; font-family: "DM Sans", sans-serif; color: #1C1210; }
.ilb-wl__count { margin: 0 0 24px; font-size: 15px; font-weight: 700; color: #4A3A34; }
.ilb-wl__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 28px; }
.ilb-wl__card { position: relative; margin: 0; padding: 0; transition: opacity .25s ease; }
.ilb-wl__card.is-removing { opacity: 0; }
.ilb-wl__cover { display: block; border-radius: 12px; overflow: hidden; box-shadow: 0 6px 18px rgba(28,18,16,.12); background: #FFFFFF; }
.ilb-wl__cover img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.ilb-wl__title { margin: 14px 0 6px; font-family: "Fraunces", serif; font-size: 19px; font-weight: 500; line-height: 1.25; }
.ilb-wl__title a { color: #1C1210 !important; text-decoration: none; }
.ilb-wl__title a:hover { text-decoration: underline; }
.ilb-wl__price, .ilb-wl__price .amount { margin: 0; color: #1C1210 !important; font-weight: 700; font-size: 16px; }
.ilb-wl__price del, .ilb-wl__price del .amount { color: #4A3A34 !important; font-weight: 400; }
.ilb-wl__empty { max-width: 560px; margin: 0 auto; padding: 48px 24px; text-align: center; background: #FFFFFF; border: 1px solid #E8DDCB; border-radius: 16px; }
.ilb-wl__empty .ilb-wl__empty-title { margin: 0 0 8px; font-family: "Fraunces", serif; font-size: 30px; line-height: 1.2; }
.ilb-wl__empty p { margin: 0 0 20px; font-size: 17px; }
body a.ilb-wl__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; border-radius: 999px; background: #F26E21; color: #1C1210 !important; font-weight: 700; text-decoration: none; }
body a.ilb-wl__btn:hover { background: #1C1210; color: #F7F1E8 !important; }
@media (max-width: 767px) { .ilb-wl__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .ilb-wl__title { font-size: 16px; } }

.elementor-21 [data-id="44a4060f"] { position: relative; display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 !important; border-radius: 50% !important; font-size: 0 !important; line-height: 0 !important; color: transparent !important; overflow: visible; }
.elementor-21 [data-id="44a4060f"]::before { content: ""; width: 22px; height: 22px; background-color: #F7F1E8; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-7.5-10.1A4.4 4.4 0 0 1 12 7.6a4.4 4.4 0 0 1 7.5 2.8c0 5.5-7.5 10.1-7.5 10.1z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-7.5-10.1A4.4 4.4 0 0 1 12 7.6a4.4 4.4 0 0 1 7.5 2.8c0 5.5-7.5 10.1-7.5 10.1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.elementor-21 [data-id="44a4060f"]:hover { background-color: #F7F1E8 !important; }
.elementor-21 [data-id="44a4060f"]:hover::before { background-color: #1C1210; }
@media (max-width: 767px) { .elementor-location-header [data-id="44a4060f"] { display: none !important; } }

/* ===== Wishlist page wrapper ===== */
body:has(.ilb-wl-page), body:has(.ilb-wl-page) .site-main { background-color: #F7F1E8; }
.ilb-wl-page { max-width: 1512px; margin: 0 auto; padding: 72px 56px 96px; }
.ilb-wl-page .ilb-wl-eyebrow { margin: 0 0 10px; font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #1C1210; }
.ilb-wl-page h1 { margin: 0 0 12px; font-family: "Fraunces", serif; font-size: 56px; font-weight: 400; line-height: 1.05; color: #1C1210; }
.ilb-wl-page .ilb-wl-lead { margin: 0 0 36px; max-width: 640px; font-family: "DM Sans", sans-serif; font-size: 18px; color: #1C1210; }
@media (max-width: 1023px) { .ilb-wl-page { padding: 56px 32px 80px; } }
@media (max-width: 767px) { .ilb-wl-page { padding: 40px 16px 64px; } .ilb-wl-page h1 { font-size: 40px; } }

/* Shop bar only on shop listing pages (shop, categories, author filters: shop template 611) */
body:not(.elementor-page-611) .elementor-location-header [data-id="19205c2c"] { display: none !important; }

/* ===== Header row 2: shop bar (Cocoa, Cream DM Sans 700, current = orange, hover underline) ===== */
.elementor-location-header [data-id="19205c2c"] { background-color: #2A1712; }
.elementor-location-header [data-id="140f843a"] { scrollbar-width: none; }
.elementor-location-header [data-id="140f843a"]::-webkit-scrollbar { display: none; }
body .elementor-location-header [data-id="140f843a"] a { display: inline-flex !important; align-items: center; min-height: 44px; padding: 0; font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .01em; color: #F7F1E8 !important; text-decoration: none; text-underline-offset: 5px; text-decoration-thickness: 2px; white-space: nowrap; cursor: pointer; }
body .elementor-location-header [data-id="140f843a"] a:hover { text-decoration: underline; }
body .elementor-location-header [data-id="140f843a"] a[aria-current="page"] { color: #F26E21 !important; }
body .elementor-location-header [data-id="140f843a"] a:focus-visible { outline: 3px solid #F6A623 !important; outline-offset: 2px; border-radius: 4px; }
@media (max-width: 767px) {
  body .elementor-location-header [data-id="19205c2c"] { padding-inline: 0 !important; }
  .elementor-location-header [data-id="140f843a"] { overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; -webkit-mask-image: linear-gradient(to right, #000 85%, transparent); mask-image: linear-gradient(to right, #000 85%, transparent); padding-inline-end: 40px !important; }
  .elementor-location-header [data-id="140f843a"] > * { scroll-snap-align: start; flex: 0 0 auto; }
}
/* Header is now two rows: keep in-page anchors and the sticky filter column clear of it on desktop/tablet. */
@media (min-width: 768px) {
  body.elementor-page-611 [id] { scroll-margin-top: 175px; }
  .elementor-611 [data-id="493de6b7"] { top: 168px !important; max-height: calc(100vh - 188px) !important; }
}
/* Drawer: "Browse the shop" group */
.ilb-drawer-label { margin: 24px 0 4px !important; font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #4A3A34; }
body .ilb-drawer-shopbar a { min-height: 44px !important; font-size: 20px !important; }

/* Book page store label: plain text with a small shop icon, not a pill, so it can't be mistaken for the buy button */
body .elementor-610 [data-id="328d3ce7"], body .elementor-610 [data-id="25cd2b52"], body .elementor-610 [data-id="52bb78f4"] { align-items: center; gap: 8px; padding: 0 !important; background: none !important; border-radius: 0 !important; color: #4A3A34 !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; cursor: default; }
body .elementor-610 [data-id="328d3ce7"]::before, body .elementor-610 [data-id="25cd2b52"]::before, body .elementor-610 [data-id="52bb78f4"]::before { content: ""; flex: 0 0 auto; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A3A34' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l1.5-5h15L21 9'/%3E%3Cpath d='M3 9h18v0a3 3 0 0 1-6 0 3 3 0 0 1-6 0 3 3 0 0 1-6 0z'/%3E%3Cpath d='M5 12v8h14v-8'/%3E%3C/svg%3E") center / contain no-repeat; }
/* Book page: one-per-order books have a hidden quantity field; drop its empty box so Add to cart lines up */
body .elementor-610 form.cart .quantity:has(input[type="hidden"]) { display: none !important; }
body .elementor-610 form.cart .quantity:has(input[type="hidden"]) + .single_add_to_cart_button { margin-left: 0 !important; }
body .elementor-610 form.cart::before, body .elementor-610 form.cart::after { display: none !important; }

/* ===== Privacy Policy (page 3, Hello Elementor default template) ===== */
.ilb-pending { display: none !important; }
body.page-id-3 #content.site-main { max-width: 1512px; margin: 0 auto; padding: 64px 56px 96px; }
body.page-id-3 .page-header, body.page-id-3 .page-header .entry-title, body.page-id-3 .page-content { max-width: 46em; margin-inline: 0; padding-inline: 0 !important; }
body.page-id-3 .page-header .entry-title { margin: 0 0 16px; font-family: "Fraunces", serif; font-size: clamp(40px, 5vw, 60px); font-weight: 500; line-height: 1.08; color: #1C1210; }
body.page-id-3 .page-content { font-family: "DM Sans", sans-serif; font-size: 17px; line-height: 1.7; color: #1C1210; }
body.page-id-3 .page-content p, body.page-id-3 .page-content ul { margin: 0 0 18px; }
body.page-id-3 .page-content ul { padding-left: 1.25em; }
body.page-id-3 .page-content li { margin-bottom: 8px; }
body.page-id-3 .page-content li::marker { color: #F26E21; }
body.page-id-3 .page-content h2 { margin: 56px 0 16px; padding-top: 24px; border-top: 1px solid #E8DDCB; font-family: "Fraunces", serif; font-size: clamp(28px, 3vw, 36px); font-weight: 500; line-height: 1.15; color: #1C1210; }
body.page-id-3 .page-content h3 { margin: 28px 0 8px; font-family: "Fraunces", serif; font-size: 22px; font-weight: 600; line-height: 1.25; color: #1C1210; }
body.page-id-3 .page-content a { color: #1C1210; text-decoration: underline; text-underline-offset: 3px; }
body.page-id-3 .page-content code { font-family: "DM Sans", sans-serif; font-size: .95em; font-weight: 700; padding: 1px 6px; border-radius: 6px; background: #E9DCC8; }
body.page-id-3 .ilb-privacy-lead { font-size: 19px; line-height: 1.6; }
body.page-id-3 .ilb-privacy-toc { margin: 32px 0 8px; padding: 24px 28px; background: #FFFFFF; border: 1px solid #E8DDCB; border-radius: 16px; }
body.page-id-3 .ilb-privacy-toc .ilb-privacy-toc__label { margin: 0 0 12px; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #4A3A34; }
body.page-id-3 .ilb-privacy-toc ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 32px; }
body.page-id-3 .ilb-privacy-toc li { margin: 0; break-inside: avoid; }
body.page-id-3 .ilb-privacy-toc a { display: inline-flex; align-items: center; min-height: 36px; font-weight: 500; }
body.page-id-3 .ilb-privacy-toc a:hover { color: #F26E21; }
@media (max-width: 1023px) { body.page-id-3 #content.site-main { padding: 56px 32px 80px; } }
@media (max-width: 767px) {
  body.page-id-3 #content.site-main { padding: 40px 16px 64px; }
  body.page-id-3 .page-content { font-size: 16px; }
  body.page-id-3 .ilb-privacy-lead { font-size: 17px; }
  body.page-id-3 .ilb-privacy-toc { padding: 20px; }
  body.page-id-3 .ilb-privacy-toc ul { columns: 1; }
  body.page-id-3 .ilb-privacy-toc a { min-height: 44px; }
  body.page-id-3 .page-content h2 { margin-top: 40px; }
}
/* Book page: variation "Clear" link - 44px tap target on phones */
@media (max-width: 767px) { body .elementor-610 a.reset_variations { display: inline-flex !important; align-items: center; min-height: 44px; min-width: 44px; } }
/* Book page "Prefer another store?": a store button with no URL renders as an empty <button>; hide it (only real links show) */
body .elementor-610 [data-id="30815f41"] button.e-button-base.e-button-base.e-button-base { display: none !important; }

/* Linked-out books: don't repeat the main store button under "Prefer another store?" (and drop the label if nothing else is left) */
body.ilb-type-external:has(.elementor-610 [data-id="4e9145d6"][href*="amzn"]) .elementor-610 [data-id="2bce1c61"].e-button-base.e-button-base.e-button-base,
body.ilb-type-external:has(.elementor-610 [data-id="4e9145d6"][href*="amzn"]) .elementor-610 [data-id="1e5f98bf"]:not(:has(+ [data-id="30815f41"] a[href]:not([data-id="2bce1c61"]))),
body.ilb-type-external:has(.elementor-610 [data-id="4e9145d6"][href*="amzn"]) .elementor-610 [data-id="30815f41"]:not(:has(a[href]:not([data-id="2bce1c61"]))),
body.ilb-type-external:has(.elementor-610 [data-id="4e9145d6"][href*="bookshop.org"]) .elementor-610 [data-id="38ce8848"].e-button-base.e-button-base.e-button-base,
body.ilb-type-external:has(.elementor-610 [data-id="4e9145d6"][href*="bookshop.org"]) .elementor-610 [data-id="1e5f98bf"]:not(:has(+ [data-id="30815f41"] a[href]:not([data-id="38ce8848"]))),
body.ilb-type-external:has(.elementor-610 [data-id="4e9145d6"][href*="bookshop.org"]) .elementor-610 [data-id="30815f41"]:not(:has(a[href]:not([data-id="38ce8848"]))),
body.ilb-type-external:has(.elementor-610 [data-id="4e9145d6"][href*="libro.fm"]) .elementor-610 [data-id="61b63200"].e-button-base.e-button-base.e-button-base,
body.ilb-type-external:has(.elementor-610 [data-id="4e9145d6"][href*="libro.fm"]) .elementor-610 [data-id="1e5f98bf"]:not(:has(+ [data-id="30815f41"] a[href]:not([data-id="61b63200"]))),
body.ilb-type-external:has(.elementor-610 [data-id="4e9145d6"][href*="libro.fm"]) .elementor-610 [data-id="30815f41"]:not(:has(a[href]:not([data-id="61b63200"]))) { display: none !important; }

/* Home hero on phones: "Shop the collection" (198px) + "Meet our authors" (145px) + gap need 367px but the column is 343px, so the link is hidden on phones (Authors is in the menu) */
@media (max-width: 767px) { .elementor-39 [data-id="5b0734c8"] { display: none !important; } }

/* ===== Phones: compact sticky header (68px logo, 88px header, 40px icon circles with 44px tap areas) ===== */
@media (max-width: 767px) {
  body .elementor-location-header [data-id="1a2930f1"] { padding-block: 10px !important; }
  body .elementor-location-header [data-id="558fa380"], body .elementor-location-header [data-id="6b4f5778"], body .elementor-location-header button.ilb-burger { position: relative; width: 40px !important; height: 40px !important; min-width: 40px !important; min-height: 40px !important; }
  body .elementor-location-header [data-id="558fa380"]::after, body .elementor-location-header [data-id="6b4f5778"]::after, body .elementor-location-header button.ilb-burger::after { content: ""; position: absolute; inset: -2px; }
  body .elementor-location-header [data-id="558fa380"] svg, body .elementor-location-header [data-id="6b4f5778"] svg { width: 18px; height: 18px; }
  body .elementor-location-header button.ilb-burger span { width: 16px; }
}
/* ===== Home hero on phones: tighter spacing, smaller headline/intro, book shelf straight under the button ===== */
@media (max-width: 767px) {
  body .elementor-39 [data-id="519c0756"] { padding-top: 28px !important; padding-bottom: 32px !important; }
  body .elementor-39 [data-id="5e1ec79f"] { gap: 24px !important; }
  body .elementor-39 [data-id="4de581c6"] { gap: 14px !important; }
  body .elementor-39 [data-id="2d8d2069"] { font-size: 34px !important; line-height: 1.08 !important; }
  body .elementor-39 [data-id="360be081"] { font-size: 16px !important; line-height: 1.5 !important; }
  body .elementor-39 [data-id="6a1ecd31"] { margin-top: 4px !important; }
  body .elementor-39 [data-id="8ec62f5"] { display: none !important; }
}
/* ===== Shop: "Load more books" (auto-loads on scroll; also a normal button) ===== */
.elementor-611 .jet-filters-pagination { justify-content: center; }
body .elementor-611 .jet-filters-pagination__load-more { margin: 8px auto 0; }
body .elementor-611 .jet-filters-pagination__load-more .jet-filters-pagination__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; border: 2px solid #1C1210; border-radius: 999px; background: transparent; color: #1C1210; font-family: "DM Sans", sans-serif; font-size: 15px; font-weight: 700; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
body .elementor-611 .jet-filters-pagination__load-more .jet-filters-pagination__link:hover { background: #1C1210; color: #F7F1E8; }
body .elementor-611 .jet-filters-pagination__load-more .jet-filters-pagination__link:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }
body .elementor-611 .jet-filters-pagination__load-more.is-loading .jet-filters-pagination__link { opacity: .6; pointer-events: none; }
/* Shop: never show the "No books match" message under real results, and never more than once */
body .elementor-611 [data-id="f1a00010"]:has(.e-loop-item) .e-loop-nothing-found-message { display: none !important; }
body .elementor-611 .e-loop-nothing-found-message ~ .e-loop-nothing-found-message { display: none !important; }
body .elementor-611 .jet-filters-pagination__load-more.ilb-lm-done { display: none !important; }
/* ===== About: "Watch: I Like Being Me" video with the first-book cover beside it ===== */
body .elementor-54 [data-id="1989e592"] { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(200px, 300px); column-gap: 48px; row-gap: 12px; align-items: center; }
body .elementor-54 [data-id="39f01acc"], body .elementor-54 [data-id="ad971c5"] { grid-column: 1 / -1; }
body .elementor-54 [data-id="e9e8e8f"] { width: 100% !important; margin-top: 12px; }
body .elementor-54 [data-id="1989e592"] [data-id="fdbd1da"] { width: 100%; max-width: 300px; margin-top: 12px; }
@media (max-width: 1023px) { body .elementor-54 [data-id="1989e592"] { grid-template-columns: minmax(0, 1fr) 220px; column-gap: 32px; } }
@media (max-width: 767px) {
  body .elementor-54 [data-id="1989e592"] { grid-template-columns: 1fr; }
  body .elementor-54 [data-id="1989e592"] [data-id="fdbd1da"] { max-width: 240px; margin-top: 20px; }
}
/* ===== About: "Our story, since 1994" with Sam &amp; Rita's portrait under the heading ===== */
body .elementor-54 [data-id="6475dcfe"] { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 680px); grid-template-rows: auto 1fr; column-gap: 48px; row-gap: 28px; align-items: start; }
body .elementor-54 [data-id="b0fdb0d"] { grid-column: 1; grid-row: 1; }
body .elementor-54 [data-id="40362bd3"] { grid-column: 1; grid-row: 2; width: 100% !important; max-width: 260px !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px !important; transform: none !important; box-shadow: 0 12px 32px rgba(28,18,16,.18) !important; }
body .elementor-54 [data-id="14d48dfd"] { grid-column: 2; grid-row: 1 / span 2; max-width: 680px; }
@media (max-width: 1023px) { body .elementor-54 [data-id="6475dcfe"] { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); column-gap: 32px; } body .elementor-54 [data-id="40362bd3"] { max-width: 220px !important; } }
@media (max-width: 767px) {
  body .elementor-54 [data-id="6475dcfe"] { grid-template-columns: 1fr; grid-template-rows: auto; row-gap: 20px; }
  body .elementor-54 [data-id="b0fdb0d"], body .elementor-54 [data-id="40362bd3"], body .elementor-54 [data-id="14d48dfd"] { grid-column: 1; grid-row: auto; }
  body .elementor-54 [data-id="40362bd3"] { max-width: 200px !important; }
}
/* ===== Breadcrumbs on cart, checkout, account and wishlist pages (same look as the shop and book pages) ===== */
body .ilb-page-breadcrumb { margin: 0 0 8px; padding: 0; font-family: "DM Sans", sans-serif; font-size: 14px; line-height: 1.5; color: #4A3A34; }
body .ilb-page-breadcrumb a { color: #1C1210; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
body .ilb-page-breadcrumb a:hover { text-decoration-thickness: 2px; }
body .ilb-page-breadcrumb a:focus-visible { outline: 3px solid #F6A623; outline-offset: 2px; }
/* ===== About testimonials: no Previous/Next buttons; dots under the carousel ===== */
body .elementor-54 [data-id="115da1bb"] { display: none !important; }
.elementor-54 .ilb-dots { display: flex; justify-content: center; gap: 4px; margin-top: 20px; }
.elementor-54 .ilb-dots[hidden] { display: none; }
body .elementor-54 button.ilb-dot { position: relative; width: 28px; height: 28px; min-height: 28px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
body .elementor-54 button.ilb-dot::before { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; border-radius: 999px; background: #E8DDCB; border: 1px solid #4A3A34; transform: translate(-50%, -50%); transition: width .2s ease, background-color .2s ease; }
body .elementor-54 button.ilb-dot::after { content: ""; position: absolute; inset: -8px 0; }
body .elementor-54 button.ilb-dot:hover::before { background: #F6A623; }
body .elementor-54 button.ilb-dot[aria-current="true"]::before { width: 26px; background: #F26E21; border-color: #F26E21; }
body .elementor-54 button.ilb-dot:focus-visible { outline: 3px solid #F6A623; outline-offset: 0; }
@media (prefers-reduced-motion: reduce) { body .elementor-54 button.ilb-dot::before { transition: none; } }/* End custom CSS */