/* Shared commerce layer, loaded after the existing cart, checkout and book CSS. */
body.la-commerce-page { background: radial-gradient(ellipse at top right, #16394966, transparent 55%), #07131d !important; color: #eef4f1 !important; }
body.la-commerce-page :where(.site-main, main, .site-content, .wp-site-blocks, .entry-content) { background-color: transparent; color: #eef4f1; }
/* Restore the existing navigation; no duplicate purchase area or replacement forms. */
body.la-commerce-page :is(header.site-header, footer.site-footer, #masthead, #colophon, .wp-site-blocks > header, .wp-site-blocks > footer, header.wp-block-template-part, footer.wp-block-template-part) { display: block !important; background-color: #07131d !important; color: #eef4f1; }
body.la-commerce-page :is(header.site-header, #masthead, .wp-site-blocks > header) { border-bottom: 1px solid #d5aa5830; }
body.la-commerce-page :is(footer.site-footer, #colophon, .wp-site-blocks > footer) { border-top: 1px solid #d5aa5830; }
body.la-commerce-page :is(main, .site-main) > :is(.wp-block-post-title, .entry-title, .page-title, .woocommerce) { margin-inline: auto; }
body.la-commerce-page :is(h1.wp-block-post-title, .entry-title, .page-title, .product_title) { font-family: Georgia, serif; color: #fbf5e9 !important; font-weight: 400; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.12; }
body.la-commerce-page :is(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wp-block-woocommerce-product-collection) { color: #eef4f1; }
body.la-commerce-page :is(.woocommerce, .wc-block-components-main) h2,
body.la-commerce-page :is(.woocommerce, .wc-block-components-main) h3 { color: #f1d89c; font-family: Georgia, serif; font-weight: 400; }
body.la-commerce-page :is(.woocommerce, .wc-block-components-main) a:not(.button):not(.wp-element-button):not(.wc-block-components-button) { color: #f1d89c; }
body.la-commerce-page :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) { border: 1px solid #d5aa5855 !important; border-left: 3px solid #d5aa58 !important; border-radius: 14px; background: #102633 !important; color: #eef4f1 !important; }
body.la-commerce-page :is(.woocommerce-error, .wc-block-components-notice-banner.is-error) { border-left-color: #f0a19a !important; }
body.la-commerce-page :is(.woocommerce, .wc-block-components-main, .wc-block-components-sidebar) :is(input.input-text, input[type=email], input[type=password], input[type=text], input[type=tel], input[type=number], select, textarea) { box-sizing: border-box; background-color: #091a25; color: #eef4f1; border: 1px solid #b6c8c966; border-radius: 9px; min-height: 46px; padding: 11px 13px; font: inherit; max-width: 100%; }
body.la-commerce-page :is(input,textarea)::placeholder { color: #a9bcbd; opacity: 1; }
body.la-commerce-page :is(input[type=checkbox], input[type=radio]) { accent-color: #d5aa58; }
body.la-commerce-page :is(.woocommerce, .wc-block-components-main, .wc-block-components-sidebar) label { color: #dce7e3; }
body.la-commerce-page :is(.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .wp-block-button__link, .wc-block-components-button:not(.is-link)) { background: linear-gradient(120deg,#edcf89,#c89544) !important; color: #07131d !important; border: 1px solid #e0b968; border-radius: 999px; padding: 13px 24px; font-weight: 700; text-decoration: none; line-height: 1.4; }
body.la-commerce-page :is(.woocommerce .button, .wp-block-button__link, .wc-block-components-button) :is(span, strong) { color: inherit !important; }
body.la-commerce-page :is(.woocommerce .button, .wp-block-button__link, .wc-block-components-button):disabled { opacity: .55; cursor: not-allowed; }
body.la-commerce-page :is(.woocommerce table.shop_table, .woocommerce table.shop_table td, .woocommerce table.shop_table th) { border-color: #d5aa5838; color: #eef4f1; }
body.la-commerce-page :is(.woocommerce table.shop_table, .woocommerce-MyAccount-content, .woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password) { background: #0c202d; border: 1px solid #d5aa5838; border-radius: 16px; }
body.la-commerce-page .woocommerce table.shop_table th { background-color: #112b38; color: #f1d89c; }
body.la-commerce-page .woocommerce table.shop_table a { overflow-wrap: anywhere; }
body.la-commerce-page :is(.woocommerce-MyAccount-content, .woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password) { box-sizing: border-box; padding: clamp(18px,3vw,32px); }
body.la-commerce-page.woocommerce-account .woocommerce { width: min(1180px,calc(100% - 32px)); max-width: 1180px; margin: 32px auto 64px; }
body.la-commerce-page .woocommerce-MyAccount-navigation { width: 25%; }
body.la-commerce-page .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 12px; background: #0c202d; border: 1px solid #d5aa5838; border-radius: 16px; }
body.la-commerce-page .woocommerce-MyAccount-navigation li { margin: 0; border: 0; }
body.la-commerce-page .woocommerce-MyAccount-navigation a { display: block; padding: 13px 16px; border-radius: 9px; text-decoration: none; }
body.la-commerce-page .woocommerce-MyAccount-navigation li.is-active a { background: #d5aa5820; color: #f1d89c; box-shadow: inset 3px 0 #d5aa58; }
body.la-commerce-page .woocommerce-MyAccount-content { width: 72%; overflow-x: auto; }
body.la-commerce-page .woocommerce-address-fields, body.la-commerce-page .woocommerce-EditAccountForm { max-width: 100%; }
body.la-commerce-page :is(.woocommerce-Address, .woocommerce-customer-details address, .woocommerce-order-details) { background: #0c202d; border-color: #d5aa5838; color: #eef4f1; border-radius: 14px; }
body.la-commerce-page :is(.woocommerce-order-overview, .woocommerce-thankyou-order-received, .woocommerce-order-details, .woocommerce-customer-details) { color: #eef4f1; }
body.la-commerce-page :is(.wc-block-components-main, .wc-block-components-sidebar) { min-width: 0; }
body.la-commerce-page :is(.wc-block-components-sidebar, .wc-block-components-order-summary, .wc-block-components-checkout-step__container) { color: #eef4f1; }
body.la-commerce-page .wc-block-components-sidebar { background: #0c202d; border: 1px solid #d5aa5838; border-radius: 18px; padding: 20px; }
body.la-commerce-page :is(.wc-block-components-totals-wrapper, .wc-block-components-panel, .wc-block-components-checkout-step__heading) { border-color: #d5aa5838; color: #eef4f1; }
/* Native payment widgets may use light backgrounds and hosted fields. Keep their text legible. */
body.la-commerce-page :is(.wc-block-components-radio-control-accordion-content, .payment_box) { background: #f7f4eb !important; color: #243b46 !important; }
body.la-commerce-page :is(.wc-block-components-radio-control-accordion-content, .payment_box) :is(p, span, label, li, a) { color: #243b46 !important; }
body.la-commerce-page .select2-container .select2-selection--single { background: #091a25; color: #eef4f1; border: 1px solid #b6c8c966; min-height: 46px; }
body.la-commerce-page .select2-container .select2-selection__rendered { color: #eef4f1; line-height: 44px; }
body.la-commerce-page .select2-dropdown { background: #0c202d; color: #eef4f1; border-color: #d5aa5855; }
/* Catalog and future products: retain WooCommerce links, quantities and variation controls. */
body.la-commerce-page :is(ul.products li.product, .wc-block-product-template > li) { box-sizing: border-box; background: #0c202d; border: 1px solid #d5aa5838; border-radius: 18px; padding: 18px; color: #eef4f1; }
body.la-commerce-page :is(.woocommerce-loop-product__title, .wc-block-product .wp-block-post-title) { color: #f1d89c; font-family: Georgia, serif; }
body.la-commerce-page :is(.price, .wp-block-woocommerce-product-price, .wc-block-components-product-price) { color: #f1d89c !important; }
body.la-commerce-page :is(.woocommerce-tabs .panel, .wp-block-woocommerce-product-details) { background: #0c202d; color: #eef4f1; border-radius: 16px; padding: clamp(18px,3vw,32px); }
body.la-commerce-page .woocommerce .woocommerce-tabs ul.tabs li { background: #0c202d; border-color: #d5aa5855; }
body.la-commerce-page .woocommerce .woocommerce-tabs ul.tabs li.active { background: #183442; }
/* The published product uses a gallery nested inside a WordPress column. */
body.la-book-product-page .wp-block-columns:has(> .wp-block-column .wp-block-woocommerce-product-image-gallery) { width: min(1320px,calc(100% - 40px)) !important; max-width: 1320px !important; margin: 36px auto !important; gap: clamp(26px,4vw,60px); align-items: flex-start !important; }
body.la-book-product-page .wp-block-column:has(.wp-block-woocommerce-product-image-gallery) { flex-basis: 52% !important; min-width: 0; }
body.la-book-product-page .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery) > .wp-block-column { min-width: 0; }
body.la-book-product-page :is(.wp-block-woocommerce-product-image-gallery, .wc-block-components-product-image) { width: 100% !important; max-width: none !important; }
body.la-book-product-page div.product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery { float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
body.la-book-product-page .wp-block-woocommerce-product-image-gallery :is(.woocommerce-product-gallery__wrapper, .woocommerce-product-gallery__image, .woocommerce-product-gallery__image > a) { display: block; width: 100% !important; max-width: none !important; }
body.la-book-product-page .wp-block-woocommerce-product-image-gallery img { width: 100% !important; max-width: none !important; height: auto !important; object-fit: contain; border-radius: 16px; }
body.la-book-product-page .wp-block-woocommerce-product-image-gallery .flex-control-thumbs img { border-radius: 6px; }
body.la-book-product-page .wp-block-columns .wp-block-post-title { font-size: clamp(2rem,3.5vw,3.7rem); }
body.la-book-product-page .wp-block-post-excerpt { color: #dce7e3; line-height: 1.7; }
/* Classic product gallery receives an equal share of the main product area. */
@media (min-width: 981px) {
  body.la-book-product-page div.product > :is(div.images, .woocommerce-product-gallery) { width: 49% !important; max-width: none !important; }
  body.la-book-product-page div.product > div.summary { width: 47% !important; }
}
@media (max-width: 781px) {
  body.la-commerce-page .woocommerce-MyAccount-navigation, body.la-commerce-page .woocommerce-MyAccount-content { float: none; width: 100%; margin-bottom: 20px; }
  body.la-commerce-page .woocommerce-MyAccount-navigation ul { display: flex; gap: 5px; flex-wrap: wrap; }
  body.la-commerce-page .woocommerce-MyAccount-navigation a { padding: 10px 12px; }
  body.la-commerce-page .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background: #102633; }
  body.la-book-product-page .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery) { width: calc(100% - 28px) !important; flex-direction: column; }
  body.la-book-product-page .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery) > .wp-block-column { flex-basis: auto !important; width: 100% !important; }
  body.la-commerce-page .wc-block-components-sidebar { padding: 16px; }
}

body.la-book-product-page :is(.taxonomy-product_cat, .taxonomy-product_tag) { display: none !important; }
body.la-book-product-page .wp-block-group.woocommerce.product > main { padding-inline: 0 !important; }
@media (max-width: 781px) {
  body.la-book-product-page .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery) { width: 100% !important; }
}
body.la-commerce-page .woocommerce table.shop_table { width: 100%; }
body.la-commerce-page .woocommerce table.shop_table :is(th,td) { padding: 12px; }
body.la-commerce-page .woocommerce .form-row :is(input.input-text, input[type=email], input[type=tel], select, textarea) { display: block; width: 100%; }
body.la-commerce-page .wc-block-components-sidebar :is(h2,h3) { color: #f1d89c; font-family: Georgia, serif; font-weight: 400; }
body.la-commerce-page .wc-block-components-text-input input { width: 100%; min-height: 54px; }
body.la-commerce-page .wc-block-components-text-input.is-active input,
body.la-commerce-page .wc-block-components-text-input input:focus { padding-top: 23px; padding-bottom: 7px; }
