/* Cart summary; all prices and quantity operations remain native PrestaShop. */
#page .mys-addresses { margin: 30px 0; padding: 24px; border: 1px solid var(--mys-line); border-radius: 12px; background: #fff; }
#page .mys-addresses h2 { margin: 0 0 10px; padding: 0; font-size: 25px; font-weight: 500; color: var(--mys-ink); }
#page .mys-addresses .mys-address-intro { margin-bottom: 24px; padding: 0 !important; font-size: 14px; color: var(--mys-muted); }
#page .mys-addresses .address_select { display: block; width: 100%; max-width: 420px; height: 46px; margin: 10px 0 18px; padding: 10px 12px; border: 1px solid #dce1d6; border-radius: 8px; background: white; color: var(--mys-ink); font-size: 16px; appearance: auto; }
#page .mys-addresses .addressesAreEquals { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 24px; padding: 0 !important; }
#page .mys-addresses .addressesAreEquals .checker { flex-shrink: 0; margin: 3px 0 0; }
#page .mys-addresses .addressesAreEquals label { padding: 0; font-size: 14px; font-weight: 400; line-height: 1.6; cursor: pointer; }
#page .mys-addresses ul.address { margin-bottom: 18px; padding: 22px; border: 1px solid var(--mys-line); border-radius: 10px; background: #f7f8f5; }
#page .mys-addresses ul.address li { padding: 0; font-size: 14px; line-height: 1.8; color: #596451; }
#page .mys-addresses ul.address .page-subheading { padding: 0 0 14px; margin: 0 0 14px; border-bottom: 1px solid var(--mys-line); background: none; color: var(--mys-ink); font-size: 18px; font-weight: 500; text-transform: none; }
#page .mys-addresses .button { display: inline-flex; padding: 11px 16px; margin-top: 12px; border: 1px solid #d3dbcb; border-radius: 8px; background: white; color: var(--mys-accent); text-transform: none; font-size: 13px; }
#page .mys-addresses .button span { padding: 0; background: none; border: 0; color: inherit; font: inherit; }
#page .mys-addresses .button:hover { background: #f4edf4; color: #4c054c; }
#page .mys-addresses .mys-same-address-note { display: none; padding: 14px !important; border-radius: 8px; background: #f5eef5; color: #674460; font-size: 13px; }
#page .mys-physical-addresses:has(#addressesAreEquals:checked) .mys-same-address-note { display: block; }
#page .mys-physical-addresses:has(#addressesAreEquals:checked) .row > div:has(> #address_invoice) { display: none; }
#page .mys-physical-addresses:has(#addressesAreEquals:checked) .row > div:has(> #address_delivery) { width: 100%; }
#page #opc_delivery_methods .delivery_option { margin: 0 0 14px; border: 1px solid var(--mys-line); border-radius: 10px; overflow: hidden; background: white; }
#page #opc_delivery_methods .delivery_option:has(input.delivery_option_radio:checked) { border-color: #b48db0; background: #faf5fa; box-shadow: 0 0 0 1px #b48db0; }
#page #opc_delivery_methods .delivery_option > div { margin-bottom: 0; }
#page #opc_delivery_methods .delivery_option table { height: auto; margin: 0; border: 0; background: transparent; }
#page #opc_delivery_methods .delivery_option td { padding: 18px 12px; border: 0; background: transparent; font-size: 14px; line-height: 1.6; }
#page #opc_delivery_methods .delivery_option td.delivery_option_radio { width: 44px; }
#page #opc_delivery_methods .delivery_option td.delivery_option_logo { width: 68px; }
#page #opc_delivery_methods .delivery_option .order_carrier_logo { width: 44px; max-height: 44px; object-fit: contain; }
#page #opc_delivery_methods .delivery_option td.delivery_option_price { width: 150px; font-weight: 500; color: var(--mys-accent); }
#page #opc_delivery_methods .delivery_option .best_grade { display: inline-block; margin-top: 7px; padding: 3px 8px; border-radius: 5px; background: #eef3e9; color: #50703f; font-size: 11px; }
#page #opc_delivery_methods .mys-carrier-label { margin: 0; color: var(--mys-ink); font-weight: 500; cursor: pointer; }
#page .mys-addresses :is(a,input,select):focus-visible, #page #opc_delivery_methods input:focus-visible { outline: 2px solid var(--mys-accent); outline-offset: 3px; }
@media (max-width:600px) {
 #page .mys-addresses { padding: 16px; }
 #page .mys-addresses ul.address { padding: 18px; }
 #page #opc_delivery_methods .delivery_option td { padding: 10px 6px; }
 #page #opc_delivery_methods .delivery_option td.delivery_option_price { width: auto; }
}
#page #HOOK_PAYMENT:has(.payment_module) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#page #HOOK_PAYMENT #paypal_payment_form { display: none; }
#page #HOOK_PAYMENT::before, #page #HOOK_PAYMENT::after { display: none; }
#page #HOOK_PAYMENT .row { margin: 0 !important; min-width: 0; width: 100%; }
#page #HOOK_PAYMENT .row > div { width: 100% !important; padding: 0 !important; margin: 0 !important; float: none; }
#page #HOOK_PAYMENT .payment_module { padding: 0 !important; margin: 0 0 14px; }
#page #HOOK_PAYMENT .payment_module > a { display: flex; align-items: center; gap: 24px; position: relative; min-height: 110px; padding: 24px 54px 24px 24px !important; border: 1px solid var(--mys-line); border-radius: 12px; background: #fff; color: var(--mys-ink); font-size: 16px; font-weight: 400; line-height: 1.6; text-transform: none; box-shadow: none; }
#page #HOOK_PAYMENT .payment_module > a img { position: static; flex: 0 0 100px; width: 100px; height: 48px; margin: 0; object-fit: contain; }
#page #HOOK_PAYMENT .payment_module > a.bankwire::before { content: '\f19c'; font-family: FontAwesome; flex: 0 0 100px; text-align: center; font-size: 32px; color: #75816c; }
#page #HOOK_PAYMENT .payment_module > a::after { content: '\2192'; position: absolute; right: 24px; top: 50%; width: auto; height: auto; margin: 0; transform: translateY(-50%); font: 24px/1 Arial,sans-serif; color: var(--mys-accent); }
#page #HOOK_PAYMENT .payment_module .mys-payment-copy { display: block; min-width: 0; padding: 0; background: none; color: inherit; }
#page #HOOK_PAYMENT .payment_module strong { display: block; margin: 0 0 4px; font-size: 18px; font-weight: 500; color: var(--mys-ink); }
#page #HOOK_PAYMENT .payment_module .mys-payment-description { display: block; color: var(--mys-muted); font-size: 14px; }
#page #HOOK_PAYMENT .payment_module .mys-payment-fee { display: block; width: fit-content; margin-top: 8px; padding: 5px 10px; border-radius: 6px; background: #f5edf4; color: #672360; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
#page #HOOK_PAYMENT .payment_module .mys-payment-fee:empty { display: none; }
#page #HOOK_PAYMENT .payment_module > a:hover { border-color: #c6adc5; background: #fbf8fb; color: var(--mys-ink); }
#page #HOOK_PAYMENT .payment_module > a:focus-visible { outline: 2px solid var(--mys-accent); outline-offset: 3px; }
#page #HOOK_PAYMENT .payment_module > a { width: auto !important; margin: 0 !important; border-radius: 12px !important; border: 1px solid var(--mys-line) !important; }
#page #HOOK_PAYMENT .payment_module > a.bankwire::before { display: block !important; }
@media (max-width:600px) {
 #page #HOOK_PAYMENT:has(.payment_module) { grid-template-columns: minmax(0,1fr); }
 #page #HOOK_PAYMENT .payment_module > a { flex-wrap: wrap; gap: 12px; padding: 18px 36px 18px 18px !important; }
 #page #HOOK_PAYMENT .payment_module .mys-payment-copy { flex: 0 0 100%; }
 #page #HOOK_PAYMENT .payment_module > a::after { right: 14px; }
 #page #HOOK_PAYMENT .payment_module > a img { width: 86px; height: 34px; flex-basis: 86px; }
 #page #HOOK_PAYMENT .payment_module > a.bankwire::before { flex-basis: 86px; text-align: left; font-size: 28px; }
}
#page .mys-order-terms, #page .mys-payment-pending { padding: 24px; margin: 24px 0; border: 1px solid var(--mys-line); border-radius: 12px; background: #f7f8f5; color: var(--mys-ink); }
#page .mys-order-terms h3, #page .mys-payment-pending h3 { margin: 0 0 14px; padding: 0; border: 0; background: none; font-size: 21px; font-weight: 500; line-height: 1.4; text-transform: none; }
#page .mys-order-terms { border: 2px solid #660066; background: #faf4fa; }
#page .mys-order-terms p.checkbox { padding: 0 !important; margin: 0 0 14px; }
#page .mys-order-terms p.checkbox label { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 16px; margin: 0; float: none; border: 2px solid #996699; border-radius: 8px; background: #fff; color: #292b29; font-size: 17px; font-weight: 700; line-height: 1.5; cursor: pointer; }
#page .mys-order-terms #cgv { position: static; appearance: auto; -webkit-appearance: checkbox; flex: 0 0 28px; width: 28px; height: 28px; margin: 0; opacity: 1; accent-color: #660066; cursor: pointer; }
#page .mys-order-terms #uniform-cgv { display: flex; align-items: center; flex: 0 0 28px; width: 28px; height: 28px; margin: 0; padding: 0; }
#page .mys-order-terms #uniform-cgv > span { display: flex; align-items: center; top: 0; width: 28px; height: 28px; background: none; }
#page .mys-order-terms p.checkbox label:hover { border-color: #660066; background: #fcf8fc; }
#page .mys-order-terms p.checkbox label:has(#cgv:checked) { border-color: #38703d; background: #f0f7ef; }
#page .mys-order-terms p.checkbox label:focus-within { outline: 2px solid #660066; outline-offset: 3px; }
#page .mys-order-terms .mys-terms-link { display: inline-block; margin: 0; padding: 8px 0; color: var(--mys-accent); font-size: 14px; text-decoration: underline; }
#page .mys-order-terms .mys-terms-help, #page .mys-payment-pending p { padding: 0 !important; margin: 0 0 12px; font-size: 14px; line-height: 1.7; color: var(--mys-muted); }
#page .mys-order-terms .mys-terms-help { margin-bottom: 16px; color: #660066; font-size: 17px; font-weight: 700; }
#page .mys-payment-pending .mys-payment-next { display: inline-flex; align-items: center; gap: 12px; padding: 12px 18px; border: 1px solid var(--mys-accent); border-radius: 8px; background: var(--mys-accent); color: white; font-size: 14px; }
#page .mys-payment-pending .mys-payment-next:hover { background: #4c054c; color: white; }
#page .mys-order-terms :is(a,input):focus-visible, #page .mys-payment-pending a:focus-visible { outline: 2px solid var(--mys-accent); outline-offset: 3px; }
#opc_new_account { scroll-margin-top: 24px; }
@media (max-width:600px) {
 #page .mys-order-terms, #page .mys-payment-pending { padding: 18px; }
}
#page #opc_new_account { margin: 40px 0; }
#page #opc_new_account .mys-account-heading { margin: 0 0 10px; font-size: 27px; font-weight: 500; line-height: 1.3; color: var(--mys-ink); }
#page #opc_new_account .mys-account-intro { margin: 0 0 24px; padding: 0 !important; color: var(--mys-muted); font-size: 15px; }
#page #opc_new_account #mys-account-back { margin: 0 0 20px; padding: 10px 0; border: 0; background: none; color: var(--mys-accent); font-size: 14px; text-decoration: underline; }
#page #opc_new_account .box { margin-bottom: 18px; padding: 24px; border: 1px solid var(--mys-line); border-radius: 12px; background: white; box-shadow: none; }
#page #opc_new_account .page-subheading { margin: 0 0 10px; padding: 0; border: 0; background: none; color: var(--mys-ink); font-size: 19px; font-weight: 500; line-height: 1.4; text-transform: none; }
#page #opc_new_account #login_form { background: #f7f8f5; }
#page #opc_new_account #login_form p { padding: 0 !important; }
#page #opc_new_account .mys-login-intro { margin-bottom: 14px; color: var(--mys-muted); font-size: 14px; }
#page #opc_new_account #opc_account_choice { display: flex; flex-wrap: wrap; gap: 18px; margin: 20px 0 0; }
#page #opc_new_account #opc_account_choice::before, #page #opc_new_account #opc_account_choice::after { display: none; }
#page #opc_new_account #opc_account_choice > div { display: flex; flex-direction: column; flex: 1 1 260px; width: auto; padding: 22px; border: 1px solid var(--mys-line); border-radius: 10px; }
#page #opc_new_account #opc_account_choice .mys-guest-choice { background: #faf7fa; border-color: #dfcede; }
#page #opc_new_account .mys-choice-title { margin: 0 0 12px; color: var(--mys-ink); font-size: 20px; font-weight: 500; }
#page #opc_new_account .mys-choice-description { padding: 0 !important; margin: 0 0 20px; font-size: 14px; line-height: 1.7; color: var(--mys-muted); }
#page #opc_new_account .opc-button { margin: auto 0 0; padding: 0 !important; }
#page #opc_new_account :is(#openLoginFormBlock,#opc_guestCheckout,#opc_createAccount,#SubmitLogin) { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 20px; border: 1px solid #d6ddce; border-radius: 8px; background: white; color: var(--mys-accent); font-size: 14px; line-height: 20px; font-weight: 500; text-transform: none; box-shadow: none; }
#page #opc_new_account :is(#opc_guestCheckout,#SubmitLogin) { background: var(--mys-accent); border-color: var(--mys-accent); color: white; }
#page #opc_new_account :is(#opc_guestCheckout,#opc_createAccount,#SubmitLogin) span { padding: 0; border: 0; background: none; color: inherit; font: inherit; }
#page #opc_new_account :is(#openLoginFormBlock,#opc_createAccount):hover { background: #f3edf3; color: #4c054c; }
#page #opc_new_account :is(#opc_guestCheckout,#SubmitLogin):hover { background: #4c054c; color: white; }
#page #opc_new_account #login_form_content { margin-top: 20px; max-width: 440px; }
#page #opc_new_account #login_form_content .form-group { margin-bottom: 16px; }
#page #opc_new_account #login_form_content .form-control { width: 100%; max-width: none; height: 44px; padding: 10px 12px; border-radius: 8px; border: 1px solid #d6ddce; background: white; font-size: 16px; }
#page #opc_new_account #login_form_content .lost_password { display: inline-block; margin-bottom: 14px; color: var(--mys-accent); }
#page #opc_new_account :is(a,button,input):focus-visible { outline: 2px solid var(--mys-accent); outline-offset: 3px; }
#page #opc_new_account :is(#submitAccount,#submitGuestAccount) { display: inline-flex; align-items: center; justify-content: center; min-width: 180px; max-width: 100%; min-height: 48px; padding: 13px 26px; border: 1px solid #660066; border-radius: 8px; background: #660066; color: #fff; font-size: 16px; line-height: 22px; font-weight: 700; text-transform: none; text-shadow: none; box-shadow: 0 3px 8px rgba(102, 0, 102, .18); }
#page #opc_new_account :is(#submitAccount,#submitGuestAccount) span { display: inline-flex; align-items: center; gap: 12px; padding: 0; border: 0; background: none; color: inherit; font: inherit; }
#page #opc_new_account :is(#submitAccount,#submitGuestAccount) span i { margin: 0; color: inherit; }
#page #opc_new_account :is(#submitAccount,#submitGuestAccount):hover { border-color: #4c054c; background: #4c054c; color: #fff; }
#page #opc_new_account :is(#submitAccount,#submitGuestAccount):disabled { opacity: .6; cursor: not-allowed; box-shadow: none; }
#page #opc_account_form .mys-checkout-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; margin-top: 22px; }
#page #opc_account_form .mys-checkout-fields > * { grid-column: 1 / -1; min-width: 0; }
#page #opc_account_form .mys-checkout-fields > .form-group { grid-column: auto; }
#page #opc_account_form .mys-checkout-fields > .form-group:has(:is(#address1,#address2,#address1_invoice,#address2_invoice,textarea)) { grid-column: 1 / -1; }
#page #opc_account_form .form-group { float: none; clear: none; width: auto; margin: 0; min-width: 0; }
#page #opc_account_form .form-group > label { display: block; float: none; width: auto; margin: 0 0 8px; color: var(--mys-ink); font-size: 14px; font-weight: 500; }
#page #opc_account_form :is(input.form-control,select.form-control,textarea.form-control) { width: 100%; max-width: none; height: 46px; padding: 10px 12px; border: 1px solid #d6ddcf; border-radius: 8px; background: #fff; color: var(--mys-ink); font-size: 16px; box-shadow: none; cursor: auto; }
#page #opc_account_form textarea.form-control { height: auto; min-height: 100px; }
#page #opc_account_form .selector { width: 100% !important; height: auto; padding: 0; background: none; overflow: visible; }
#page #opc_account_form .selector > span { display: none; }
#page #opc_account_form .selector > select { position: static; opacity: 1; left: auto; top: auto; appearance: auto; }
#page #opc_account_form .date-select .row { display: flex; margin: 0 -5px; }
#page #opc_account_form .date-select .row > div { width: 33.333%; min-width: 0; padding: 0 5px; }
#page #opc_account_form .date-select select { padding: 10px 5px; }
#page #opc_account_form .form_info { display: block; margin-top: 6px; font-size: 13px; color: var(--mys-muted); }
#page #opc_account_form .page-subheading { margin: 10px 0 0; padding: 20px 0 0; border-top: 1px solid var(--mys-line); font-size: 21px; }
#page #opc_account_form p.required { margin: 0; padding: 12px 16px !important; border-radius: 8px; background: #faf4fa; color: #660066; font-size: 14px; line-height: 1.6; }
#page #opc_account_form .checkbox { margin: 0; padding: 0 !important; }
#page #opc_account_form .checkbox label { float: none; width: auto; line-height: 1.7; cursor: pointer; }
#page #opc_account_form .gender-line:not(:has(input)) { display: none; }
#page #opc_account_form #opc_invoice_address .mys-checkout-fields { margin-top: 0; }
#page #opc_account_form .opc-add-save { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--mys-line); }
#page #opc_account_form .opc-add-save .opc-required { float: none !important; margin-bottom: 14px; }
#page #opc_account_form #opc_account_saved { margin-top: 20px; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 600px) {
 #page #opc_account_form .mys-checkout-fields { grid-template-columns: minmax(0, 1fr); }
 #page #opc_account_form :is(#submitAccount,#submitGuestAccount) { width: 100%; }
}
@media (max-width: 600px) {
 #page #opc_new_account .box { padding: 16px; }
 #page #opc_new_account #opc_account_choice > div { padding: 18px; min-width: 0; flex-basis: 100%; }
 #page #opc_new_account .opc-button button { width: 100%; }
 #page #opc_new_account .mys-account-heading { font-size: 24px; }
}
body:has(#mys-cart) #left_column, body:has(#mys-cart) #right_column { display: none; }
body:has(#mys-cart) #page #center_column { width: 100% !important; max-width: none !important; float: none; padding: 0 15px; }
#page #mys-cart { margin-bottom: 42px; }
#page #mys-cart #cart_title { display: flex !important; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 0; margin: 0 0 28px; border: 0; font-size: 32px; font-weight: 500; line-height: 1.3; color: var(--mys-ink); text-transform: none; }
#page #mys-cart .heading-counter { float: none; color: var(--mys-muted); font-size: 14px; }
#page #mys-cart .cart_last_product { display: none; }
#page #mys-cart #order-detail-content { margin: 0; border: 0; overflow: visible; }
#page #mys-cart #cart_summary { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 24px; width: 100%; margin: 0; border: 0; background: none; }
#page #mys-cart #cart_summary thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#page #mys-cart #cart_summary > tbody { display: block; grid-column: 1; min-width: 0; }
#page #mys-cart #cart_summary > tbody:first-of-type { grid-row: 1; }
#page #mys-cart #cart_summary > tfoot { display: block; grid-column: 2; grid-row: 1 / 3; padding: 22px; border: 1px solid var(--mys-line); border-radius: 12px; background: #f7f8f5; }
#page #mys-cart #cart_summary > tfoot::before { content: 'Resumen del pedido'; display: block; margin-bottom: 18px; font-size: 20px; font-weight: 500; color: var(--mys-ink); }
#page #mys-cart #cart_summary td { width: auto; border: 0; background: transparent; vertical-align: middle; }
#page #mys-cart #cart_summary tr.cart_item { display: grid; grid-template-columns: 104px minmax(0, 1fr) 110px; gap: 10px 18px; padding: 20px; margin-bottom: 16px; border: 1px solid var(--mys-line); border-radius: 12px; background: #fff; }
#page #mys-cart #cart_summary tr.cart_item > td { display: block; padding: 0; float: none; text-align: left; }
#page #mys-cart #cart_summary tr.cart_item > td.cart_quantity { display: grid; }
#page #mys-cart #cart_summary tr.unvisible { display: none; }
#page #mys-cart .cart_item .cart_product { grid-column: 1; grid-row: 1 / 4; }
#page #mys-cart .cart_product img { width: 104px; height: 112px; object-fit: contain; border: 0; border-radius: 8px; }
#page #mys-cart .cart_item .cart_description { grid-column: 2; grid-row: 1; }
#page #mys-cart .cart_description .product-name { padding: 0 !important; margin: 0 0 5px; font-size: 15px; line-height: 1.5; font-weight: 500; text-transform: none; }
#page #mys-cart .cart_description .product-name a { color: var(--mys-ink); text-transform: none; font-size: 15px !important; line-height: 1.5 !important; font-weight: 500; }
#page #mys-cart .cart_description small { display: block; color: var(--mys-muted); font-size: 12px; }
#page #mys-cart .cart_item .cart_avail { grid-column: 2; grid-row: 2; }
#page #mys-cart .cart_avail .label { display: inline-block; padding: 4px 8px; border: 0; border-radius: 5px; background: #edf3e9; color: #466b37; font-size: 11px; }
#page #mys-cart .cart_avail .label-danger { background: #f8ecea; color: #994c42; }
#page #mys-cart .cart_avail .label-warning { background: #fbf3e5; color: #886629; }
#page #mys-cart .cart_item .cart_unit { grid-column: 2; grid-row: 3; }
#page #mys-cart .cart_unit::before { content: attr(data-title); display: inline-block; margin-right: 6px; color: var(--mys-muted); font-size: 12px; }
#page #mys-cart .cart_unit ul { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 0; padding: 0; }
#page #mys-cart .cart_unit .price { font-size: 14px; font-weight: 400; }
#page #mys-cart .cart_unit .old-price { font-size: 12px; }
#page #mys-cart .cart_item .cart_quantity { grid-column: 2; grid-row: 4; display: grid; grid-template-columns: 40px 52px 40px; align-items: center; justify-content: start; }
#page #mys-cart .cart_quantity_input { grid-column: 2; grid-row: 1; width: 52px; height: 42px; margin: 0; padding: 0; border: 1px solid #dce1d6; border-radius: 0; background: white; text-align: center; font-size: 16px; color: var(--mys-ink); }
#page #mys-cart #cart_summary .cart_quantity_button { display: contents !important; }
#page #mys-cart .cart_quantity_button::before, #page #mys-cart .cart_quantity_button::after { display: none; }
#page #mys-cart .cart_quantity_button a { display: flex; align-items: center; justify-content: center; width: 40px; height: 42px; margin: 0; padding: 0; border: 1px solid #dce1d6; background: white; color: var(--mys-ink); box-shadow: none; }
#page #mys-cart .cart_quantity_down { grid-column: 1; grid-row: 1; border-radius: 8px 0 0 8px; }
#page #mys-cart .cart_quantity_up { grid-column: 3; grid-row: 1; border-radius: 0 8px 8px 0; }
#page #mys-cart .cart_quantity_button a span { padding: 0; border: 0; background: none; color: inherit; }
#page #mys-cart .cart_item .cart_total { grid-column: 3; grid-row: 1; text-align: right !important; }
#page #mys-cart .cart_total .price { white-space: nowrap; color: var(--mys-ink); font-size: 20px; font-weight: 600; }
#page #mys-cart .cart_item .cart_delete { grid-column: 3; grid-row: 4; text-align: right !important; }
#page #mys-cart .cart_quantity_delete { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid var(--mys-line); border-radius: 8px; color: #777e70; }
#page #mys-cart .cart_quantity_delete:hover { color: #974439; background: #f9eeec; }
#page #mys-cart #cart_summary tfoot tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
#page #mys-cart #cart_summary tfoot td { flex: 1; padding: 10px 0; text-align: left; color: var(--mys-muted); font-size: 13px; }
#page #mys-cart #cart_summary tfoot td.price { flex: 0 0 auto; text-align: right; color: var(--mys-ink); font-size: 15px; font-weight: 500; }
#page #mys-cart #cart_summary tfoot #cart_voucher { flex: 0 0 100%; padding: 0 0 18px; margin: 0 0 8px; border-bottom: 1px solid var(--mys-line); }
#page #mys-cart #cart_summary tfoot tr:last-child { margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--mys-line); }
#page #mys-cart #cart_summary .total_price_container, #page #mys-cart #total_price { color: var(--mys-ink); font-size: 23px; font-weight: 600; }
#page #mys-cart #cart_summary .total_price_container { font-size: 17px; text-transform: none; }
#page #mys-cart #voucher { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
#page #mys-cart .ms-voucher-heading { display: block; }
#page #mys-cart .ms-voucher-icon { display: none; }
#page #mys-cart #voucher h4 { margin: 0 0 8px; font-size: 16px; color: var(--mys-ink); }
#page #mys-cart #voucher p { padding: 0 !important; font-size: 12px; color: var(--mys-muted); }
#page #mys-cart .ms-voucher-fields { display: flex; gap: 8px; }
#page #mys-cart #discount_name { min-width: 0; width: 100%; height: 44px; border: 1px solid #dce1d6; border-radius: 8px; font-size: 14px; background: white; }
#page #mys-cart .ms-voucher-apply { flex-shrink: 0; min-height: 44px; padding: 10px 14px; border: 1px solid var(--mys-accent); border-radius: 8px; background: var(--mys-accent); color: white; }
#page #mys-cart .cart_navigation { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 24px 0; padding: 0 !important; }
#page #mys-cart .cart_navigation a, #page #mys-cart .mys-cart-return { display: inline-flex; align-items: center; justify-content: center; float: none; padding: 13px 20px; border: 1px solid var(--mys-line); border-radius: 8px; background: white; color: #46503f; font-size: 14px; font-weight: 500; line-height: 20px; text-transform: none; }
#page #mys-cart .cart_navigation .standard-checkout { order: 2; min-width: 300px; background: var(--mys-accent); border-color: var(--mys-accent); color: white; }
#page #mys-cart .cart_navigation a span { padding: 0; border: 0; background: none; color: inherit; font: inherit; }
#page #mys-cart .cart_navigation a:hover { background: #f0f3ed; color: #30372d; }
#page #mys-cart .cart_navigation .standard-checkout:hover, #page #mys-cart .ms-voucher-apply:hover { background: #4c054c; color: white; }
#page #mys-cart .cart_navigation i { margin: 0 8px; }
#page #mys-cart .alert { padding: 18px; border-radius: 8px; }
#page #mys-cart .alert-warning { background: #f7f8f5; border: 1px solid var(--mys-line); color: var(--mys-ink); }
#page #mys-cart .alert-danger { background: #fbefed; border: 1px solid #e4c6c1; color: #8d4038; }
#page #mys-cart #HOOK_SHOPPING_CART { margin-top: 20px; }
#page #mys-cart #HOOK_SHOPPING_CART .loyalty-block, #page #mys-cart #HOOK_SHOPPING_CART .alert-loyalty { padding: 12px; border: 0; box-shadow: none; background: #f7f8f5; border-radius: 8px; }
#page #mys-cart .cart_discount { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px; background: #f6edf4; border-radius: 8px; }
#page #mys-cart .cart_discount td { padding: 0; }
#page #mys-cart .cart_discount_name { flex: 1; }
#page #mys-cart .cart_discount_delete, #page #mys-cart .cart_discount_price:last-child { display: none; }
#page #mys-cart #order_step { display: flex; gap: 8px; margin-bottom: 24px; }
#page #mys-cart #order_step li { flex: 1; width: auto; border: 0; background: #f7f8f5; border-radius: 8px; }
#page #mys-cart #order_step li span, #page #mys-cart #order_step li a { padding: 12px; border: 0; background: none; color: var(--mys-muted); font-size: 13px; text-shadow: none; }
#page #mys-cart #order_step li.step_current { background: #f3ebf3; }
#page #mys-cart #order_step li.step_current span { color: var(--mys-accent); }
#page #mys-cart #order_step li::before, #page #mys-cart #order_step li::after, #page #mys-cart #order_step li > ::after { display: none; }
#page #mys-cart :is(a,button,input):focus-visible { outline: 2px solid var(--mys-accent); outline-offset: 3px; }
#mys-checkout-details { scroll-margin-top: 24px; }
@media (max-width: 991px) {
 #page #mys-cart #cart_summary { grid-template-columns: minmax(0,1fr); gap: 16px; }
 #page #mys-cart #cart_summary > tfoot { grid-column: 1; grid-row: auto; order: 2; }
 #page #mys-cart #cart_summary > tbody { order: 1; }
}
@media (max-width: 600px) {
 body#order-opc:has(#mys-cart) .delivery_option table, body#order-opc:has(#mys-cart) .delivery_option tbody { display: block; width: 100%; }
 body#order-opc:has(#mys-cart) .delivery_option tr { display: grid; grid-template-columns: 24px 52px minmax(0,1fr); }
 body#order-opc:has(#mys-cart) .delivery_option td { display: block; width: auto !important; min-width: 0; overflow-wrap: anywhere; padding: 6px; }
 body#order-opc:has(#mys-cart) .delivery_option td.delivery_option_price { grid-column: 2 / 4; }
 #page #mys-cart #cart_title { font-size: 27px; }
 #page #mys-cart #cart_summary tr.cart_item { grid-template-columns: 68px minmax(0,1fr); gap: 12px; padding: 14px; }
 #page #mys-cart .cart_product img { width: 68px; height: 84px; }
 #page #mys-cart .cart_item .cart_product { grid-row: 1 / 3; }
 #page #mys-cart .cart_item .cart_unit { grid-row: 3; }
 #page #mys-cart .cart_item .cart_quantity { grid-column: 1 / 3; grid-row: 4; }
 #page #mys-cart .cart_item .cart_total { grid-column: 2; grid-row: 5; }
 #page #mys-cart .cart_item .cart_delete { grid-column: 1; grid-row: 5; text-align: left !important; }
 #page #mys-cart #cart_summary tr.cart_item > td::before { float: none; width: auto; padding: 0; }
 #page #mys-cart #cart_summary tr.cart_item > td:not(.cart_unit)::before { display: none; }
 #page #mys-cart #cart_summary tfoot { padding: 18px; }
 #page #mys-cart .cart_navigation { flex-direction: column-reverse; align-items: stretch; }
 #page #mys-cart .cart_navigation a { width: 100%; min-width: 0; }
 #page #mys-cart #order_step { flex-wrap: wrap; }
 #page #mys-cart #order_step li { flex: 1 0 30%; }
}
