/* Isolated WooCommerce cart, checkout and account styles. No global site changes. */
body.ldm-commerce-independent{margin:0!important;background:#fff9fb;color:#4e4147;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.5}
body.ldm-commerce-independent *{box-sizing:border-box}
body.ldm-commerce-independent .ldm-commerce-shell{max-width:1140px;min-height:100vh;margin:0 auto;background:#fff;box-shadow:0 6px 35px #6c40500b}
body.ldm-commerce-independent .ldm-commerce-header{padding:12px 24px;border-bottom:1px solid #f3dfe7;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff}
body.ldm-commerce-independent .ldm-commerce-logo-link img{display:block;width:min(300px,100%);max-height:135px;height:auto;object-fit:contain}
body.ldm-commerce-independent .ldm-commerce-header nav{display:flex;flex-wrap:wrap;gap:16px}
body.ldm-commerce-independent a{color:#9a4f70}
body.ldm-commerce-independent .ldm-commerce-header a{text-decoration:none;font-weight:650}
body.ldm-commerce-independent .ldm-commerce-main{padding:24px 32px 50px}
body.ldm-commerce-independent .ldm-commerce-title{font-size:clamp(22px,3vw,30px);line-height:1.25;color:#784e60;margin:0 0 25px}
body.ldm-commerce-independent .ldm-commerce-footer{padding:20px 28px;background:#fff1f5;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:13px}
body.ldm-commerce-independent .woocommerce{width:100%;max-width:100%;font-size:15px}
body.ldm-commerce-independent .woocommerce form .form-row input.input-text,body.ldm-commerce-independent .woocommerce form .form-row textarea,body.ldm-commerce-independent .woocommerce form .form-row select,body.ldm-commerce-independent .select2-container .select2-selection{width:100%;max-width:100%;min-height:42px;padding:10px 12px;border:1px solid #d9c5cd;border-radius:8px;background:#fff;font-size:15px;color:#40373a}
body.ldm-commerce-independent .woocommerce form .form-row{margin-bottom:12px}
body.ldm-commerce-independent .woocommerce form .form-row label{font-size:14px;line-height:1.5}
body.ldm-commerce-independent .woocommerce form .form-row-first,body.ldm-commerce-independent .woocommerce form .form-row-last{width:48%}
body.ldm-commerce-independent .woocommerce .col2-set .col-1,body.ldm-commerce-independent .woocommerce .col2-set .col-2{width:48%}
body.ldm-commerce-independent .woocommerce h3,body.ldm-commerce-independent .woocommerce h2{color:#784e60}
body.ldm-commerce-independent .woocommerce table.shop_table{width:100%;border-collapse:collapse;border:1px solid #f0dce4;border-radius:9px;overflow:hidden}
body.ldm-commerce-independent .woocommerce table.shop_table th,body.ldm-commerce-independent .woocommerce table.shop_table td{padding:12px;border-color:#f0dce4}
body.ldm-commerce-independent .woocommerce .button,body.ldm-commerce-independent .woocommerce button.button,body.ldm-commerce-independent .woocommerce a.button,body.ldm-commerce-independent .woocommerce #payment #place_order{background:#a65c7a;color:#fff;border:0;border-radius:9px;padding:13px 20px;min-height:43px;font-weight:700;line-height:1.3;cursor:pointer}
body.ldm-commerce-independent .woocommerce .button:hover,body.ldm-commerce-independent .woocommerce #payment #place_order:hover{background:#85435e;color:#fff}
body.ldm-commerce-independent .woocommerce #payment{background:#fff5f8;border:1px solid #f0dce4;border-radius:12px}
body.ldm-commerce-independent .woocommerce #payment div.payment_box{background:#fff;border:1px solid #ecdbe2;border-radius:9px}
body.ldm-commerce-independent .woocommerce #payment div.payment_box:before{display:none}
body.ldm-commerce-independent .woocommerce .woocommerce-message,body.ldm-commerce-independent .woocommerce .woocommerce-info{background:#fff6fa;border-top-color:#a65c7a;color:#50454a}
body.ldm-commerce-independent .woocommerce .cart_totals{max-width:100%}
body.ldm-commerce-independent .woocommerce img{max-width:100%;height:auto}
@media(max-width:767px){body.ldm-commerce-independent .ldm-commerce-header{padding:10px 14px;flex-direction:column;text-align:center;gap:7px}body.ldm-commerce-independent .ldm-commerce-logo-link img{max-height:100px;width:230px}body.ldm-commerce-independent .ldm-commerce-header nav{justify-content:center;gap:12px;font-size:14px}body.ldm-commerce-independent .ldm-commerce-main{padding:20px 14px 35px}body.ldm-commerce-independent .woocommerce .col2-set .col-1,body.ldm-commerce-independent .woocommerce .col2-set .col-2,body.ldm-commerce-independent .woocommerce form .form-row-first,body.ldm-commerce-independent .woocommerce form .form-row-last{width:100%;float:none}body.ldm-commerce-independent .woocommerce table.shop_table th,body.ldm-commerce-independent .woocommerce table.shop_table td{padding:8px}body.ldm-commerce-independent .woocommerce #payment #place_order{width:100%}}

/* Single-product page: retain WooCommerce markup, isolate brand styling. */
body.ldm-product-independent .ldm-product-main{min-height:55vh}
body.ldm-product-independent .woocommerce-notices-wrapper{margin-bottom:16px}
body.ldm-product-independent .woocommerce div.product{display:block;min-height:0}
body.ldm-product-independent .woocommerce div.product .woocommerce-product-gallery{width:46%;float:left;margin:0 0 28px}
body.ldm-product-independent .woocommerce div.product .summary{width:50%;float:right;margin:0 0 28px}
body.ldm-product-independent .woocommerce div.product .product_title{color:#784e60;font-size:clamp(25px,3vw,36px);line-height:1.2;margin:0 0 14px}
body.ldm-product-independent .woocommerce div.product p.price,body.ldm-product-independent .woocommerce div.product span.price{color:#a65c7a;font-size:23px}
body.ldm-product-independent .woocommerce div.product .woocommerce-tabs,body.ldm-product-independent .woocommerce div.product .related,body.ldm-product-independent .woocommerce div.product .upsells{clear:both;padding-top:24px}
body.ldm-product-independent .woocommerce div.product .woocommerce-tabs ul.tabs{padding-left:0}
body.ldm-product-independent .woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff1f5}
body.ldm-product-independent .woocommerce div.product .woocommerce-tabs h2,body.ldm-product-independent .woocommerce div.product .related h2{color:#784e60}
body.ldm-product-independent .woocommerce div.product form.cart .quantity input.qty{width:75px;min-height:43px;border:1px solid #d9c5cd;border-radius:7px;padding:8px}
body.ldm-product-independent .woocommerce div.product form.cart .variations select{max-width:100%;min-height:42px}
body.ldm-product-independent .woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0;padding:0}
body.ldm-product-independent .woocommerce ul.products::before,body.ldm-product-independent .woocommerce ul.products::after{display:none}
body.ldm-product-independent .woocommerce ul.products li.product{float:none;width:auto!important;margin:0!important;list-style:none}
/* Portrait book covers: show the entire cover rather than a square crop. */
body.ldm-product-independent .woocommerce ul.products li.product a img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;background:#fff9fb;border-radius:10px}
/* Keep sale badges away from the title area of book covers. */
body.ldm-product-independent .woocommerce ul.products li.product{position:relative}
body.ldm-product-independent .woocommerce ul.products li.product .onsale{top:8px;right:8px;left:auto;margin:0;min-height:0;min-width:0;padding:5px 9px;font-size:12px;line-height:1.3;border-radius:20px}
body.ldm-product-independent .woocommerce ul.products li.product .woocommerce-loop-product__title{color:#784e60;font-size:16px}
body.ldm-product-independent .woocommerce ul.products li.product .price{color:#a65c7a}
@media(max-width:767px){body.ldm-product-independent .woocommerce div.product .woocommerce-product-gallery,body.ldm-product-independent .woocommerce div.product .summary{width:100%;float:none}body.ldm-product-independent .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}body.ldm-product-independent .woocommerce div.product .product_title{font-size:26px}}
