/* Integration only. Shared component styles come from retail-trubuddy-cart.css. */
#cartModal.retail-cart-v2 { padding-right: 0 !important; }
#cartModal.retail-cart-v2 .modal-dialog { width: auto !important; max-width: 500px !important; min-width: 0; min-height: 0; margin: 0 auto; }
#cartModal.retail-cart-v2 .modal-content { width: 100% !important; min-width: 0 !important; max-width: 100% !important; border: 0; border-radius: .3rem; background: #fff; color: #000; font-family: 'Open Sans', Arial, sans-serif; }
#cartModal.retail-cart-v2 .modal-body { padding: 0; }
#cartModal.retail-cart-v2 [hidden] { display: none !important; }
#cartModal.retail-cart-v2 .cart-title { position: static; }
#cartModal.retail-cart-v2 button { font-family: inherit; cursor: pointer; }
#cartModal.retail-cart-v2 .cart-close-btn,
#cartModal.retail-cart-v2 .remove { border: 0; padding: 0; background: transparent; }
#cartModal.retail-cart-v2 .remove { margin-top: 0; margin-bottom: 0; }
#cartModal.retail-cart-v2 .increment,
#cartModal.retail-cart-v2 .decrement { border: 0; }
#cartModal.retail-cart-v2 button:disabled { opacity: .55; cursor: wait; }
#cartModal.retail-cart-v2 button:focus-visible { outline: 2px solid #0088cc; outline-offset: 3px; }
#cartModal.retail-cart-v2 .cart-product-cover { width: auto; object-fit: contain; }
#cartModal.retail-cart-v2 .retail-product-controls { line-height: 1.5; }
#cartModal.retail-cart-v2 .quantity { appearance: auto; -moz-appearance: auto; }
#cartModal.retail-cart-v2 .empty-cart { max-width: 100%; text-align: center; background-image: none; }
#cartModal.retail-cart-v2 .empty-cart-icon { width: 100px; height: 100px; flex-shrink: 0; }
#cartModal.retail-cart-v2 .empty-cart p { font-size: 16px; line-height: 24px; }
#cartModal.retail-cart-v2 .recommendation-cover { width: auto; max-width: 100%; height: 200px; object-fit: contain; }
#cartModal.retail-cart-v2 .recommendation { min-width: 0; }
#cartModal.retail-cart-v2 .recommendation .b-title-rec { overflow: hidden; }
#cartModal.retail-cart-v2 .add-to-cart { background: #fff; }
#cartModal.retail-cart-v2 .add-to-cart:hover { background: #fff0f4; }
#cartModal.retail-cart-v2 .recommended-title,
#cartModal.retail-cart-v2 .you-may-like { margin: 0 0 16px; }
#cartModal.retail-cart-v2 .yellow-discount-img { margin-right: 4px; }

/* Additional catalog/language controls are specific to Menstrupedia. */
#cartModal.retail-cart-v2 .catalog-section-heading { grid-column: 1 / -1; margin: 0; padding: 10px 12px; background: #fef3e8; color: #c40; text-align: center; font-size: 18px; font-weight: 700; line-height: 1.5; }
#cartModal.retail-cart-v2 .catalog-section-heading--menstrupedia { background: #edf7fc; color: #08c; }
#cartModal.retail-cart-v2 .catalog-section-divider { border-top: 1px solid #d9d9d9; margin-top: 8px; }
#cartModal.retail-cart-v2 .catalog-section-products { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
#cartModal.retail-cart-v2 .catalog-section-heading--trubuddy { padding: 0; }
#cartModal.retail-cart-v2 .catalog-section-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 10px 12px; border: 0; background: transparent; color: inherit; font: inherit; }
#cartModal.retail-cart-v2 .catalog-section-toggle::after { content: '+'; }
#cartModal.retail-cart-v2 .catalog-section-toggle[aria-expanded="true"]::after { content: '\2212'; }
#cartModal.retail-cart-v2 .cart-language-controls { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; vertical-align: middle; }
#cartModal.retail-cart-v2 .cart-language-select { min-width: 0; padding: 1px 4px; border: 1px solid #d9d9d9; border-radius: 5px; background: #fff; color: #000; font: 14px 'Open Sans', Arial, sans-serif; }
#cartModal.retail-cart-v2 .cart-language-controls .cart-add-language { flex: 0 0 auto; margin: 0; padding: 8px 0; border: 0; background: transparent; color: #0088cc; font: 14px 'Open Sans', Arial, sans-serif; }
#cartModal.retail-cart-v2 .cart-language-select:focus-visible { outline: 2px solid #0088cc; outline-offset: 3px; }
#cartModal.retail-cart-v2 #menstrupedia-recommendations .add-to-cart { border-color: #0088cc; color: #0088cc; }
#cartModal.retail-cart-v2 #menstrupedia-recommendations .add-to-cart:hover { background: #edf7fc; }
#cartModal.retail-cart-v2 #trubuddy-recommendations .add-to-cart { border-color: #ee7700; color: #cc4400; }
#cartModal.retail-cart-v2 #trubuddy-recommendations .add-to-cart:hover { background: #fef3e8; }
#cartModal.retail-cart-v2 .bulk-buy { width: 100%; margin: 14px 0 0; padding: 12px 36px 12px 14px; border: .5px solid #7e7e7e; background: #effaff; font-size: 14px; }
#cartModal.retail-cart-v2 .bulk-buy .money-hand { float: left; width: 34px; height: auto; margin: 0 10px 4px 0; }
#cartModal.retail-cart-v2 .bulk-buy .bulk-text { color: #000; }
#cartModal.retail-cart-v2 .bulk-buy .know-more { color: #0088cc; border-bottom: 1px solid #0088cc; }
#cartModal.retail-cart-v2 .bulk-buy .alert-close { position: absolute; top: 7px; right: 11px; border: 0; background: transparent; font-size: 18px; }

/* Adapt the existing accessible controls and checkout hooks to the shared markup. */
#cartModal.retail-cart-v2 .retail-checkout { width: 100%; }
#cartModal.retail-cart-v2 .retail-checkout-form { width: 100%; }
#cartModal.retail-cart-v2 .retail-checkout-fields { flex: 1; }
#cartModal.retail-cart-v2 .nav-breadcrumbs button { border: 0; background: transparent; color: #222; padding: 0; font: inherit; }
#cartModal.retail-cart-v2 .nav-breadcrumbs { flex-wrap: wrap; align-items: baseline; }
#cartModal.retail-cart-v2 .cart-form-input:focus { outline: 1px solid #e14262; }
#cartModal.retail-cart-v2 .cart-form-input[readonly] { color: #757575; }
#cartModal.retail-cart-v2 .retail-change-phone { display: inline-flex; align-items: center; gap: 4px; margin: 0; padding: 0; border: 0; background: transparent; color: #d83258; font-size: 14px; font-weight: 400; }
#cartModal.retail-cart-v2 .retail-change-phone svg { flex-shrink: 0; }
#cartModal.retail-cart-v2 .retail-pincode-status { display: block; font-size: 14px; line-height: 20px; color: #555; }
#cartModal.retail-cart-v2 .retail-pincode-status:empty { display: none; }
#cartModal.retail-cart-v2 .cart-form-input[aria-invalid="true"] { border-color: #d83258; }
#cartModal.retail-cart-v2 .retail-payment { width: 424px; max-width: 100%; }
#cartModal.retail-cart-v2 .retail-payment-option { margin: 0; }
#cartModal.retail-cart-v2 .retail-payment-option input { appearance: auto; width: 16px; height: 16px; flex: 0 0 16px; margin-top: 3px; accent-color: #e14262; background: transparent; }
/* Host landing pages draw their own blue radio dot. Use the native cart radio. */
#cartModal.retail-cart-v2 .retail-payment-option input::after { content: none; display: none; }
#cartModal.retail-cart-v2 .retail-payment-option.online-mode input { margin-top: 2px; }
#cartModal.retail-cart-v2 .retail-payment-option img { width: 41%; object-fit: contain; }
#cartModal.retail-cart-v2 .retail-cod-charge,
#cartModal.retail-cart-v2 .retail-cod-free { display: block; }
#cartModal.retail-cart-v2 .retail-cod-icon { flex-shrink: 0; }
#cartModal.retail-cart-v2 .retail-review-detail p { white-space: pre-line; overflow-wrap: anywhere; }
#cartModal.retail-cart-v2 .cart-summary-product .book-name { overflow-wrap: anywhere; }
#cartModal.retail-cart-v2 .retail-order-price { white-space: nowrap; }
#cartModal.retail-cart-v2 .retail-place-order { border: 1px solid #e14262; gap: .25em; }
#loginModal.retail-login-active { display: block !important; z-index: 1080; background: #fff; overflow-y: auto; }
#loginModal.retail-login-active .modal-content { width: 100% !important; max-width: none !important; min-width: 0 !important; min-height: 100dvh; border: 0; border-radius: 0; }
#loginModal.retail-login-active .modal-body { min-height: 100dvh; }
#retail-order-status { max-width: 560px; margin: 48px auto; padding: 32px 16px; font: 16px/1.5 'Open Sans', Arial, sans-serif; text-align: center; }
#retail-order-status .payment-btn-cart { text-decoration: none; }
@media (min-width: 576px) {
  #cartModal.retail-cart-v2 .modal-dialog { margin: .5rem auto; }
}
@media (min-width: 768px) {
  #cartModal.retail-cart-v2 .modal-content { width: fit-content !important; margin: auto; }
}
@media (min-width: 992px) {
  #cartModal.retail-cart-v2 .modal-dialog { max-width: 800px !important; }
}
@media (min-width: 1200px) {
  #cartModal.retail-cart-v2 .modal-dialog { max-width: 1140px !important; }
}
@media (max-width: 767px) {
  #cartModal.retail-cart-v2 .modal-dialog { width: 100% !important; max-width: none !important; margin: 0; }
  #cartModal.retail-cart-v2 .modal-content { min-height: 100dvh; border-radius: 0; }
  #cartModal.retail-cart-v2 .retail-payment { width: 100%; }
  #cartModal.retail-cart-v2 .empty-cart { justify-content: center; }
  #cartModal.retail-cart-v2 .add-to-cart { min-width: 0; }
}
