
/* Contact, account pages and product cards */
.contact-page, .auth-page { color: #253047; font-family: Arial, Helvetica, sans-serif; }
.contact-page h1, .contact-page h2, .auth-page h1, .store-section-heading h2, .store-new-heading h2 { font-family: Arial, Helvetica, sans-serif; font-weight: 750; }
.contact-page em, .auth-page em, .store-section-heading em, .store-new-heading em { color: #ff651f; font-style: normal; }
.store-primary { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; border: 0; border-radius: 25px; padding: 12px 24px; background: linear-gradient(110deg,#ff9b3c,#ff5b22); color: #fff; font-size: 14px; cursor: pointer; transition: box-shadow .2s, transform .2s; }
.store-primary:hover { color: #fff; box-shadow: 0 7px 18px #ff671f33; transform: translateY(-2px); }
.store-primary:focus-visible, .auth-page a:focus-visible, .store-cart-button:focus-visible { outline: 3px solid #ee9b65; outline-offset: 3px; }
.contact-page { padding: 24px 0 10px; background: radial-gradient(ellipse at 85% 0,#ffedda99,transparent 45%),linear-gradient(150deg,#fff5eb,#fff 60%); }
.store-breadcrumb { display: flex; gap: 10px; font-size: 12px; color: #707783; margin-bottom: 20px; }
.store-breadcrumb a { color: #535e6b; }
.contact-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.contact-intro h1 { font-size: 38px; letter-spacing: -1px; margin: 0 0 10px; }
.contact-intro p { font-size: 16px; color: #5f6975; margin: 0 0 4px; }
.contact-intro small { color: #757e8b; font-size: 12px; }
.contact-greeting { display: flex; gap: 25px; align-items: center; padding-right: 25px; color: #ff7327; }
.contact-greeting > i { font-size: 50px; color: #ffe1c3; transform: rotate(-12deg); }
.contact-greeting > span { font-family: "Segoe Print",cursive; font-style: italic; font-size: 22px; transform: rotate(-8deg); }
.contact-grid { display: grid; grid-template-columns: 38% minmax(0,1fr); gap: 22px; }
.contact-form-card { padding: 24px; background: #fff; border: 1px solid #f5ece4; border-radius: 15px; box-shadow: 0 8px 25px #8f592812; }
.contact-form-card h2 { font-size: 19px; margin: 0 0 10px; }
.contact-form-card h2 i { color: #ff6b23; margin-right: 9px; }
.contact-form-card > p { font-size: 11px; color: #89909a; margin-bottom: 18px; }
.contact-form-card .form-group { margin-bottom: 12px; }
.contact-field { display: flex; align-items: center; gap: 10px; border: 1px solid #e8e9ed; box-shadow: 0 2px 6px #25304703 inset; border-radius: 9px; padding: 8px 12px; }
.contact-field:focus-within { border-color: #ffab75; box-shadow: 0 0 0 3px #ff75200d; }
.contact-field > i { color: #8c9197; width: 22px; text-align: center; padding: 5px 0; border-radius: 5px; background: #f6f6f7; }
.contact-field input, .contact-field textarea { width: 100%; min-width: 0; border: 0; outline: none; background: transparent; font-size: 12px; color: #354153; }
.contact-field textarea { resize: vertical; min-height: 84px; }
.contact-message { align-items: flex-start; }
.contact-field input::placeholder, .contact-field textarea::placeholder { color: #979ca4; }
.contact-form-card .store-primary, .auth-form-card .store-primary { width: 100%; }
.store-captcha { margin: 12px 0; min-height: 78px; }
.contact-map { height: 377px; background: #edf0f1; border: 7px solid #fff; border-radius: 15px; box-shadow: 0 6px 18px #2530470c; overflow: hidden; }
.contact-map iframe { border: 0; width: 100% !important; height: 100% !important; display: block; }
.contact-details { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 10px; margin-top: 12px; }
.contact-details > div { display: flex; align-items: flex-start; gap: 9px; padding: 14px 10px; border-radius: 12px; background: #fcf7f3; }
.contact-details > div > i { flex: 0 0 33px; height: 33px; display: flex; align-items: center; justify-content: center; font-size: 18px; border-radius: 50%; color: #ff6b1f; background: #ffead4; }
.contact-details span { min-width: 0; }
.contact-details strong { display: block; font-size: 12px; margin-bottom: 4px; }
.contact-details small, .contact-details a { display: block; font-size: 10px; color: #717985; overflow-wrap: anywhere; }
.contact-details a { color: #253047; margin-bottom: 4px; }
.store-benefits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; padding: 30px 22px; }
.store-benefits > div { display: flex; align-items: center; justify-content: center; gap: 16px; }
.store-benefits > div + div { border-left: 1px solid #f0f1f3; }
.store-benefits i { font-size: 27px; color: #ff6b1f; }
.store-benefits strong, .store-benefits small { display: block; }
.store-benefits strong { font-size: 11px; color: #374151; }
.store-benefits small { font-size: 10px; margin-top: 4px; color: #9299a2; }
.contact-page .help-block, .auth-page .help-block, .contact-page .required { display: block; font-size: 11px; color: #c83922; margin: 5px 0 0; }
.has-error .contact-field, .auth-page .has-error .form-control { border-color: #e48275; }
.store-auth-body { background: #faf9f7; }
.auth-page { padding: 22px; min-height: 100vh; background: #faf9f7; }
.auth-scene { position: relative; isolation: isolate; overflow: hidden; max-width: 1060px; margin: auto; min-height: 750px; padding: 32px 40px 22px; border: 1px solid #ebe9e5; border-radius: 20px; background: radial-gradient(ellipse at 0 85%,#ffe4c5,transparent 38%),radial-gradient(ellipse at 100% 95%,#ffd7ad,transparent 40%),linear-gradient(120deg,#fff7f0,#fff 60%); }
.auth-scene::before { content: ""; position: absolute; z-index: -1; width: 850px; height: 500px; border: 40px solid #ffeedf; border-radius: 50%; right: -480px; bottom: 70px; transform: rotate(-35deg); opacity: .65; pointer-events: none; }
.auth-login .auth-scene { max-width: 690px; }
.auth-logo { display: inline-block; }
.auth-logo img { width: 150px; height: auto; }
.auth-back { display: block; color: #445061; font-size: 11px; margin: 7px 0 0 4px; }
.auth-back i { margin-right: 6px; }
.auth-handwriting { position: absolute; right: 38px; top: 51px; font-family: "Segoe Print",cursive; font-style: italic; font-size: 15px; line-height: 1.5; transform: rotate(-9deg); color: #ff6e26; }
.auth-heading { text-align: center; margin: 34px 0 22px; }
.auth-heading h1 { font-size: 30px; margin: 0 0 10px; letter-spacing: -.9px; }
.auth-heading p { font-size: 13px; color: #747c88; line-height: 1.6; margin: 0; }
.auth-form-card { position: relative; z-index: 1; max-width: 440px; margin: 0 auto; background: #ffffffed; border: 1px solid #f0eee9; border-radius: 19px; padding: 26px; box-shadow: 0 15px 30px #8154220b; }
.auth-page .form-group { margin: 0 0 16px; }
.auth-page label { font-size: 12px; margin: 0 0 7px; color: #3f4a5c; }
.auth-page label > i { margin-right: 8px; }
.auth-page .form-control { border: 1px solid #dfe3e9; border-radius: 11px; min-height: 42px; font-size: 12px; color: #354153; background: #fff; padding: 10px 13px; }
.auth-page .form-control:focus { border-color: #ffb783; box-shadow: 0 0 0 3px #ff782013; }
.auth-page .form-control::placeholder { color: #a8aeb7; }
.password-field { position: relative; }
.password-field .form-control { padding-right: 42px; }
.password-toggle { position: absolute; right: 4px; top: 3px; width: 36px; height: 36px; border: 0; background: transparent; color: #8b95a2; cursor: pointer; }
.password-toggle:focus-visible { outline: 2px solid #f89a61; border-radius: 8px; }
.auth-form-options { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0 0 16px; }
.auth-form-options label { display: flex; gap: 7px; align-items: center; margin: 0; color: #727b89; font-size: 10px; }
.auth-form-options input { accent-color: #ff7228; }
.auth-form-options a { color: #ff6125; font-size: 11px; }
.auth-divider { position: relative; margin: 20px 0; text-align: center; font-size: 11px; color: #8c93a0; }
.auth-divider::before { content: ""; position: absolute; height: 1px; width: 100%; background: #dde1e6; left: 0; top: 50%; }
.auth-divider span { position: relative; padding: 0 15px; background: #fff; }
.auth-secondary { display: flex; align-items: center; justify-content: center; gap: 10px; background: #e8e9ed; color: #293448; font-size: 13px; border-radius: 24px; min-height: 44px; }
.auth-secondary:hover { background: #dce1e7; color: #253047; }
.auth-decoration { position: absolute; width: 225px; left: -30px; bottom: 26px; z-index: 0; pointer-events: none; }
.auth-bottom-benefits { position: relative; z-index: 1; margin-top: 32px; margin-left: 85px; background: #fffffff0; border-radius: 35px; }
.auth-bottom-benefits .store-benefits { grid-template-columns: repeat(3,1fr); gap: 8px; padding: 19px 16px; }
.auth-bottom-benefits .store-benefits > div { gap: 8px; }
.auth-bottom-benefits .store-benefits > div:last-child { display: none; }
.auth-bottom-benefits .store-benefits i { font-size: 22px; }
.auth-bottom-benefits .store-benefits strong { font-size: 9px; }
.auth-bottom-benefits .store-benefits small { font-size: 8px; }
.auth-existing { position: absolute; top: 49px; right: 40px; font-size: 11px; color: #707b8a; }
.auth-existing a { color: #ff6628; text-decoration: underline; }
.register-shell { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 25px; }
.auth-register .auth-heading { text-align: left; margin: 15px 0 18px; }
.auth-register .auth-form-card { max-width: none; padding: 22px 25px 14px; }
.auth-register .auth-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.auth-register .auth-page .form-group { margin-bottom: 13px; }
.auth-register fieldset { margin: 0; padding: 0; border: 0; }
.auth-register fieldset + fieldset { border-top: 1px solid #eef0f4; padding-top: 12px; }
.auth-register legend { width: auto; font-size: 14px; font-weight: 600; margin-bottom: 12px; color: #29364b; }
.auth-register legend i { color: #ff6b28; margin-right: 7px; }
.auth-register .form-control { min-height: 36px; height: 36px; font-size: 11px; border-radius: 9px; }
.auth-register .password-toggle { height: 30px; width: 31px; }
.field-required { color: #fc6b39; }
.address-picker { border: 1px solid #dfe3e9; border-radius: 0 9px 9px 0; color: #ff6924; background: #fff7ef; cursor: pointer; width: 38px; }
.auth-register .input-group .form-control { border-radius: 9px 0 0 9px; }
.auth-side-benefits { padding-top: 67px; display: flex; flex-direction: column; gap: 26px; align-items: center; }
.auth-side-benefits > div { text-align: center; color: #515c6d; font-size: 10px; }
.auth-side-benefits i { width: 45px; height: 45px; display: flex; align-items: center; justify-content: center; border: 1px solid #ffe5c8; background: #fffaf4; border-radius: 50%; color: #ff6f26; font-size: 20px; margin: 0 auto 7px; box-shadow: 0 3px 10px #d7ab7610; }
.auth-register .auth-decoration { left: -23px; bottom: 3px; width: 175px; }
.auth-form-note { text-align: center; font-size: 10px; color: #8d96a3; margin: 12px 0 0; }
/* A single visible selling price, taken from the existing calculation. */
.box-product-item.store-product-card { position: relative; display: flex; flex-direction: column; height: auto; overflow: hidden; margin: 0 0 16px; border: 1px solid #eceeef; border-radius: 15px; background: #fff; padding: 5px; box-shadow: 0 3px 9px #24314609; transition: transform .25s,box-shadow .25s,border-color .25s; }
.box-product-item.store-product-card:hover { transform: translateY(-4px); box-shadow: 0 10px 22px #c6792720; border-color: #ffd3b6; }
.store-product-image { position: relative; overflow: hidden; aspect-ratio: 1.15; border-radius: 11px; background: #fff; }
.store-product-image a { display: block; height: 100%; }
.store-product-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s; }
.store-product-card:hover .store-product-image img { transform: scale(1.035); }
.store-product-info { padding: 9px 8px 6px; }
.store-product-info h3 { font-family: Arial,Helvetica,sans-serif; font-size: 12px; line-height: 1.45; font-weight: 500; margin: 0 0 6px; min-height: 35px; }
.store-product-info h3 a { color: #283852; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.store-product-info h3 a:hover { color: #f56a29; }
.store-product-rating { color: #ff7430; font-size: 10px; display: flex; gap: 3px; margin-bottom: 5px; }
.store-product-bottom { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.store-product-bottom .price--sale { font-size: 16px; color: #ff611f; font-weight: 750; line-height: 32px; }
.store-cart-button { flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid #ffa66d; border-radius: 11px; color: #ff641e; background: #fff; font-size: 13px; cursor: pointer; }
.store-cart-button:hover { color: #fff; background: #ff701f; }
.store-bestsellers { background: radial-gradient(ellipse at 0 0,#fff5e5,transparent 30%),#fff !important; }
.store-bestsellers .box-product { padding: 25px 0 8px; }
.store-bestsellers .box-product::before, .store-bestsellers .box-product::after { display: none; }
.store-section-heading { text-align: center; position: relative; margin-bottom: 21px !important; }
.store-bestsellers .store-section-heading::before {
    content: "";
    display: block;
    width: 46px;
    height: 3px;
    margin: 8px auto 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffbf8b, #ff6420, #ffbf8b);
}
.store-bestsellers .store-section-heading::after {
    content: "✦";
    display: block;
    margin: 5px auto -8px;
    color: #ff7a35;
    font-size: 11px;
    line-height: 1;
}
.store-bestsellers .block--title::before { display: none; }
.store-kicker { display: inline-block; font: 10px Arial,sans-serif; color: #f26826; border: 1px solid #ffe1c8; background: #fff1e4; border-radius: 20px; padding: 5px 13px; }
.store-section-heading h2 { font-size: 27px; color: #192b4f; margin: 10px 0 7px; }
.store-section-heading p { color: #9a9da4; font: 12px Arial,sans-serif; margin: 0; }
.store-bestsellers .mr-15px { margin: 0 -7px; }
.store-bestsellers .slick-slide { padding: 0 7px; }
.store-bestsellers .slick-list, .store-new-carousel .slick-list { padding: 8px 0; }
.store-bestsellers .slick-arrow, .store-new-carousel .slick-arrow { width: 34px; height: 34px; border: 1px solid #eceef1; border-radius: 50%; background: #fff; box-shadow: 0 3px 8px #20304816; z-index: 3; }
.store-bestsellers .slick-arrow::before, .store-new-carousel .slick-arrow::before { color: #293954; font-size: 23px; }
.store-bestsellers .slick-prev, .store-new-carousel .slick-prev { left: -12px; }
.store-bestsellers .slick-next, .store-new-carousel .slick-next { right: -12px; }
.store-new-products { background: #fff !important; padding: 0 0 22px; }
.store-new-panel { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 15px; background: radial-gradient(ellipse at 0 100%,#ffddb6,transparent 60%),linear-gradient(120deg,#fff5e9,#fffaf4); border: 1px solid #ffead8; border-radius: 22px; padding: 22px; }
.store-new-heading { padding: 9px 5px; position: relative; }
.store-new-heading h2 { font-size: 31px; line-height: 1.15; color: #1c3156; margin: 15px 0 10px; }
.store-new-heading p { color: #89909a; font: 11px/1.6 Arial,sans-serif; max-width: 205px; }
.store-new-heading .store-primary { display: inline-flex; min-height: 35px; padding: 9px 20px; font-size: 11px; }
.store-new-flourish { position: absolute; color: #ff8b40; bottom: 10px; right: 15px; font-size: 26px; }
.store-new-carousel { min-width: 0; align-self: center; }
.store-new-carousel .slick-slide { padding: 0 5px; }
.store-new-carousel .store-product-info { padding: 8px 5px 4px; }
.store-new-carousel .store-product-info h3 { font-size: 10px; min-height: 30px; }
.store-new-carousel .store-product-bottom .price--sale { font-size: 14px; }
.store-new-carousel .store-cart-button { flex-basis: 28px; width: 28px; height: 28px; border-radius: 9px; font-size: 11px; }
@media (max-width: 1199px) {
    .contact-intro h1 { font-size: 32px; }
    .contact-greeting > span { font-size: 18px; }
    .contact-details { grid-template-columns: 1fr; }
    .contact-details > div { padding: 10px; }
    .contact-details > div > i { flex-basis: 28px; height: 28px; }
    .contact-map { height: 310px; }
    .store-new-panel { grid-template-columns: 200px minmax(0,1fr); }
    .store-new-heading h2 { font-size: 27px; }
}
@media (max-width: 991px) {
    .contact-grid { grid-template-columns: 1fr; }
    .contact-form-card { max-width: none; }
    .contact-details { grid-template-columns: 1.2fr 1fr 1fr; }
    .contact-map { height: 340px; }
    .contact-greeting { display: none; }
    .store-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding: 24px 0; }
    .store-benefits > div { justify-content: flex-start; }
    .store-benefits > div + div { border: 0; }
    .auth-register .auth-scene { padding: 26px; }
    .register-shell { grid-template-columns: 70px minmax(0,1fr); gap: 16px; }
    .auth-existing { right: 26px; }
}
@media (max-width: 599px) {
    .contact-page { padding-top: 18px; }
    .contact-intro h1 { font-size: 27px; }
    .contact-intro p { font-size: 13px; }
    .contact-intro small { font-size: 11px; }
    .contact-form-card { padding: 18px; }
    .contact-form-card h2 { font-size: 17px; }
    .contact-details { grid-template-columns: 1fr; }
    .contact-map { height: 280px; }
    .store-captcha { overflow: auto; }
    .store-benefits strong { font-size: 10px; }
    .store-benefits small { font-size: 9px; }
    .store-benefits i { font-size: 23px; }
    .auth-page { padding: 10px; }
    .auth-scene, .auth-register .auth-scene { padding: 22px 17px; min-height: calc(100vh - 20px); border-radius: 16px; }
    .auth-logo img { width: 122px; }
    .auth-handwriting { display: none; }
    .auth-heading { margin: 30px 0 22px; }
    .auth-heading h1 { font-size: 25px; }
    .auth-heading p { font-size: 12px; }
    .auth-form-card, .auth-register .auth-form-card { padding: 22px 17px; border-radius: 15px; }
    .auth-form-options { gap: 5px; }
    .auth-form-options label { font-size: 9px; }
    .auth-form-options a { font-size: 10px; }
    .auth-decoration { display: none; }
    .auth-bottom-benefits { margin: 24px 0 0; }
    .auth-bottom-benefits .store-benefits { padding: 16px 8px; }
    .auth-bottom-benefits .store-benefits > div { display: block; text-align: center; }
    .auth-bottom-benefits .store-benefits i { margin-bottom: 7px; }
    .auth-bottom-benefits .store-benefits small { display: none; }
    .auth-existing { position: static; margin: 18px 0 0; font-size: 10px; }
    .register-shell { display: block; }
    .auth-side-benefits { display: none; }
    .auth-register .auth-heading { margin: 25px 0 18px; }
    .auth-register .auth-fields { grid-template-columns: 1fr; }
    .store-section-heading h2 { font-size: 21px; }
    .store-section-heading h2::before, .store-section-heading h2::after { display: none; }
    .store-bestsellers .box-product { padding-top: 20px; }
    .store-product-info { padding: 8px 4px 4px; }
    .store-product-info h3 { font-size: 11px; min-height: 32px; }
    .store-product-bottom .price--sale { font-size: 13px; }
    .store-cart-button { flex-basis: 28px; width: 28px; height: 28px; font-size: 11px; }
    .store-new-panel { display: block; padding: 17px 9px 8px; border-radius: 18px; }
    .store-new-heading { padding: 0 8px 12px; }
    .store-new-heading h2 { font-size: 24px; margin-top: 10px; }
    .store-new-heading h2 br { display: none; }
    .store-new-heading h2 em::before { content: " "; }
    .store-new-heading p { max-width: none; margin-bottom: 10px; }
    .store-new-heading .store-primary { padding: 8px 15px; }
    .store-new-carousel .store-product-bottom .price--sale { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .store-primary, .box-product-item.store-product-card, .store-product-image img { transition: none; }
    .store-primary:hover, .box-product-item.store-product-card:hover, .store-product-card:hover .store-product-image img { transform: none; }
}

/* Final alignment and decorative details */
.contact-location { display: flex; flex-direction: column; }
.contact-map { flex: 1; height: auto; min-height: 377px; }
.store-auth-body .btn-get-link-modal { display: none; }
.auth-page p, .auth-page label, .auth-page legend, .contact-form-card h2 { font-family: Arial, Helvetica, sans-serif; }
.store-bestsellers { position: relative; overflow: hidden; }
.store-bestsellers::before, .store-bestsellers::after { content: ""; position: absolute; width: 110px; height: 170px; background: url("../images/store-leaf.svg") center / contain no-repeat; pointer-events: none; opacity: .45; }
.store-bestsellers::before { left: -60px; top: -65px; transform: rotate(40deg); filter: blur(3px); }
.store-bestsellers::after { right: -60px; bottom: -85px; transform: rotate(-20deg); }
.store-bestsellers .container { position: relative; z-index: 1; }
.store-new-panel { position: relative; }
@media (max-width: 1199px) and (min-width: 992px) { .contact-map { min-height: 310px; } }
@media (max-width: 991px) { .contact-map { flex: none; height: 340px; min-height: 0; } }
@media (max-width: 599px) { .contact-map { height: 280px; } }

/* ===== Auth login layout refinement =====
   Visual-only changes: keeps all existing content and behavior intact. */
@media (min-width: 992px) {
    .auth-page.auth-login {
        min-height: 100vh;
        padding: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        background:
            radial-gradient(circle at 8% 14%, rgba(255, 229, 204, .72), transparent 28%),
            radial-gradient(circle at 92% 84%, rgba(255, 238, 220, .85), transparent 31%),
            #faf9f7;
    }

    .auth-login .auth-scene {
        width: min(1180px, calc(100vw - 48px));
        max-width: 1180px;
        min-height: min(760px, calc(100vh - 48px));
        margin: 0 auto;
        padding: 42px 58px 34px;
        display: grid;
        grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr);
        grid-template-rows: auto 1fr;
        column-gap: 72px;
        align-items: center;
        border-radius: 28px;
        box-shadow: 0 24px 70px rgba(37, 48, 71, .08);
    }

    .auth-login .auth-top {
        grid-column: 1 / -1;
        align-self: start;
        position: relative;
        z-index: 3;
    }

    .auth-login .auth-logo img {
        width: 188px;
    }

    .auth-login .auth-back {
        margin-top: 10px;
        font-size: 13px;
    }

    .auth-login .auth-handwriting {
        right: 62px;
        top: 48px;
        font-size: 20px;
        line-height: 1.45;
    }

    .auth-login .auth-heading {
        grid-column: 1;
        grid-row: 2;
        align-self: center;
        text-align: left;
        margin: -36px 0 90px;
        max-width: 470px;
        position: relative;
        z-index: 2;
    }

    .auth-login .auth-heading h1 {
        font-size: clamp(42px, 4vw, 58px);
        line-height: 1.08;
        letter-spacing: -1.8px;
        margin-bottom: 18px;
    }

    .auth-login .auth-heading p {
        font-size: 17px;
        line-height: 1.75;
        color: #677184;
    }

    .auth-login .auth-form-card {
        grid-column: 2;
        grid-row: 2;
        align-self: center;
        width: 100%;
        max-width: 520px;
        margin: 10px 0 0 auto;
        padding: 36px 38px;
        border-radius: 24px;
        box-shadow: 0 22px 55px rgba(61, 43, 25, .10);
        backdrop-filter: blur(6px);
    }

    .auth-login .auth-page .form-group,
    .auth-login .form-group {
        margin-bottom: 21px;
    }

    .auth-login label {
        font-size: 14px;
        margin-bottom: 9px;
    }

    .auth-login .form-control {
        min-height: 52px;
        border-radius: 14px;
        font-size: 14px;
        padding: 13px 16px;
    }

    .auth-login .password-field .form-control {
        padding-right: 52px;
    }

    .auth-login .password-toggle {
        top: 7px;
        right: 7px;
        width: 38px;
        height: 38px;
        font-size: 15px;
    }

    .auth-login .auth-form-options {
        margin: -1px 0 20px;
    }

    .auth-login .auth-form-options label,
    .auth-login .auth-form-options a {
        font-size: 12px;
    }

    .auth-login .store-primary {
        min-height: 52px;
        border-radius: 15px;
        font-size: 15px;
        font-weight: 700;
    }

    .auth-login .auth-divider {
        margin: 23px 0;
        font-size: 12px;
    }

    .auth-login .auth-secondary {
        min-height: 50px;
        border-radius: 15px;
        font-size: 14px;
        font-weight: 600;
    }

    .auth-login .auth-decoration {
        width: 310px;
        left: 38px;
        bottom: 28px;
        opacity: .98;
    }

    .auth-login .auth-scene::before {
        width: 980px;
        height: 560px;
        right: -465px;
        bottom: 10px;
        border-width: 52px;
        opacity: .72;
    }
}

/* One compact summary panel per product on phones. */
@media (max-width: 575.98px) {
    .xcost-cart-item {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0 !important;
        margin: 0 0 14px !important;
        padding: 12px !important;
        border: 1px solid #edf0f3 !important;
        border-radius: 24px !important;
        background: #fff !important;
        box-shadow: 0 12px 28px rgba(32, 43, 62, .08) !important;
    }

    .xcost-cart-product {
        grid-column: 1 / -1 !important;
        grid-template-columns: 122px minmax(0, 1fr) !important;
        gap: 14px !important;
        margin-bottom: 14px !important;
        padding: 4px 4px 14px !important;
        border-bottom: 0 !important;
    }

    .xcost-cart-product__image {
        width: 122px !important;
        height: 122px !important;
        border-radius: 15px !important;
    }

    .xcost-cart-product__info {
        align-self: center;
    }

    .xcost-cart-product__info h2 {
        margin: 0 0 12px !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
    }

    .xcost-cart-remove {
        gap: 6px !important;
        color: #ff5d28 !important;
        font-size: 12px !important;
        font-weight: 700;
    }

    .xcost-cart-price,
    .xcost-cart-quantity,
    .xcost-cart-subtotal {
        grid-column: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 142px !important;
        padding: 58px 7px 12px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fffaf6 !important;
        box-shadow: none !important;
        text-align: center !important;
    }

    .xcost-cart-price {
        border-radius: 16px 0 0 16px !important;
    }

    .xcost-cart-subtotal {
        border-radius: 0 16px 16px 0 !important;
    }

    .xcost-cart-quantity {
        border-right: 1px solid #eee8e2 !important;
        border-left: 1px solid #eee8e2 !important;
    }

    .xcost-cart-price::after,
    .xcost-cart-quantity::after,
    .xcost-cart-subtotal::after {
        top: 18px !important;
        left: 50% !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        transform: translateX(-50%) !important;
    }

    .xcost-cart-price::before,
    .xcost-cart-quantity::before,
    .xcost-cart-subtotal::before {
        margin: 0 0 8px !important;
        color: #737f90 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
    }

    .xcost-cart-quantity::before {
        align-self: auto !important;
    }

    .xcost-cart-page .xcost-cart-price .price--sale,
    .xcost-cart-page .xcost-cart-subtotal .price--sale {
        font-size: 17px !important;
        line-height: 1.1 !important;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group {
        grid-template-columns: 31px 38px 31px !important;
        width: 100px !important;
        max-width: 100% !important;
        height: 38px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .btn-default {
        width: 31px !important;
        min-width: 31px !important;
        height: 36px !important;
        font-size: 15px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .qty {
        width: 38px !important;
        min-width: 38px !important;
        height: 36px !important;
        font-size: 14px !important;
    }
}

/* Giữ 3 cột vừa vặn trên các điện thoại màn hình rất hẹp. */
@media (max-width: 359.98px) {
    .xcost-cart-product {
        grid-template-columns: 100px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .xcost-cart-product__image {
        width: 100px !important;
        height: 100px !important;
    }

    .xcost-cart-product__info h2 {
        font-size: 13px !important;
    }

    .xcost-cart-price,
    .xcost-cart-quantity,
    .xcost-cart-subtotal {
        min-height: 132px !important;
        padding-right: 4px !important;
        padding-left: 4px !important;
    }

    .xcost-cart-page .xcost-cart-price .price--sale,
    .xcost-cart-page .xcost-cart-subtotal .price--sale {
        font-size: 15px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group {
        grid-template-columns: 27px 34px 27px !important;
        width: 88px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .btn-default {
        width: 27px !important;
        min-width: 27px !important;
        font-size: 13px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .qty {
        width: 34px !important;
        min-width: 34px !important;
        font-size: 13px !important;
    }
}

@media (min-width: 992px) and (max-height: 780px) {
    .auth-page.auth-login { align-items: flex-start; }
    .auth-login .auth-scene {
        min-height: 690px;
        padding-top: 28px;
        padding-bottom: 24px;
    }
    .auth-login .auth-heading { margin-top: -20px; margin-bottom: 72px; }
    .auth-login .auth-heading h1 { font-size: 44px; }
    .auth-login .auth-heading p { font-size: 15px; }
    .auth-login .auth-form-card { padding: 28px 32px; }
    .auth-login .auth-decoration { width: 275px; }
}

@media (max-width: 991px) {
    .auth-login .auth-scene {
        max-width: 720px;
        margin: 0 auto;
    }
}

/* REGISTER PAGE - refined desktop layout without side benefits */
.auth-register .auth-scene {
    max-width: 1240px;
    min-height: calc(100vh - 44px);
    padding: 34px 48px 28px;
}

.auth-register .register-shell {
    display: block;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}

.auth-register .register-main {
    width: 100%;
}

.auth-register .auth-heading {
    text-align: center;
    margin: 10px 0 22px;
}

.auth-register .auth-heading h1 {
    font-size: 36px;
    line-height: 1.15;
    margin-bottom: 8px;
}

.auth-register .auth-heading p {
    font-size: 14px;
    line-height: 1.55;
}

.auth-register .auth-existing {
    top: 44px;
    right: 48px;
    font-size: 12px;
}

.auth-register .auth-form-card {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 28px 32px 18px;
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(67, 45, 25, 0.08);
}

.auth-register .auth-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
}

.auth-register .form-group {
    margin-bottom: 16px;
}

.auth-register fieldset + fieldset {
    margin-top: 2px;
    padding-top: 16px;
}

.auth-register legend {
    font-size: 15px;
    margin-bottom: 14px;
}

.auth-register label {
    font-size: 12px;
    margin-bottom: 7px;
}

.auth-register .form-control {
    height: 42px;
    min-height: 42px;
    padding: 10px 13px;
    font-size: 12px;
    border-radius: 10px;
}

.auth-register .password-toggle {
    top: 3px;
    width: 36px;
    height: 36px;
}

.auth-register .address-picker {
    width: 42px;
}

.auth-register .store-captcha {
    margin: 14px 0;
}

.auth-register .store-primary {
    min-height: 48px;
    font-size: 14px;
}

.auth-register .auth-form-note {
    margin-top: 12px;
    font-size: 10px;
}

.auth-register .auth-decoration {
    left: 10px;
    bottom: 8px;
    width: 155px;
    opacity: .98;
}

@media (max-width: 1199px) {
    .auth-register .auth-scene {
        padding: 30px 34px 24px;
    }

    .auth-register .auth-existing {
        top: 40px;
        right: 34px;
    }

    .auth-register .register-shell,
    .auth-register .auth-form-card {
        max-width: 900px;
    }
}

@media (max-width: 991px) {
    .auth-register .auth-scene {
        min-height: calc(100vh - 32px);
        padding: 26px 24px 22px;
    }

    .auth-register .register-shell,
    .auth-register .auth-form-card {
        max-width: 100%;
    }

    .auth-register .auth-existing {
        position: static;
        margin: 12px 0 0;
        text-align: right;
    }

    .auth-register .auth-heading {
        margin-top: 22px;
    }

    .auth-register .auth-decoration {
        display: none;
    }
}

@media (max-width: 599px) {
    .auth-register .auth-scene {
        padding: 20px 15px;
    }

    .auth-register .auth-heading {
        text-align: left;
        margin: 24px 0 18px;
    }

    .auth-register .auth-heading h1 {
        font-size: 28px;
    }

    .auth-register .auth-heading p {
        font-size: 12px;
    }

    .auth-register .auth-fields {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .auth-register .auth-form-card {
        padding: 22px 17px 16px;
        border-radius: 16px;
    }

    .auth-register .form-control {
        height: 42px;
        min-height: 42px;
    }
}


/* =========================================================
   HOME CATEGORY SHOWCASE - 2 SECTIONS
   ========================================================= */

.store-category-showcase {
    position: relative;
    overflow: hidden;
    padding: 10px 0 34px;
    background:
        radial-gradient(circle at 0 10%, rgba(255, 214, 173, .22), transparent 22%),
        radial-gradient(circle at 100% 88%, rgba(255, 210, 165, .22), transparent 24%),
        #fff;
}

.store-category-showcase::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    left: -170px;
    top: 70px;
    border-radius: 50%;
    background: rgba(255, 233, 208, .45);
    pointer-events: none;
}

.store-category-showcase::after {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -220px;
    bottom: 0;
    border-radius: 50%;
    background: rgba(255, 228, 198, .38);
    pointer-events: none;
}

.store-category-row {
    position: relative;
    padding: 28px 0 40px;
}

.store-category-row + .store-category-row {
    padding-top: 62px;
}

.store-category-row + .store-category-row::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 50%;
    width: 260px;
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, #efe4da 25%, #efe4da 75%, transparent);
}

.store-category-row + .store-category-row::after {
    content: "\f078";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: -7px;
    left: 50%;
    width: 42px;
    height: 42px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: #ff6b24;
    border: 1px solid #f3e8df;
    box-shadow: 0 6px 18px rgba(36, 48, 73, .08);
    z-index: 2;
}

.store-category-panel {
    display: grid;
    grid-template-columns: minmax(250px, 26%) minmax(0, 1fr);
    gap: 26px;
    align-items: stretch;
}

.store-category-banner {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    border-radius: 22px;
    border: 1px solid #ffe0c7;
    background: linear-gradient(145deg, #fff8ef, #ffe8cf);
    box-shadow: 0 12px 30px rgba(112, 67, 30, .09);
}

.store-category-banner-link {
    display: block;
    width: 100%;
    height: 100%;
}

.store-category-banner img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    transition: transform .35s ease;
}

.store-category-banner:hover img {
    transform: scale(1.025);
}

.store-category-banner::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 38%;
    pointer-events: none;
    background: linear-gradient(to top, rgba(51, 30, 17, .12), transparent);
}

.store-category-banner-action {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 2;
}

.store-category-banner-action .btn--more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 11px 22px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(115deg, #ff9b3c, #ff5c20);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 8px 20px rgba(255, 99, 31, .24);
    transition: transform .2s ease, box-shadow .2s ease;
}

.store-category-banner-action .btn--more:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(255, 99, 31, .3);
}

.store-category-products {
    min-width: 0;
}

.store-category-products .slick-list {
    margin: -8px;
    padding: 8px;
}

.store-category-products .slick-track {
    display: flex;
}

.store-category-products .slick-slide {
    height: auto;
    padding: 0 9px;
}

.store-category-products .slick-slide > div,
.store-category-slide {
    height: 100%;
}

.store-category-products .store-product-card {
    height: 100%;
    min-height: 360px;
    margin: 0;
    padding: 7px;
    border: 1px solid #ece9e5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(34, 48, 99, .07);
}

.store-category-products .store-product-card:hover {
    transform: translateY(-5px);
    border-color: #ffd1af;
    box-shadow: 0 14px 32px rgba(131, 80, 35, .14);
}

.store-category-products .store-product-image {
    aspect-ratio: 1.25 / 1;
    border-radius: 14px;
    background: #f9f9f9;
}

.store-category-products .store-product-image img {
    object-fit: cover;
}

.store-category-products .store-product-info {
    display: flex;
    flex-direction: column;
    min-height: 122px;
    padding: 12px 10px 9px;
}

.store-category-products .store-product-info h3 {
    min-height: 40px;
    margin-bottom: 7px;
    font-size: 13px;
    line-height: 1.5;
}

.store-category-products .store-product-rating {
    margin-top: auto;
    margin-bottom: 7px;
    font-size: 11px;
}

.store-category-products .store-product-bottom .price--sale {
    font-size: 18px;
    line-height: 34px;
}

.store-category-products .store-cart-button {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    font-size: 14px;
}

.store-category-products .slick-arrow {
    width: 42px;
    height: 42px;
    z-index: 4;
    border: 1px solid #f2e9e2;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 7px 18px rgba(31, 45, 72, .12);
}

.store-category-products .slick-arrow::before {
    opacity: 1;
    color: #ff6b24;
    font-size: 19px;
}

.store-category-products .slick-prev {
    left: -13px;
}

.store-category-products .slick-next {
    right: -13px;
}

.store-category-products .slick-arrow:hover {
    background: #ff6b24;
    border-color: #ff6b24;
}

.store-category-products .slick-arrow:hover::before {
    color: #fff;
}

.store-category-products .slick-disabled {
    opacity: .35;
}

@media (max-width: 1199px) {
    .store-category-panel {
        grid-template-columns: 240px minmax(0, 1fr);
        gap: 18px;
    }

    .store-category-banner img,
    .store-category-products .store-product-card {
        min-height: 330px;
    }
}

@media (max-width: 991px) {
    .store-category-panel {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 16px;
    }

    .store-category-banner img,
    .store-category-products .store-product-card {
        min-height: 315px;
    }
}

@media (max-width: 767px) {
    .store-category-panel {
        display: block;
    }

    .store-category-banner {
        height: 220px;
        margin-bottom: 18px;
    }

    .store-category-banner img {
        height: 220px;
        min-height: 0;
    }

    .store-category-banner-action {
        left: 16px;
        bottom: 16px;
    }

    .store-category-products .store-product-card {
        min-height: 310px;
    }

    .store-category-products .slick-prev {
        left: -4px;
    }

    .store-category-products .slick-next {
        right: -4px;
    }
}

@media (max-width: 480px) {
    .store-category-banner {
        height: 190px;
        border-radius: 17px;
    }

    .store-category-banner img {
        height: 190px;
    }

    .store-category-products .store-product-info h3 {
        font-size: 12px;
    }

    .store-category-products .store-product-bottom .price--sale {
        font-size: 15px;
    }
}

/* =========================================================
   HOME CATEGORY SHOWCASE - LAYOUT FIX V2
   Fix conflict with legacy style.css and widen desktop layout
   ========================================================= */

/* Legacy style.css applies gray section backgrounds and triangle separators.
   Disable them only inside this redesigned home category area. */
.store-category-showcase {
    background:
        radial-gradient(circle at -2% 12%, rgba(255, 217, 178, .28), transparent 18%),
        radial-gradient(circle at 102% 88%, rgba(255, 221, 184, .26), transparent 20%),
        linear-gradient(180deg, #fffdfa 0%, #ffffff 48%, #fffaf5 100%) !important;
}

.store-category-showcase .box-categories,
.store-category-showcase .box-categories:nth-child(even) {
    background: transparent !important;
    padding: 26px 0 42px !important;
}

.store-category-showcase .box-categories::before,
.store-category-showcase .box-categories:nth-child(even)::before {
    content: none !important;
    display: none !important;
    border: 0 !important;
}

/* The old global .container is max-width: 1200px.
   Widen only this section so it looks like the design mockup. */
.store-category-showcase .container {
    width: calc(100% - 72px) !important;
    max-width: 1580px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.store-category-row {
    padding: 26px 0 38px !important;
}

.store-category-row + .store-category-row {
    padding-top: 68px !important;
}

/* Clean centered divider between the two rows */
.store-category-row + .store-category-row::before {
    top: 15px !important;
    width: 360px !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent 0%, #eee6df 22%, #eee6df 78%, transparent 100%) !important;
}

.store-category-row + .store-category-row::after {
    top: -6px !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid #f1e7de !important;
    box-shadow: 0 7px 20px rgba(34, 48, 71, .08) !important;
}

.store-category-panel {
    grid-template-columns: clamp(290px, 21vw, 340px) minmax(0, 1fr) !important;
    gap: 26px !important;
    align-items: stretch !important;
}

.store-category-banner {
    min-height: 390px !important;
    border-radius: 24px !important;
    border-color: #ffdfc6 !important;
    box-shadow: 0 14px 34px rgba(116, 72, 35, .11) !important;
}

.store-category-banner img {
    min-height: 390px !important;
    height: 390px !important;
    object-fit: cover !important;
}

.store-category-banner-action {
    left: 24px !important;
    bottom: 24px !important;
}

.store-category-banner-action .btn--more {
    min-height: 46px !important;
    padding: 12px 24px !important;
    font-size: 13px !important;
}

.store-category-products {
    min-width: 0 !important;
    display: flex;
    align-items: stretch;
}

.store-category-products .block-categories--slider {
    width: 100%;
}

.store-category-products .slick-list {
    margin: -9px !important;
    padding: 9px !important;
}

.store-category-products .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

.store-category-products .slick-slide {
    height: auto !important;
    padding: 0 10px !important;
}

.store-category-products .slick-slide > div,
.store-category-products .store-category-slide {
    height: 100% !important;
}

.store-category-products .store-product-card {
    height: 390px !important;
    min-height: 390px !important;
    margin: 0 !important;
    padding: 7px !important;
    border-radius: 20px !important;
    box-shadow: 0 7px 22px rgba(31, 45, 72, .08) !important;
}

.store-category-products .store-product-image {
    height: 238px !important;
    aspect-ratio: auto !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}

.store-category-products .store-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.store-category-products .store-product-info {
    min-height: 137px !important;
    height: 137px !important;
    padding: 11px 10px 8px !important;
}

.store-category-products .store-product-info h3 {
    min-height: 42px !important;
    margin-bottom: 6px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.store-category-products .store-product-rating {
    font-size: 11px !important;
    margin-bottom: 5px !important;
}

.store-category-products .store-product-bottom .price--sale {
    font-size: 18px !important;
    line-height: 36px !important;
}

.store-category-products .store-cart-button {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
}

.store-category-products .slick-arrow {
    width: 44px !important;
    height: 44px !important;
    border-color: #f0e8e1 !important;
    box-shadow: 0 8px 22px rgba(31, 45, 72, .13) !important;
}

.store-category-products .slick-prev {
    left: -14px !important;
}

.store-category-products .slick-next {
    right: -14px !important;
}

@media (max-width: 1399px) {
    .store-category-showcase .container {
        width: calc(100% - 48px) !important;
    }

    .store-category-panel {
        grid-template-columns: 285px minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    .store-category-banner,
    .store-category-banner img,
    .store-category-products .store-product-card {
        min-height: 360px !important;
        height: 360px !important;
    }

    .store-category-products .store-product-image {
        height: 216px !important;
    }

    .store-category-products .store-product-info {
        min-height: 130px !important;
        height: 130px !important;
    }
}

@media (max-width: 991px) {
    .store-category-showcase .container {
        width: calc(100% - 32px) !important;
    }

    .store-category-panel {
        grid-template-columns: 235px minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    .store-category-banner,
    .store-category-banner img {
        min-height: 340px !important;
        height: 340px !important;
    }

    .store-category-products .store-product-card {
        min-height: 340px !important;
        height: 340px !important;
    }

    .store-category-products .store-product-image {
        height: 198px !important;
    }

    .store-category-products .store-product-info {
        min-height: 128px !important;
        height: 128px !important;
    }
}

@media (max-width: 767px) {
    .store-category-panel {
        display: block !important;
    }

    .store-category-banner {
        height: 235px !important;
        min-height: 235px !important;
        margin-bottom: 18px !important;
    }

    .store-category-banner img {
        height: 235px !important;
        min-height: 235px !important;
    }

    .store-category-products .store-product-card {
        height: 330px !important;
        min-height: 330px !important;
    }

    .store-category-products .store-product-image {
        height: 190px !important;
    }

    .store-category-products .store-product-info {
        height: 126px !important;
        min-height: 126px !important;
    }
}

@media (max-width: 479px) {
    .store-category-showcase .container {
        width: calc(100% - 20px) !important;
    }

    .store-category-banner {
        height: 205px !important;
        min-height: 205px !important;
        border-radius: 18px !important;
    }

    .store-category-banner img {
        height: 205px !important;
        min-height: 205px !important;
    }
}

/* =========================================================
   FIX ĐÚNG: BỎ MŨI TÊN TRÒN Ở GIỮA 2 HÀNG DANH MỤC
   - Giữ nguyên các phần khác
   - Không đụng vào tam giác/shape cũ của box-categories
   ========================================================= */
.store-category-row + .store-category-row::after {
    content: none !important;
    display: none !important;
}

/* Remove the decorative down-chevron between category rows on every screen. */
.store-category-showcase .store-category-row + .store-category-row::after {
    content: none !important;
    display: none !important;
}

/* Current category template: keep its title and CTA on top of the image. */
.store-category-showcase .store-category-banner-image {
    display: block;
    width: 100%;
    height: 100%;
}

.store-category-showcase .store-category-banner-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(145deg, rgba(255, 250, 242, .88) 0%, rgba(255, 250, 242, .38) 48%, rgba(43, 30, 17, .12) 100%);
}

.store-category-showcase .store-category-banner-content {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 22px;
    pointer-events: none;
}

.store-category-showcase .store-category-banner-content h2 {
    max-width: 92%;
    margin: 0;
    color: #132c5d;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(21px, 1.75vw, 30px);
    font-weight: 800;
    line-height: 1.08;
    text-transform: uppercase;
}

.store-category-showcase .store-category-banner-content h2::after {
    content: "";
    display: block;
    width: 42px;
    height: 4px;
    margin-top: 13px;
    border-radius: 99px;
    background: #ff6925;
}

.store-category-showcase .store-category-banner-content .btn--more {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 11px 19px;
    border-radius: 999px;
    background: linear-gradient(115deg, #ff9b3c, #ff5c20);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 8px 20px rgba(255, 99, 31, .24);
    pointer-events: auto;
}

.store-category-showcase .store-category-banner-content .btn--more:hover {
    color: #fff;
    transform: translateY(-2px);
}

@media (max-width: 767px) {
    .store-category-showcase .store-category-banner-content {
        padding: 17px;
    }

    .store-category-showcase .store-category-banner-content h2 {
        font-size: 23px;
    }

    .store-category-showcase .store-category-banner-content .btn--more {
        min-height: 40px;
        padding: 9px 15px;
        font-size: 11px;
    }
}

/* =========================================================
   XCOST - CART PAGE REDESIGN
   Desktop / Laptop / Tablet / Mobile
   ========================================================= */

.xcost-cart-page {
    --cart-navy: #182557;
    --cart-navy-2: #243777;
    --cart-orange: #ff641f;
    --cart-orange-2: #ff8a2c;
    --cart-text: #293548;
    --cart-muted: #7d8795;
    --cart-border: #e9edf2;
    --cart-bg: #fffaf5;
    --cart-soft: #f7f8fb;

    overflow-x: hidden;
    color: var(--cart-text);
    font-family: Arial, Helvetica, sans-serif;
    background:
        radial-gradient(circle at -4% 10%, rgba(255, 226, 199, .42) 0 150px, transparent 151px),
        radial-gradient(circle at 104% 88%, rgba(255, 235, 216, .42) 0 170px, transparent 171px),
        linear-gradient(180deg, #fff 0%, #fffdfa 100%);
}

.xcost-cart-page *,
.xcost-cart-page *::before,
.xcost-cart-page *::after {
    box-sizing: border-box;
}

.xcost-cart-section {
    padding: 34px 0 54px;
}

.xcost-cart-page .container {
    position: relative;
}

/* ---------- heading ---------- */

.xcost-cart-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.xcost-cart-heading__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 5px;
    color: var(--cart-orange);
    font-size: 12px;
    font-weight: 700;
}

.xcost-cart-heading h1 {
    margin: 0;
    color: var(--cart-navy);
    font-family: "Times New Roman", Times, serif;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.8px;
    text-transform: uppercase;
}

.xcost-cart-heading__count {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 7px 13px;
    border: 1px solid #f0e7df;
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    color: #737d8b;
    box-shadow: 0 5px 16px rgba(44, 52, 68, .04);
    font-size: 12px;
}

.xcost-cart-heading__count strong {
    color: var(--cart-orange);
    font-size: 15px;
}

/* ---------- main layout ---------- */

.xcost-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 26px;
    align-items: start;
}

.xcost-cart-list-card,
.xcost-cart-summary {
    border: 1px solid var(--cart-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(32, 43, 62, .055);
}

.xcost-cart-list-card {
    min-width: 0;
    overflow: hidden;
}

/* ---------- desktop labels ---------- */

.xcost-cart-list-head {
    display: grid;
    grid-template-columns: minmax(320px, 1.65fr) minmax(110px, .58fr) 150px minmax(125px, .62fr);
    gap: 16px;
    align-items: center;
    min-height: 58px;
    padding: 0 22px;
    border-bottom: 1px solid var(--cart-border);
    background: linear-gradient(180deg, #fff 0%, #fffcf8 100%);
    color: #4d596b;
    font-size: 12px;
    font-weight: 700;
}

.xcost-cart-list-head span:not(:first-child) {
    text-align: center;
}

/* ---------- item ---------- */

.xcost-cart-items {
    width: 100%;
}

.xcost-cart-item {
    display: grid;
    grid-template-columns: minmax(320px, 1.65fr) minmax(110px, .58fr) 150px minmax(125px, .62fr);
    gap: 16px;
    align-items: center;
    min-width: 0;
    padding: 20px 22px;
    border-bottom: 1px solid var(--cart-border);
    transition: background .2s ease;
}

.xcost-cart-item:hover {
    background: #fffdf9;
}

.xcost-cart-product {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-width: 0;
}

.xcost-cart-product__image {
    position: relative;
    display: block;
    width: 116px;
    height: 116px;
    overflow: hidden;
    border: 1px solid #eceff3;
    border-radius: 14px;
    background: #f8f8f7;
}

.xcost-cart-product__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.xcost-cart-product__image:hover img {
    transform: scale(1.035);
}

.xcost-cart-product__info {
    min-width: 0;
}

.xcost-cart-product__info h2 {
    margin: 0 0 13px;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;
}

.xcost-cart-product__info h2 a {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cart-navy);
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.xcost-cart-product__info h2 a:hover {
    color: var(--cart-orange);
}

.xcost-cart-remove {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    color: #9a6262 !important;
    font-size: 11px !important;
    text-decoration: none;
}

.xcost-cart-remove i {
    color: #ef6b5f;
}

.xcost-cart-remove:hover {
    color: #d94a3f !important;
}

.xcost-cart-cell {
    min-width: 0;
    text-align: center;
}

.xcost-cart-page .xcost-cart-price .price--sale,
.xcost-cart-page .xcost-cart-subtotal .price--sale {
    margin: 0 !important;
    color: var(--cart-orange) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.xcost-cart-page .xcost-cart-subtotal .price--sale {
    font-size: 17px !important;
}

/* ---------- quantity ---------- */

.xcost-cart-page .xcost-cart-quantity .input-group {
    display: grid !important;
    grid-template-columns: 40px 54px 40px;
    width: 134px !important;
    max-width: 134px !important;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #dfe5eb !important;
    border-radius: 999px !important;
    background: #fff;
}

.xcost-cart-page .xcost-cart-quantity .input-group-btn {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.xcost-cart-page .xcost-cart-quantity .input-group-btn:first-child {
    border-right: 1px solid #edf0f3;
}

.xcost-cart-page .xcost-cart-quantity .input-group-btn:last-child {
    border-left: 1px solid #edf0f3;
}

.xcost-cart-page .xcost-cart-quantity .btn-default {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 40px !important;
    height: 42px !important;
    min-width: 40px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #43506a !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.xcost-cart-page .xcost-cart-quantity .btn-default:hover {
    background: #fff6ef !important;
    color: var(--cart-orange) !important;
}

.xcost-cart-page .xcost-cart-quantity .qty {
    width: 54px !important;
    height: 42px !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: var(--cart-navy);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    box-shadow: none !important;
    -moz-appearance: textfield;
}

.xcost-cart-page .xcost-cart-quantity .qty::-webkit-outer-spin-button,
.xcost-cart-page .xcost-cart-quantity .qty::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

/* ---------- list footer ---------- */

.xcost-cart-list-footer {
    display: flex;
    justify-content: flex-start;
    padding: 18px 22px 20px;
}

/* ---------- buttons ---------- */

.xcost-cart-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.xcost-cart-btn:hover {
    transform: translateY(-2px);
    text-decoration: none !important;
}

.xcost-cart-btn--primary {
    background: linear-gradient(110deg, var(--cart-orange-2), var(--cart-orange)) !important;
    color: #fff !important;
    box-shadow: 0 9px 20px rgba(255, 100, 31, .18);
}

.xcost-cart-btn--primary:hover {
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(255, 100, 31, .24);
}

.xcost-cart-btn--secondary,
.xcost-cart-btn--update {
    border-color: #dfe4eb !important;
    background: #fff !important;
    color: #47536a !important;
}

.xcost-cart-btn--secondary:hover,
.xcost-cart-btn--update:hover {
    border-color: #ffbd91 !important;
    background: #fff8f2 !important;
    color: var(--cart-orange) !important;
}

/* ---------- summary ---------- */

.xcost-cart-summary {
    position: sticky;
    top: 18px;
    overflow: hidden;
    padding: 0 !important;
    background:
        radial-gradient(circle at 112% -10%, rgba(255, 222, 192, .45) 0 120px, transparent 121px),
        #fff !important;
}

.xcost-cart-summary__top {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 22px 22px 17px;
    border-bottom: 1px solid var(--cart-border);
}

.xcost-cart-summary__icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff0e2;
    color: var(--cart-orange);
    font-size: 17px;
}

.xcost-cart-summary__top span {
    display: block;
    margin-bottom: 2px;
    color: #8a929d;
    font-size: 10px;
}

.xcost-cart-summary__top h2 {
    margin: 0;
    color: var(--cart-navy);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.xcost-cart-page .xcost-cart-summary__total {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 74px;
    padding: 15px 22px !important;
    overflow: visible !important;
}

.xcost-cart-page .xcost-cart-summary__total .title,
.xcost-cart-page .xcost-cart-summary__total .price {
    float: none !important;
    line-height: 1.3 !important;
}

.xcost-cart-page .xcost-cart-summary__total .title {
    color: #576275 !important;
    font-size: 13px !important;
}

.xcost-cart-page .xcost-cart-summary__total .price {
    color: var(--cart-orange) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    white-space: nowrap;
}

.xcost-cart-summary__actions {
    display: grid;
    gap: 10px;
    padding: 0 22px 22px;
}

.xcost-cart-summary__actions .xcost-cart-btn {
    width: 100%;
    min-height: 48px;
}

/* ---------- empty cart ---------- */

.xcost-cart-empty {
    max-width: 660px;
    margin: 18px auto;
    padding: 52px 28px;
    border: 1px solid var(--cart-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(31, 43, 64, .06);
    text-align: center;
}

.xcost-cart-empty__icon {
    width: 78px;
    height: 78px;
    margin: 0 auto 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #fff2e5, #fff8f2);
    color: var(--cart-orange);
    font-size: 29px;
}

.xcost-cart-empty h1 {
    margin: 0 0 10px;
    color: var(--cart-navy);
    font-size: 30px;
    font-weight: 800;
}

.xcost-cart-empty p {
    margin: 0 0 24px;
    color: var(--cart-muted);
    font-size: 13px;
}

/* =========================================================
   LAPTOP: 992 - 1199
   ========================================================= */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .xcost-cart-layout {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 18px;
    }

    .xcost-cart-list-head,
    .xcost-cart-item {
        grid-template-columns: minmax(205px, 1fr) 100px 76px 100px;
        gap: 8px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .xcost-cart-product {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 11px;
    }

    .xcost-cart-product__image {
        width: 82px;
        height: 82px;
    }

    .xcost-cart-product__info h2 {
        font-size: 12px;
        line-height: 1.38;
    }

    .xcost-cart-page .xcost-cart-price .price--sale,
    .xcost-cart-page .xcost-cart-subtotal .price--sale {
        font-size: 13px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group {
        grid-template-columns: 25px 26px 25px !important;
        width: 76px !important;
        max-width: 76px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .btn-default {
        width: 25px !important;
        min-width: 25px !important;
        font-size: 15px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .qty {
        width: 26px !important;
        min-width: 26px !important;
    }

    .xcost-cart-summary__top,
    .xcost-cart-page .xcost-cart-summary__total,
    .xcost-cart-summary__actions {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .xcost-cart-summary__top h2 {
        font-size: 20px;
    }

    .xcost-cart-page .xcost-cart-summary__total .price {
        font-size: 19px !important;
    }

    .xcost-cart-summary__top {
        padding-left: 18px;
        padding-right: 18px;
    }

    .xcost-cart-page .xcost-cart-summary__total,
    .xcost-cart-summary__actions {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* =========================================================
   TABLET: <= 991
   ========================================================= */
@media (max-width: 991.98px) {
    .xcost-cart-section {
        padding: 24px 0 38px;
    }

    .xcost-cart-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .xcost-cart-summary {
        position: static;
    }

    .xcost-cart-list-head {
        display: none;
    }

    .xcost-cart-item {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
        padding: 18px;
    }

    .xcost-cart-product {
        grid-column: 1 / -1;
        grid-template-columns: 108px minmax(0, 1fr);
        padding-bottom: 15px;
        border-bottom: 1px dashed #e4e8ed;
    }

    .xcost-cart-product__image {
        width: 108px;
        height: 108px;
    }

    .xcost-cart-cell {
        position: relative;
        padding-top: 23px;
    }

    .xcost-cart-cell::before {
        content: attr(data-label);
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        color: #9198a4;
        font-size: 10px;
        font-weight: 600;
        white-space: nowrap;
    }

    .xcost-cart-summary__actions {
        grid-template-columns: 1fr 1fr;
    }
}

/* =========================================================
   MOBILE: <= 575
   ========================================================= */
@media (max-width: 575.98px) {
    .xcost-cart-section {
        padding: 18px 0 28px;
    }

    .xcost-cart-page .container {
        width: 100%;
        max-width: none;
        padding-left: 12px;
        padding-right: 12px;
    }

    .xcost-cart-heading {
        align-items: center;
        margin-bottom: 16px;
    }

    .xcost-cart-heading__eyebrow {
        display: none;
    }

    .xcost-cart-heading h1 {
        font-size: 27px;
    }

    .xcost-cart-heading__count {
        min-height: 34px;
        padding: 6px 10px;
    }

    .xcost-cart-list-card,
    .xcost-cart-summary {
        border-radius: 16px;
    }

    .xcost-cart-item {
        grid-template-columns: 1fr 1fr;
        gap: 13px 10px;
        padding: 14px;
    }

    .xcost-cart-product {
        grid-column: 1 / -1;
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 12px;
        padding-bottom: 13px;
    }

    .xcost-cart-product__image {
        width: 92px;
        height: 92px;
        border-radius: 11px;
    }

    .xcost-cart-product__info h2 {
        margin-bottom: 9px;
        font-size: 13px;
        line-height: 1.4;
    }

    .xcost-cart-remove {
        font-size: 10px !important;
    }

    .xcost-cart-price,
    .xcost-cart-subtotal {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
        text-align: left;
    }

    .xcost-cart-price::before,
    .xcost-cart-subtotal::before {
        left: 0;
        transform: none;
    }

    .xcost-cart-quantity {
        grid-column: 1 / -1;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        min-height: 66px;
        padding-top: 0;
    }

    .xcost-cart-quantity::before {
        position: static;
        transform: none;
        flex: 0 0 auto;
        color: #737d8b;
        font-size: 11px;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group {
        margin: 0;
    }

    .xcost-cart-page .xcost-cart-price .price--sale {
        font-size: 14px !important;
    }

    .xcost-cart-page .xcost-cart-subtotal .price--sale {
        font-size: 16px !important;
    }

    .xcost-cart-list-footer {
        padding: 14px;
    }

    .xcost-cart-list-footer .xcost-cart-btn {
        width: 100%;
    }

    .xcost-cart-summary__top {
        padding: 17px;
    }

    .xcost-cart-summary__top h2 {
        font-size: 19px;
    }

    .xcost-cart-page .xcost-cart-summary__total {
        min-height: 66px;
        padding: 13px 17px !important;
    }

    .xcost-cart-page .xcost-cart-summary__total .price {
        font-size: 20px !important;
    }

    .xcost-cart-summary__actions {
        grid-template-columns: 1fr;
        padding: 0 17px 17px;
    }

    .xcost-cart-btn {
        min-height: 46px;
    }

    .xcost-cart-empty {
        margin: 6px auto;
        padding: 38px 18px;
        border-radius: 18px;
    }

    .xcost-cart-empty h1 {
        font-size: 25px;
    }
}

/* =========================================================
   CHECKOUT REDESIGN
   ========================================================= */
.xcost-checkout-page {
    padding: 18px 0 38px;
}
.xcost-checkout-shell {
    margin: 24px 0 40px !important;
    font-family: Arial, Helvetica, sans-serif !important;
}
.xcost-checkout-heading {
    max-width: 720px;
    margin: 0 auto 28px;
}
.xcost-checkout-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 6px 16px;
    border-radius: 999px;
    background: #fff4e9;
    border: 1px solid #ffe2c8;
    color: #f26a26;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 12px;
}
.xcost-checkout-page .box-checkout h2 {
    margin: 0 0 10px !important;
    font-family: "Quicksand", Arial, sans-serif !important;
    font-size: 48px !important;
    line-height: 1.08;
    color: #1d2f57;
}
.xcost-checkout-heading p {
    margin: 0;
    color: #6d7684;
    font-size: 15px;
    line-height: 1.7;
}
.xcost-checkout-layout {
    align-items: flex-start;
}
.xcost-checkout-panel {
    background: #fff;
    border: 1px solid #efe6dd;
    border-radius: 24px;
    box-shadow: 0 16px 45px rgba(46, 33, 16, 0.06);
}
.xcost-checkout-form-panel {
    padding: 24px;
}
.xcost-summary-panel {
    padding: 20px;
    background: linear-gradient(180deg, #fffdfb 0%, #fff 100%);
}
.xcost-summary-sticky {
    position: sticky;
    top: 20px;
}
.xcost-checkout-panel-head {
    margin-bottom: 20px;
}
.xcost-checkout-page .checkout-warpper h3.title,
.xcost-checkout-page .block-totalcart h3.title {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #1d2f57 !important;
    font-size: 24px !important;
    line-height: 1.25;
    text-transform: none !important;
    font-family: "Quicksand", Arial, sans-serif !important;
}
.xcost-checkout-page .checkout-warpper h3.title::before,
.xcost-checkout-page .block-totalcart h3.title::before {
    display: none !important;
}
.xcost-checkout-panel-head p,
.xcost-summary-head p,
.xcost-section-note {
    margin: 0;
    color: #7e8796;
    font-size: 14px;
    line-height: 1.7;
}
.xcost-checkout-card {
    padding: 22px;
    border: 1px solid #f0e5da;
    border-radius: 18px;
    background: #fffdfa;
}
.xcost-checkout-form-grid {
    margin-bottom: 18px;
}
.xcost-checkout-page .form-group {
    margin-bottom: 16px;
}
.xcost-checkout-page label {
    display: block;
    margin-bottom: 8px;
    color: #27344c;
    font-size: 14px;
    font-weight: 700;
}
.xcost-checkout-page abbr.required {
    color: #ff6a22;
    text-decoration: none;
}
.xcost-checkout-page .checkout-warpper .form-control,
.xcost-checkout-page .modal-content .form-control {
    min-height: 50px;
    border: 1px solid #e5e8ef !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 14px !important;
    color: #23314d !important;
    padding: 12px 16px !important;
}
.xcost-checkout-page textarea.form-control {
    min-height: 130px;
    resize: vertical;
}
.xcost-checkout-page .checkout-warpper .form-control:focus,
.xcost-checkout-page .modal-content .form-control:focus {
    border-color: #ffb37b !important;
    box-shadow: 0 0 0 3px rgba(255, 115, 39, 0.12) !important;
}
.xcost-address-card {
    margin-bottom: 18px;
    overflow: hidden;
    border: 1px solid #f0e6dd !important;
    border-radius: 20px;
    background: #fffdfa;
}
.xcost-address-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid #f4ebe4;
}
.xcost-address-card__head h4,
.box-address-on-checkout h4 {
    margin: 0 0 4px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #1e2f55 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}
.xcost-address-card__head p {
    margin: 0;
    color: #7d8796;
    font-size: 13px;
}
.xcost-checkout-page .box-address-on-checkout .box-choices-address {
    padding: 18px 20px !important;
}
.xcost-checkout-page .box-address-on-checkout .box-choices-address .block-address-content {
    height: auto !important;
    max-height: 255px;
    overflow: hidden;
}
.xcost-checkout-page .box-address-on-checkout .box-choices-address.expanded .block-address-content {
    max-height: none;
}
.xcost-checkout-page .box-address-on-checkout .box-choices-address .address-item .address-option {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding: 16px 16px 16px 40px !important;
    border: 1px solid #ece4db !important;
    border-radius: 16px;
    background: #fff;
}
.xcost-checkout-page .box-address-on-checkout .box-choices-address .address-item:hover .address-option {
    background: #fffaf5 !important;
    border-color: #ffd6b2 !important;
}
.xcost-checkout-page .box-address-on-checkout .box-choices-address .address-item.active .address-option {
    border-color: #ff7b2f !important;
    box-shadow: 0 8px 20px rgba(255, 123, 47, 0.12) !important;
}
.xcost-checkout-page .box-address-on-checkout .box-choices-address .address-item.active:before {
    left: 14px !important;
}
.xcost-checkout-page .box-address-on-checkout .box-choices-address .address-item .box-address {
    font-size: 13px !important;
    line-height: 1.65;
    color: #536079;
}
.xcost-checkout-page .box-address-on-checkout .box-choices-address .address-item .box-address .username {
    font-size: 15px;
    color: #1c2e54;
    margin-bottom: 6px !important;
}
.xcost-empty-address {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 16px;
    border: 1px dashed #ffd1ae;
    border-radius: 16px;
    color: #7d8796;
    background: #fff;
}
.xcost-empty-address i {
    color: #ff7a35;
}
.xcost-checkout-page .view-all-address .btn {
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}
.xcost-checkout-page .view-all-address .btn-info,
.xcost-place-order-btn {
    background: linear-gradient(110deg, #ff9b3c, #ff5b22) !important;
    border: 0 !important;
    color: #fff !important;
}
.xcost-checkout-page .view-all-address .btn-outline-secondary {
    border-color: #dfe4eb;
    color: #4b5871;
    background: #fff;
}
.xcost-checkout-extra-block {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.xcost-checkout-note .title {
    margin-bottom: 6px !important;
}
.xcost-order-table-wrap {
    padding: 16px 0 8px;
}
.xcost-checkout-page .block-totalcart table {
    width: 100%;
    margin: 0 !important;
    font-size: 14px !important;
}
.xcost-checkout-page .block-totalcart table thead {
    border-bottom: 1px solid #e9ecef !important;
}
.xcost-checkout-page .block-totalcart table th,
.xcost-checkout-page .block-totalcart table td {
    padding: 14px 0 !important;
    vertical-align: top;
    font-size: 14px !important;
}
.xcost-checkout-page .block-totalcart table th {
    color: #6f7785 !important;
    font-weight: 700;
}
.xcost-checkout-page .block-totalcart .product-total,
.xcost-checkout-page .block-totalcart .cart-item-checkout td,
.xcost-checkout-page .block-totalcart .cart-subtotal td,
.xcost-checkout-page .block-totalcart .order-total td {
    text-align: right !important;
}
.xcost-checkout-page .block-totalcart .cart-item-checkout {
    border-bottom: 1px solid #f0f2f6 !important;
}
.xcost-checkout-page .block-totalcart .cart-item-checkout td.name-product-checkout {
    text-align: left !important;
    padding-right: 14px !important;
}
.xcost-order-name {
    display: block;
    color: #25324f;
    font-weight: 600;
    line-height: 1.55;
}
.xcost-order-qty {
    display: inline-flex;
    margin-top: 6px;
    color: #ff6a22;
    font-size: 13px;
}
.xcost-checkout-page .block-totalcart .cart-subtotal,
.xcost-checkout-page .block-totalcart .order-total {
    border-top: 1px solid #eceff3 !important;
}
.xcost-checkout-page .block-totalcart .order-total {
    border-bottom: 0 !important;
}
.xcost-checkout-page .block-totalcart .order-total th,
.xcost-checkout-page .block-totalcart .order-total td,
.xcost-checkout-page .block-totalcart .order-total .total-value {
    color: #1e2f55 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
}
.xcost-checkout-page .block-totalcart .fee-value {
    display: inline-block;
    max-width: 210px;
    color: #6f7785;
    line-height: 1.55;
}
.xcost-payment-title {
    margin: 6px 0 12px;
    color: #1f3158;
    font-size: 16px;
    font-weight: 700;
}
.xcost-checkout-page .box-payment {
    margin-top: 18px;
}
.xcost-checkout-page .box-payment ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.xcost-checkout-page .box-payment ul li {
    margin: 0 0 12px !important;
    padding: 16px 16px 14px !important;
    border: 1px solid #f0e6dd !important;
    border-radius: 18px;
    background: #fffdfa;
}
.xcost-checkout-page .box-payment input[type="radio"] {
    margin: 3px 10px 0 0 !important;
    accent-color: #ff6a22;
}
.xcost-checkout-page .box-payment label {
    display: inline-block;
    margin: 0 !important;
    padding-left: 0 !important;
    color: #24314d;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}
.xcost-checkout-page .box-payment .block-content {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #eadfd5;
    color: #6f7785;
    line-height: 1.7;
    font-size: 13px;
}
.xcost-checkout-page .place-order {
    margin-top: 22px;
}
.xcost-place-order-btn {
    width: 100%;
    min-height: 54px;
    border-radius: 999px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px;
    box-shadow: 0 14px 28px rgba(255, 107, 38, 0.24);
}
.xcost-place-order-note {
    margin: 12px 0 0;
    text-align: center;
    color: #8a92a0;
    font-size: 12px;
    line-height: 1.6;
}
.xcost-checkout-page .modal-content {
    border: 0;
    border-radius: 18px;
    overflow: hidden;
}
.xcost-checkout-page .modal-header {
    background: #fff7f0;
    border-bottom: 1px solid #f0e5db;
}
.xcost-checkout-page .modal-title {
    color: #1f3158;
    font-weight: 700;
}
.xcost-checkout-page .modal-footer .btn {
    border-radius: 999px;
    min-width: 110px;
}

@media (max-width: 1199px) {
    .xcost-checkout-page .box-checkout h2 {
        font-size: 42px !important;
    }
}

@media (max-width: 991px) {
    .xcost-checkout-shell {
        margin: 18px 0 28px !important;
    }
    .xcost-checkout-form-panel,
    .xcost-summary-panel {
        padding: 18px;
    }
    .xcost-summary-panel {
        margin-top: 18px;
    }
    .xcost-summary-sticky {
        position: static;
    }
}

@media (max-width: 767px) {
    .xcost-checkout-page {
        padding: 8px 0 24px;
    }
    .xcost-checkout-page .box-checkout h2 {
        font-size: 32px !important;
    }
    .xcost-checkout-heading p {
        font-size: 13px;
    }
    .xcost-checkout-form-panel,
    .xcost-summary-panel,
    .xcost-checkout-card,
    .xcost-address-card__head,
    .xcost-checkout-page .box-address-on-checkout .box-choices-address {
        padding: 16px !important;
    }
    .xcost-checkout-page .checkout-warpper h3.title,
    .xcost-checkout-page .block-totalcart h3.title {
        font-size: 20px !important;
    }
    .xcost-checkout-page .block-totalcart table thead {
        display: none;
    }
    .xcost-checkout-page .block-totalcart .cart-item-checkout,
    .xcost-checkout-page .block-totalcart .cart-subtotal,
    .xcost-checkout-page .block-totalcart .order-total {
        display: block;
    }
    .xcost-checkout-page .block-totalcart .cart-item-checkout td,
    .xcost-checkout-page .block-totalcart .cart-subtotal th,
    .xcost-checkout-page .block-totalcart .cart-subtotal td,
    .xcost-checkout-page .block-totalcart .order-total th,
    .xcost-checkout-page .block-totalcart .order-total td {
        display: block;
        width: 100%;
        text-align: left !important;
        padding: 6px 0 !important;
    }
    .xcost-checkout-page .block-totalcart .cart-item-checkout td:last-child,
    .xcost-checkout-page .block-totalcart .cart-subtotal td,
    .xcost-checkout-page .block-totalcart .order-total td {
        text-align: right !important;
    }
    .xcost-checkout-page .block-totalcart .cart-item-checkout {
        padding: 10px 0;
    }
    .xcost-checkout-page .view-all-address {
        width: 100%;
        gap: 10px;
    }
    .xcost-checkout-page .view-all-address .btn {
        margin: 0 !important;
        width: 100%;
    }
}

/* =========================================================
   HOTFIX 2026-09-11
   - Giỏ hàng mobile gọn hơn
   ========================================================= */
@media (max-width: 767.98px) {
    .xcost-cart-item {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        padding: 14px !important;
    }

    .xcost-cart-product {
        grid-column: 1 / -1;
        grid-template-columns: 86px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding-bottom: 12px !important;
        border-bottom: 1px dashed #e5e9ee;
    }

    .xcost-cart-product__image {
        width: 86px !important;
        height: 86px !important;
    }

    .xcost-cart-product__info h2 {
        margin-bottom: 8px !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    .xcost-cart-price,
    .xcost-cart-subtotal {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        min-height: 74px;
        padding: 12px 12px 10px !important;
        border: 1px solid #edf0f3;
        border-radius: 14px;
        background: linear-gradient(180deg, #fff 0%, #fffcf8 100%);
        text-align: left !important;
    }

    .xcost-cart-price::before,
    .xcost-cart-subtotal::before {
        position: static !important;
        transform: none !important;
        margin-bottom: 7px;
        color: #7a8390 !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: .02em;
        white-space: normal !important;
    }

    .xcost-cart-page .xcost-cart-price .price--sale,
    .xcost-cart-page .xcost-cart-subtotal .price--sale {
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    .xcost-cart-quantity {
        grid-column: 1 / -1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        min-height: 0 !important;
        padding: 12px !important;
        border: 1px solid #edf0f3;
        border-radius: 14px;
        background: #fff;
    }

    .xcost-cart-quantity::before {
        position: static !important;
        transform: none !important;
        flex: 0 0 auto;
        margin: 0 !important;
        color: #7a8390 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group {
        margin-left: auto !important;
        width: 128px !important;
        max-width: 128px !important;
        grid-template-columns: 38px 52px 38px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .btn-default,
    .xcost-cart-page .xcost-cart-quantity .qty {
        height: 40px !important;
    }
}

@media (max-width: 575.98px) {
    .xcost-cart-page .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .xcost-cart-item {
        gap: 9px !important;
        padding: 12px !important;
    }

    .xcost-cart-product {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .xcost-cart-product__image {
        width: 82px !important;
        height: 82px !important;
    }

    .xcost-cart-page .xcost-cart-price .price--sale,
    .xcost-cart-page .xcost-cart-subtotal .price--sale {
        font-size: 14px !important;
    }

    .xcost-cart-price,
    .xcost-cart-subtotal,
    .xcost-cart-quantity {
        border-radius: 12px !important;
    }

    .xcost-cart-quantity {
        padding: 10px 11px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group {
        width: 122px !important;
        max-width: 122px !important;
        grid-template-columns: 36px 50px 36px !important;
    }
}

/* =========================================================
   MOBILE CART INFO CARDS - theo mẫu thiết kế mới
   Chỉ áp dụng MOBILE, không ảnh hưởng tablet/laptop/desktop
   ========================================================= */
@media (max-width: 575.98px) {
    /* Sau phần ảnh + tên sản phẩm: mỗi thông tin là một card ngang gọn */
    .xcost-cart-item {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 12px !important;
    }

    .xcost-cart-product {
        grid-column: 1 !important;
        grid-template-columns: 70px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding-bottom: 10px !important;
        margin-bottom: 1px;
        border-bottom: 1px dashed #e5e9ee;
    }

    /* 3 hàng thông tin */
    .xcost-cart-price,
    .xcost-cart-quantity,
    .xcost-cart-subtotal {
        position: relative !important;
        grid-column: 1 !important;
        width: 100% !important;
        min-height: 70px !important;
        margin: 0 !important;
        padding: 10px 12px 10px 62px !important;
        border: 1px solid #e8edf2 !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 5px 16px rgba(31, 43, 62, .035);
        text-align: left !important;
    }

    /* Icon box trái */
    .xcost-cart-price::after,
    .xcost-cart-quantity::after,
    .xcost-cart-subtotal::after {
        position: absolute;
        left: 13px;
        top: 50%;
        transform: translateY(-50%);
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 11px;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: 15px;
        line-height: 1;
    }

    /* Đơn giá */
    .xcost-cart-price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        background: linear-gradient(100deg, #fff 0%, #fffaf6 100%) !important;
    }

    .xcost-cart-price::after {
        content: "\f02b";
        color: #ff651f;
        background: #fff0e6;
    }

    /* Số lượng */
    .xcost-cart-quantity {
        display: grid !important;
        grid-template-columns: minmax(90px, 1fr) auto !important;
        align-items: center !important;
        column-gap: 10px !important;
        background: #fff !important;
    }

    .xcost-cart-quantity::after {
        content: "\f1b2";
        color: #27385f;
        background: #eef3fb;
    }

    /* Thành tiền */
    .xcost-cart-subtotal {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        border-color: #f2dfd3 !important;
        background: linear-gradient(100deg, #fff 0%, #fffaf6 100%) !important;
    }

    .xcost-cart-subtotal::after {
        content: "\f1ec";
        color: #db5a18;
        background: #fff0e6;
    }

    /* Nhãn: Đơn giá / Số lượng / Thành tiền */
    .xcost-cart-price::before,
    .xcost-cart-quantity::before,
    .xcost-cart-subtotal::before {
        position: static !important;
        display: block !important;
        transform: none !important;
        margin: 0 0 3px !important;
        color: #697587 !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
    }

    .xcost-cart-quantity::before {
        margin: 0 !important;
        align-self: center;
    }

    /* Giá */
    .xcost-cart-page .xcost-cart-price .price--sale,
    .xcost-cart-page .xcost-cart-subtotal .price--sale {
        margin: 0 !important;
        color: #ff5d18 !important;
        font-size: 18px !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
        white-space: nowrap;
    }

    /* Cụm +/- nằm bên phải, giống mẫu */
    .xcost-cart-page .xcost-cart-quantity .input-group {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: grid !important;
        grid-template-columns: 36px 46px 36px !important;
        width: 118px !important;
        max-width: 118px !important;
        height: 40px !important;
        margin: 0 !important;
        overflow: hidden;
        border: 1px solid #dfe5eb !important;
        border-radius: 999px !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group-btn {
        display: flex !important;
        align-items: stretch !important;
        justify-content: center !important;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group-btn:first-child {
        border-right: 1px solid #edf0f3 !important;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group-btn:last-child {
        border-left: 1px solid #edf0f3 !important;
    }

    .xcost-cart-page .xcost-cart-quantity .btn-default {
        width: 36px !important;
        min-width: 36px !important;
        height: 38px !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff !important;
        color: #24345a !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
    }

    .xcost-cart-page .xcost-cart-quantity .qty {
        width: 46px !important;
        min-width: 46px !important;
        height: 38px !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff !important;
        color: #182756 !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        text-align: center !important;
        box-shadow: none !important;
    }

    /* Mobile rất hẹp */
    @media (max-width: 359.98px) {
        .xcost-cart-price,
        .xcost-cart-quantity,
        .xcost-cart-subtotal {
            padding-left: 66px !important;
        }

        .xcost-cart-price::after,
        .xcost-cart-quantity::after,
        .xcost-cart-subtotal::after {
            left: 11px;
            width: 42px;
            height: 42px;
            border-radius: 12px;
            font-size: 16px;
        }

        .xcost-cart-page .xcost-cart-quantity .input-group {
            grid-template-columns: 35px 44px 35px !important;
            width: 114px !important;
            max-width: 114px !important;
        }

        .xcost-cart-page .xcost-cart-quantity .btn-default {
            width: 35px !important;
            min-width: 35px !important;
        }

        .xcost-cart-page .xcost-cart-quantity .qty {
            width: 44px !important;
            min-width: 44px !important;
        }

        .xcost-cart-page .xcost-cart-price .price--sale,
        .xcost-cart-page .xcost-cart-subtotal .price--sale {
            font-size: 18px !important;
        }
    }
}

/* Các tiêu đề giỏ hàng dùng cùng kiểu chữ serif. */
.xcost-cart-empty h1,
.xcost-cart-summary__top h2 {
    font-family: "Times New Roman", Times, serif !important;
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .member-page.member-profile-page { padding-top: 24px; }
    .member-page.member-profile-page .container { padding-right: 16px; padding-left: 16px; }
    .member-page.member-profile-page .box-profile { padding: 20px; border-radius: 17px; }
    .member-page.member-profile-page .box-profile .block-wapper--title { margin: 17px 0 13px; padding-top: 16px; }
    .member-page.member-profile-page .box-profile .block-wapper--title h2 { font-size: 20px; }
    .member-page.member-profile-page .form-group { margin-bottom: 12px; }
    .member-page.member-profile-page label,
    .member-page.member-profile-page .account-change-email_header { margin-bottom: 5px; font-size: 12px; line-height: 1.35; }
    .member-page.member-profile-page .form-control { min-height: 38px; padding: 7px 11px; font-size: 12px; }
    .member-page.member-profile-page .input-group .form-control,
    .member-page.member-profile-page .input-group-btn .btn,
    .member-page.member-profile-page .input-group-append .btn { height: 38px; min-height: 38px; }
    .member-page.member-profile-page .block-left-admin .nav-link { padding: 8px 9px; font-size: 12px; line-height: 1.3; }
    .member-page.member-profile-page .box-slidebar-profile { padding: 14px; }
    .member-page.member-profile-page .box-slidebar-profile .card-image img { width: 72px; height: 72px; }
    .member-page.member-profile-page .box-slidebar-profile h3 { margin-bottom: 9px; font-size: 14px; line-height: 1.3; }
    .member-page.member-profile-page .box-slidebar-profile p { margin-bottom: 6px; font-size: 11px; line-height: 1.35; }
    .member-page.member-profile-page .box-slidebar-profile span { font-size: 11px; overflow-wrap: anywhere; }
}

/* Member pages: shared visual language with the login and registration screens. */
.member-page {
    padding: 34px 0 48px;
    color: #253047;
    font-family: Arial, Helvetica, sans-serif;
    background: radial-gradient(circle at 4% 9%, #fff0e3 0, #fff0e3 105px, transparent 106px), radial-gradient(circle at 98% 94%, #eef5ff 0, #eef5ff 150px, transparent 151px), #faf9f7;
}
.member-page .container { max-width: 1180px; }
.member-page .bg-brea, .member-page .box-warpper, .member-page .box-user { background: transparent; }
.member-page .block-wapper--title, .member-page .account-structure-page_title { margin: 0 0 20px; padding: 0; border: 0; color: #20335e; font-size: 28px; font-weight: 750; line-height: 1.2; }
.member-page .block-wapper--title h2, .member-page .account-structure-page_title { color: inherit; font: inherit; }
.member-page .profile-main, .member-page .change-password, .member-page .users_commission, .member-page .box-checkout { margin: 0; }
.member-page .box-profile, .member-page .block-user--form, .member-page .account-structure-page_main-content, .member-page .checkout-warpper, .member-page .block-totalcart { padding: 26px; border: 1px solid #edf0f4; border-radius: 20px; background: #fff; box-shadow: 0 14px 34px rgba(35, 48, 77, .08); }
.member-page .box-slidebar-profile, .member-page .block-left-admin { overflow: hidden; border: 1px solid #edf0f4; border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(35, 48, 77, .06); }
.member-page .block-left-admin { padding: 8px !important; }
.member-page .block-left-admin .nav-link { margin: 2px 0; padding: 10px 12px; border-radius: 10px; color: #34415a; font-size: 14px; }
.member-page .block-left-admin .nav-link:hover, .member-page .block-left-admin .nav-link.active { color: #ff651f; background: #fff3eb; }
.member-page .box-slidebar-profile { padding: 18px; }
.member-page .box-slidebar-profile .card-image { text-align: center; }
.member-page .box-slidebar-profile .card-image img { width: 92px; height: 92px; object-fit: cover; border: 4px solid #fff1e7; }
.member-page .box-slidebar-profile .card { border: 0; }
.member-page .box-slidebar-profile .card-body { padding: 0; }
.member-page .box-slidebar-profile h3 { margin: 0 0 12px; color: #20335e; font-size: 16px; font-weight: 750; }
.member-page .box-slidebar-profile p { margin: 0 0 7px; color: #718096; font-size: 13px; }
.member-page .box-slidebar-profile span { color: #253047; font-weight: 600; }
.member-page .box-profile .block-wapper--title h2 { font-size: 22px; }
.member-page .box-profile .block-wapper--title { margin: 22px 0 16px; padding-top: 20px; border-top: 1px solid #eef0f4; }
.member-page .box-profile .block-wapper--title:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.member-page .form-group { margin-bottom: 16px; }
.member-page label, .member-page .account-change-email_header { margin: 0 0 7px; color: #3f4a5c !important; font-size: 13px; font-weight: 600 !important; }
.member-page .form-control { min-height: 42px; border: 1px solid #dfe3e9; border-radius: 11px; color: #354153; font-size: 13px; box-shadow: none; }
.member-page textarea.form-control { min-height: 96px; }
.member-page .form-control:focus { border-color: #ffb783; box-shadow: 0 0 0 3px #ff782013; }
.member-page .input-group .form-control { border-radius: 11px 0 0 11px; }
.member-page .input-group-btn .btn, .member-page .input-group-append .btn { min-height: 42px; border: 0; border-radius: 0 11px 11px 0; background: #ff762c; }
.member-page.member-profile-page .input-group { display: flex; align-items: stretch; }
.member-page.member-profile-page .input-group .form-control,
.member-page.member-profile-page .input-group-btn .btn,
.member-page.member-profile-page .input-group-append .btn { height: 42px; min-height: 42px; box-sizing: border-box; }
@media (min-width: 576px) and (max-width: 991.98px) {
    .member-page.member-profile-page .input-group .form-control,
    .member-page.member-profile-page .input-group-btn .btn,
    .member-page.member-profile-page .input-group-append .btn { height: 38px; min-height: 38px; }
    .member-page.member-profile-page .profile-main > .row {
        display: grid;
        grid-template-columns: minmax(180px, 28%) minmax(0, 1fr);
        gap: 16px;
        margin: 0;
    }
    .member-page.member-profile-page .profile-main > .row > [class*="col-"]:first-child,
    .member-page.member-profile-page .profile-main > .row > [class*="col-"]:first-child > .row { display: contents; }
    .member-page.member-profile-page .profile-main .block-left-admin {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        max-width: none;
    }
    .member-page.member-profile-page .profile-main > .row > [class*="col-"]:first-child > .row > [class*="col-"]:last-child {
        grid-column: 2;
        grid-row: 1 / span 2;
        width: auto;
        max-width: none;
        padding: 0;
    }
    .member-page.member-profile-page .profile-main > .row > [class*="col-"]:last-child {
        grid-column: 1;
        grid-row: 2;
        width: auto;
        max-width: none;
        padding: 0;
    }
    .member-page.member-profile-page .profile-main .box-slidebar-profile { margin-top: 0; }
}
.member-page .btn--button, .member-page .btn-success, .member-page .place-order .btn { padding: 11px 22px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #ff913b, #ff5d20); color: #fff; font-size: 14px; font-weight: 700; box-shadow: 0 8px 18px rgba(255, 101, 31, .2); }
.member-page .btn--color { background: #253d7b; box-shadow: 0 8px 18px rgba(37, 61, 123, .16); }
.member-page .account-structure-page_title .btn { margin-top: -5px; }
.member-page .note { margin: -8px 0 20px; color: #718096; }
.member-page .info-box { min-height: 116px; overflow: hidden; border: 1px solid #edf0f4; border-radius: 16px; background: #fff; box-shadow: 0 8px 18px rgba(35, 48, 77, .05); }
.member-page .info-box-icon { width: 58px; color: #ff651f; background: #fff1e7 !important; }
.member-page .info-box-content { padding: 22px 10px; }
.member-page .info-box-text { color: #718096; font-size: 13px; }
.member-page .info-box-number { margin-top: 7px; color: #20335e; font-size: 17px; font-weight: 750; }
.member-page .custom-tabletree { padding: 18px; border-radius: 14px; background: #fafbfc; }
.member-page.member-system-page .alert { margin: 0; border-radius: 12px; }
.member-page .checkout-warpper .title, .member-page .block-totalcart .title { margin: 0 0 18px; padding-bottom: 13px; border-bottom: 1px solid #eef0f4; color: #20335e; font-size: 17px; font-weight: 750; }
.member-page .box-address-on-checkout { padding: 16px; border: 1px solid #edf0f4; border-radius: 14px; }
.member-page .block-totalcart { position: sticky; top: 18px; }
.member-page .block-totalcart table { width: 100%; }
.member-page .block-totalcart td, .member-page .block-totalcart th { padding: 11px 0; color: #435068; font-size: 13px; }
.member-page .block-totalcart .order-total { border-top: 1px solid #e8ebef; }
.member-page .block-totalcart .order-total td, .member-page .block-totalcart .order-total th { color: #ff651f; font-size: 17px; }
.member-page .box-payment { margin-top: 18px; }
.member-page .box-payment li { padding: 10px 0; border-bottom: 1px solid #f0f1f3; }
.member-page .box-payment .block-content { padding: 8px 0 0 24px; color: #68758a; font-size: 13px; }
.member-page .place-order { margin-top: 20px; }
.member-page .place-order .btn { width: 100%; }
.member-page .member-nav-toggle { display: block; }
.member-page .member-nav-toggle > summary { display: none; }
.member-page .member-nav-toggle > ul { display: flex; }
.user-manager-page .block-left-admin { overflow: hidden; padding: 8px !important; border: 1px solid #edf0f4; border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(35, 48, 77, .06); }
.user-manager-page .block-left-admin .member-nav-toggle { display: block; }
.user-manager-page .block-left-admin .member-nav-toggle > summary { display: none; }
.user-manager-page .block-left-admin .member-nav-toggle > ul { display: flex; }
.user-manager-page .block-left-admin .nav-link { margin: 2px 0; padding: 10px 12px; border-radius: 10px; color: #34415a; font-size: 14px; }
.user-manager-page .block-left-admin .nav-link:hover { color: #ff651f; background: #fff3eb; }
.member-page.member-history-page .account-structure-page_main-content { padding: 26px; border: 1px solid #edf0f4; border-radius: 20px; background: #fff; box-shadow: 0 14px 34px rgba(35, 48, 77, .08); }
.member-page.member-history-page .table-responsive { overflow-x: auto; border: 1px solid #edf0f4; border-radius: 13px; }
.member-page.member-history-page .table { min-width: 720px; margin: 0; }
.member-page.member-history-page .table thead th, .member-page.member-history-page .table thead td { border-color: #e6e9ef; background: #edf4ff; color: #20335e; font-size: 13px; }
.member-page.member-history-page .table td { border-color: #edf0f4; color: #435068; font-size: 13px; vertical-align: middle; }
.member-page.member-history-page #btn-group-action { margin-top: 18px; }
.member-page.member-address-page .address-message .alert { margin: 0 0 16px; border: 0; border-radius: 12px; font-size: 14px; }
.member-page.member-address-page .address-add { margin: 0 0 16px; }
.member-page.member-address-page .address-add a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: #fff1e7; color: #ff651f; font-size: 14px; font-weight: 700; cursor: pointer; }
.member-page.member-address-page .address-add a:hover { background: #ff651f; color: #fff; }
.member-page.member-address-page .address-list { display: grid; gap: 13px; }
.member-page.member-address-page .block-address-item { margin: 0; }
.member-page.member-address-page .book-address-box { display: flex; align-items: flex-start; flex-direction: column; gap: 14px; padding: 18px; border: 1px solid #edf0f4; border-radius: 16px; background: #fff; box-shadow: 0 7px 18px rgba(35, 48, 77, .04); }
.member-page.member-address-page .address-box-content { min-width: 0; }
.member-page.member-address-page .address-box-info { color: #718096; font-size: 13px; line-height: 1.65; }
.member-page.member-address-page .block-info-name { color: #20335e; font-size: 16px; font-weight: 750; }
.member-page.member-address-page .address-full-address, .member-page.member-address-page .address-phone { color: #34415a; }
.member-page.member-address-page .address-default { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; padding: 3px 8px; border-radius: 999px; background: #e7f7ed; color: #25844d; font-size: 10px; font-weight: 700; vertical-align: middle; }
.member-page.member-address-page .address-box-edit { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; }
.member-page.member-address-page .address-box-edit .btn { margin: 0 !important; padding: 8px 12px; border: 0; border-radius: 9px; font-size: 12px; font-weight: 700; }
.member-page.member-address-page .address-box-edit .btn-info { background: #1e9eb7; }
.member-page.member-address-page .address-box-edit .btn-danger { background: #dd4254; }
.member-page.member-address-page .address-box-edit .btn-primary { background: #253d7b; }
@media (max-width: 575.98px) {
    .member-page.member-address-page .book-address-box { align-items: flex-start; flex-direction: column; padding: 15px; }
    .member-page.member-address-page .address-box-edit { width: 100%; }
}
.member-page.member-commission-page .box-devision-col-mobile > .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.member-page.member-commission-page .box-devision-col-mobile > .row > [class*="col-"] { display: block; flex: none; width: auto; max-width: none; margin: 0; padding: 0; }
.member-page.member-commission-page .info-box { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; min-height: 112px; padding: 16px; }
.member-page.member-commission-page .info-box-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; border-radius: 12px; font-size: 18px; }
.member-page.member-commission-page .info-box-icon a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: inherit; }
.member-page.member-commission-page .info-box-content { display: flex !important; min-width: 0; padding: 0; flex-direction: column; justify-content: center; gap: 6px; line-height: 1.25; }
.member-page.member-commission-page .info-box-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-page.member-commission-page .info-box-number { margin: 0; font-size: 18px; line-height: 1.2; }
.member-page.member-order-dropship-page .box-checkout > h2 { margin: 0 0 20px; color: #20335e; font-size: 28px; font-weight: 750; }
.member-page.member-order-dropship-page .checkout-warpper .title { margin-top: 28px; }
.member-page.member-order-dropship-page .checkout-warpper .title:first-child { margin-top: 0; }
.member-page.member-order-dropship-page .table-container-tblAppendGrid { overflow-x: auto; padding: 1px; border: 1px solid #e4e8ee; border-radius: 13px; background: #fafbfc; }
.member-page.member-order-dropship-page #tblAppendGrid { width: 100% !important; min-width: 720px; margin: 0; border: 0 !important; background: #fff; }
.member-page.member-order-dropship-page #tblAppendGrid_caption_td { display: none !important; }
.member-page.member-order-dropship-page #tblAppendGrid th { padding: 11px 9px !important; border-color: #e6e9ef !important; background: #edf4ff !important; color: #20335e !important; font-size: 12px; }
.member-page.member-order-dropship-page #tblAppendGrid td { padding: 7px !important; border-color: #edf0f4 !important; background: #fff !important; }
.member-page.member-order-dropship-page #tblAppendGrid input, .member-page.member-order-dropship-page #tblAppendGrid select { min-height: 34px; border: 1px solid #dfe3e9; border-radius: 7px; background: #fff; font-size: 12px; }
.member-page.member-order-dropship-page #tblAppendGrid .select_on_change { display: none !important; }
.member-page.member-order-dropship-page #tblAppendGrid .product-select-picker { position: relative; width: 230px; max-width: 100%; }
.member-page.member-order-dropship-page #tblAppendGrid .product-select-toggle { display: block; width: 100%; min-height: 34px; overflow: hidden; padding: 0 30px 0 10px; border: 1px solid #dfe3e9; border-radius: 7px; background: #fff; color: #253047; font-size: 12px; line-height: 32px; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.member-page.member-order-dropship-page #tblAppendGrid .product-select-toggle::after { position: absolute; top: 50%; right: 11px; width: 7px; height: 7px; border-right: 2px solid #253047; border-bottom: 2px solid #253047; content: ''; transform: translateY(-65%) rotate(45deg); }
.member-page.member-order-dropship-page #tblAppendGrid .product-select-options { position: absolute; z-index: 50; top: calc(100% + 4px); left: 0; display: none; width: 100%; max-height: 210px; overflow-y: auto; border: 1px solid #dfe3e9; border-radius: 8px; background: #fff; box-shadow: 0 10px 24px rgba(35, 48, 77, .18); }
.member-page.member-order-dropship-page #tblAppendGrid .product-select-picker.is-open .product-select-options { display: block; }
.member-page.member-order-dropship-page #tblAppendGrid .product-select-search { width: calc(100% - 16px); height: 32px; margin: 8px; padding: 0 8px; border: 1px solid #dfe3e9; border-radius: 6px; font-size: 12px; outline: 0; }
.member-page.member-order-dropship-page #tblAppendGrid .product-select-search:focus { border-color: #ff8a4a; box-shadow: 0 0 0 2px #ff78201a; }
.member-page.member-order-dropship-page #tblAppendGrid .product-select-option { display: block; width: 100%; padding: 8px 10px; border: 0; border-bottom: 1px solid #f0f1f3; background: #fff; color: #253047; font-size: 12px; line-height: 1.35; text-align: left; cursor: pointer; }
.member-page.member-order-dropship-page #tblAppendGrid .product-select-option:hover { background: #fff1e7; color: #ff651f; }
@media (max-width: 1399.98px) {
    .member-page.member-order-dropship-page .table-container-tblAppendGrid { max-width: 100%; -webkit-overflow-scrolling: touch; }
    .member-page.member-order-dropship-page #tblAppendGrid { min-width: 600px; }
    .member-page.member-order-dropship-page #tblAppendGrid .chosen-container { width: 230px !important; max-width: 230px; }
    .member-page.member-order-dropship-page #tblAppendGrid .chosen-container .chosen-drop { width: 100% !important; max-width: 100%; }
    .member-page.member-order-dropship-page #tblAppendGrid .chosen-container .chosen-results { max-height: 210px; }
}
@media (max-width: 575.98px) {
    .member-page.member-order-dropship-page #tblAppendGrid { min-width: 540px; }
    .member-page.member-order-dropship-page #tblAppendGrid .chosen-container { width: 190px !important; max-width: 190px; }
    .member-page.member-order-dropship-page #tblAppendGrid .product-select-picker { width: 190px; }
}

/* Use the product-card interface consistently on every screen size. */
@media (min-width: 0) {
    .member-page.member-order-dropship-page .table-container-tblAppendGrid { overflow: visible; padding: 0; border: 0; background: transparent; }
    .member-page.member-order-dropship-page #tblAppendGrid-wrapper,
    .member-page.member-order-dropship-page .table-container-tblAppendGrid .appendGrid,
    .member-page.member-order-dropship-page .table-container-tblAppendGrid .appendGrid > table,
    .member-page.member-order-dropship-page #tblAppendGrid { min-width: 0; border: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; border-collapse: separate !important; border-spacing: 0 !important; }
    .member-page.member-order-dropship-page #tblAppendGrid thead { display: none; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody { display: block; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 74px;
        gap: 10px;
        margin: 0 0 12px;
        padding: 42px 12px 12px;
        border: 1px solid #e5e9ef;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 6px 16px rgba(35, 48, 77, .05);
    }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td { display: none; padding: 0 !important; border: 0 !important; background: transparent !important; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.first {
        position: absolute;
        top: 10px;
        left: 10px;
        display: grid;
        width: 24px;
        min-width: 24px;
        height: 24px;
        min-height: 24px;
        padding: 0 !important;
        border-radius: 50%;
        background: #253d7b !important;
        color: #fff;
        font-size: 11px;
        place-items: center;
    }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(2),
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(3) { display: block; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(2) { grid-column: 1; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(3) { grid-column: 2; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(3)::before { display: block; margin: 0 0 5px; color: #718096; content: 'Số lượng'; font-size: 10px; font-weight: 700; text-align: center; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(3) input { width: 100%; text-align: center !important; }
    .member-page.member-order-dropship-page #tblAppendGrid .product-select-picker { width: 100% !important; max-width: 100%; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(4),
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(5),
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(6),
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(7) { display: block; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(4)::before { content: 'Đơn giá'; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(5)::before { content: 'Giá giảm'; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(6)::before { content: 'Giá bán lẻ'; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(7)::before { content: 'Thành tiền'; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(4)::before,
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(5)::before,
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(6)::before,
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(7)::before { display: block; margin: 4px 0 5px; color: #718096; font-size: 10px; font-weight: 700; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(4),
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(6) { grid-column: 1; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(5),
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr.has-product td:nth-child(7) { grid-column: 2; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.last { display: flex; grid-column: 1 / -1; justify-content: flex-end; padding-top: 4px !important; border-top: 1px solid #f0f1f3 !important; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.last .insert,
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.last .moveUp,
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.last .moveDown { display: none !important; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.last .remove { border-color: #f6c8cb; background: #fff0f1; color: #dd4254; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot { display: block; margin: 0; background: transparent !important; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot tr,
    .member-page.member-order-dropship-page #tblAppendGrid tfoot td { display: block; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot td { padding: 0 !important; border: 0 !important; background: transparent !important; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot .removeLast { display: none !important; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot .append { min-width: 42px; height: 36px; margin: 0; border: 0; border-radius: 10px; background: #fff1e7; color: #ff651f; font-size: 18px; }

    .member-page.member-order-dropship-page .checkout-warpper > h3.title:nth-of-type(4) {
        position: relative;
        display: flex;
        align-items: center;
        margin: 28px 0 18px;
        min-height: 48px;
        padding: 12px 0 0 64px;
        border: 0;
        color: #ff651f;
        font-size: 23px;
    }
    .member-page.member-order-dropship-page .checkout-warpper > h3.title:nth-of-type(4)::before {
        position: absolute;
        top: 0;
        left: 0;
        display: grid;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: #fff1e7;
        color: #ff651f;
        content: '\f07a';
        font-family: "Font Awesome 5 Free";
        font-size: 20px;
        font-weight: 900;
        place-items: center;
    }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr {
        grid-template-columns: minmax(0, 1fr) 120px;
        gap: 18px;
        margin-bottom: 22px;
        padding: 70px 20px 12px;
        border-radius: 16px;
        box-shadow: 0 9px 22px rgba(35, 48, 77, .09);
    }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.first { top: 13px; left: 20px; width: 48px; min-width: 48px; height: 48px; min-height: 48px; font-size: 18px; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(2)::before { display: block; margin: 0 0 7px; color: #435068; content: 'Chọn sản phẩm'; font-size: 13px; font-weight: 700; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(3) { padding-left: 18px !important; border-left: 1px solid #e5e9ef !important; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(3)::before { margin-bottom: 7px; color: #435068; font-size: 13px; }
    .member-page.member-order-dropship-page #tblAppendGrid .product-select-toggle,
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(3) input { min-height: 48px; border-radius: 11px; font-size: 14px; }
    .member-page.member-order-dropship-page #tblAppendGrid .product-select-toggle { line-height: 46px; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody input[readonly] { border-color: #d9e0e8 !important; background: #e9edf2 !important; color: #4d5b6e !important; cursor: not-allowed; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td:nth-child(6) input { background: #fff !important; color: #253047 !important; cursor: text; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.last { min-height: 56px; padding-top: 12px !important; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.last .remove { width: 42px; height: 42px; border-radius: 10px; font-size: 0; }
    .member-page.member-order-dropship-page #tblAppendGrid tbody td.last .remove::before { content: '\f2ed'; font-family: "Font Awesome 5 Free"; font-size: 17px; font-weight: 900; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot { display: block !important; margin-top: 4px; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot td {
        min-height: 34px;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0;
        background: transparent !important;
    }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot .append {
        width: 34px;
        min-width: 34px;
        height: 34px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #ff651f;
    }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot .append::before { font-size: 32px; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot td::after { display: none; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot td {
        display: flex !important;
        align-items: center;
        min-height: 36px;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0;
        background: transparent !important;
    }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot .append {
        position: relative;
        display: grid;
        width: 36px;
        min-width: 36px;
        height: 36px;
        margin: 0;
        border-radius: 50%;
        background: linear-gradient(135deg, #ff913b, #ff5d20);
        color: #fff;
        font-size: 0;
        place-items: center;
    }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot .append:focus { outline: 0 !important; box-shadow: none !important; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot .append::before { position: absolute; inset: 0; display: grid; content: '+'; font-size: 28px; font-weight: 400; line-height: 1; place-items: center; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot .append::after { display: none; }
    .member-page.member-order-dropship-page #tblAppendGrid tfoot td::after { display: none; }
}

/* A wider member page can show two product cards side by side. */
@media (min-width: 992px) {
    .member-page.member-order-dropship-page #tblAppendGrid tbody {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
    .member-page.member-order-dropship-page #tblAppendGrid tbody tr { margin: 0; min-width: 0; }
}
.member-page.member-order-dropship-page .table-no-border { margin: 16px 0 8px; }
.member-page.member-order-dropship-page .table-no-border .text-red td { color: #ff651f !important; font-size: 15px; }
.member-page.member-order-dropship-page .btn-primary { padding: 11px 22px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #ff913b, #ff5d20); font-weight: 700; }
.member-page.member-order-dropship-page .btn-danger { padding: 11px 22px; border: 0; border-radius: 999px; background: #253d7b; font-weight: 700; }
.commission-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.commission-history-heading .account-structure-page_title { margin: 0; }
.commission-history-back { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: 999px; background: #253d7b; color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.commission-history-back:hover, .commission-history-back:focus { background: #ff6a22; color: #fff; text-decoration: none; }
@media (max-width: 575.98px) { .commission-history-heading { align-items: flex-start; flex-direction: column; } }

/* Withdrawal form and transaction history. */
.member-withdrawal-page .account-structure-page_main-content, .member-withdrawal-history-page .account-structure-page_main-content { padding: 26px; border: 1px solid #edf0f4; border-radius: 20px; background: #fff; box-shadow: 0 14px 34px rgba(35, 48, 77, .08); }
.withdrawal-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 22px; padding-bottom: 14px; border-bottom: 1px solid #eef0f4; }
.withdrawal-heading .account-structure-page_title { margin: 0; color: #20335e; font-size: 25px; }
.withdrawal-history-link { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: 999px; background: #253d7b; color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.withdrawal-history-link:hover, .withdrawal-history-link:focus { background: #ff6a22; color: #fff; text-decoration: none; }
.member-withdrawal-page #f-withdrawal > .form-group { align-items: center; margin-bottom: 15px; }
.member-withdrawal-page .account-change-email_header { margin: 0; color: #435068; font-size: 14px; font-weight: 700; }
.member-withdrawal-page #f-withdrawal .form-control { width: 100%; min-height: 44px; border: 1px solid #d9e0e8; border-radius: 10px; font-size: 14px; }
.member-withdrawal-page #f-withdrawal .form-control:disabled { background: #e9edf2; color: #4d5b6e; opacity: 1; }
.member-withdrawal-history-page .card-stats { overflow: hidden; margin: 0 0 18px; border: 1px solid #e5e9ef; border-radius: 14px; box-shadow: none; }
.member-withdrawal-history-page .card-stats .card-header { padding: 18px; border: 0; background: #fff; }
.member-withdrawal-history-page .card-stats .card-icon { display: inline-grid; width: 42px; height: 42px; margin: 0 0 10px; border-radius: 12px; background: #fff1e7; color: #ff651f; font-size: 18px; place-items: center; }
.member-withdrawal-history-page .card-stats .card-category { margin: 0 0 5px; color: #657084; font-size: 13px; }
.member-withdrawal-history-page .card-stats .card-title { margin: 0; color: #20335e; font-size: 22px; font-weight: 750; }
.member-withdrawal-history-page .card-stats .card-footer { padding: 11px 18px; border-top: 1px solid #eef0f4; background: #fafbfc; color: #657084; font-size: 13px; }
.member-withdrawal-history-page .card-stats .card-footer .stats { margin: 0; }
.member-withdrawal-history-page .table-responsive { overflow: hidden; border: 1px solid #e5e9ef; border-radius: 14px; }
.member-withdrawal-history-page .table { margin: 0; }
.member-withdrawal-history-page .table th { border-top: 0; background: #f6f8fb; color: #435068; font-size: 12px; }
.member-withdrawal-history-page .table td { vertical-align: middle; color: #4d596d; font-size: 13px; }
@media (max-width: 575.98px) {
    .member-withdrawal-page .account-structure-page_main-content, .member-withdrawal-history-page .account-structure-page_main-content { padding: 18px 16px; border-radius: 16px; }
    .withdrawal-heading { align-items: flex-start; flex-direction: column; gap: 10px; margin-bottom: 18px; }
    .withdrawal-heading .account-structure-page_title { font-size: 22px; }
    .member-withdrawal-page #f-withdrawal > .form-group { display: block; margin-right: 0; margin-left: 0; }
    .member-withdrawal-page #f-withdrawal > .form-group > [class*="col-"] { width: 100%; max-width: 100%; padding-right: 0; padding-left: 0; }
    .member-withdrawal-page .account-change-email_header { margin: 0 0 7px; font-size: 14px; }
    .member-withdrawal-page #f-withdrawal .form-control { min-height: 44px; font-size: 14px; }
    .member-withdrawal-page #f-withdrawal .offset-sm-5 { margin-left: 0; }
    .member-withdrawal-history-page .card-stats .card-header { padding: 16px; }
}
@media (min-width: 576px) and (max-width: 991.98px) {
    .member-withdrawal-page #f-withdrawal > .form-group {
        display: flex;
        align-items: center;
        margin-right: 0;
        margin-left: 0;
    }
    .member-withdrawal-page #f-withdrawal > .form-group > [class*="col-"]:first-child {
        flex: 0 0 37%;
        width: 37%;
        max-width: 37%;
        padding-right: 12px;
        padding-left: 0;
    }
    .member-withdrawal-page #f-withdrawal > .form-group > [class*="col-"]:nth-child(2) {
        flex: 0 0 63%;
        width: 63%;
        max-width: 63%;
        padding-right: 0;
        padding-left: 0;
    }
    .member-withdrawal-page .account-change-email_header {
        white-space: nowrap;
        font-size: 13px;
    }
    .member-withdrawal-page #f-withdrawal .form-control { min-height: 42px; font-size: 13px; }
}
@media (min-width: 992px) {
    .member-withdrawal-page #f-withdrawal > .form-group:has(.account-change-email_header) {
        display: flex;
        align-items: center;
        margin-right: 0;
        margin-left: 0;
    }
    .member-withdrawal-page #f-withdrawal > .form-group:has(.account-change-email_header) > [class*="col-"]:first-child {
        flex: 0 0 30%;
        width: 30%;
        max-width: 30%;
        padding-right: 14px;
        padding-left: 0;
    }
    .member-withdrawal-page #f-withdrawal > .form-group:has(.account-change-email_header) > [class*="col-"]:nth-child(2) {
        flex: 0 0 70%;
        width: 70%;
        max-width: 70%;
        padding-right: 0;
        padding-left: 0;
    }
    .member-withdrawal-page .account-change-email_header { font-size: 16px; }
    .member-withdrawal-page .account-change-email_header { white-space: nowrap; }
    .member-withdrawal-page #f-withdrawal .form-control { min-height: 46px; font-size: 15px; }
}

/* Shop registration: align the upload control and rich-text editor with the form fields. */
.member-shop-page .file-input .form-control,
.member-shop-page .file-caption { min-height: 54px; border: 1px solid #dfe3e9; border-radius: 18px 0 0 18px !important; background: #fff; }
.member-shop-page .file-input .input-group-btn:last-child .btn,
.member-shop-page .file-input .btn-file { min-height: 54px; padding-top: 0; padding-bottom: 0; border: 0; border-radius: 0 18px 18px 0 !important; background: linear-gradient(135deg, #ff913b, #ff5d20); color: #fff; line-height: 54px; text-align: center; }
.member-shop-page #cke_shop_info { width: 100% !important; overflow: hidden; border: 1px solid #dfe3e9 !important; border-radius: 18px !important; box-shadow: none !important; }
.member-shop-page .shop-info-label { display: block !important; width: 100%; margin-bottom: 8px; }
.member-shop-page #cke_shop_info { display: block !important; clear: both; }
.member-shop-page textarea[name="shop_info"], .member-shop-page #shop_info { display: block; width: 100% !important; max-width: 100%; min-height: 136px; padding: 14px 16px; border: 1px solid #dfe3e9; border-radius: 18px 0 0 18px; background: #fff; color: #657084; font-size: 14px; line-height: 1.5; box-shadow: none; resize: none; }
.member-shop-page textarea[name="shop_info"]:focus, .member-shop-page #shop_info:focus { border-color: #ff8a4a; outline: 0; box-shadow: 0 0 0 3px rgba(255, 120, 32, .1); }
.member-shop-page #cke_shop_info .cke_top { padding: 8px 10px; border-bottom: 1px solid #edf0f4; background: #f8fafc; }
.member-shop-page #cke_shop_info .cke_contents { min-height: 220px; background: #fff; }
.member-shop-page #cke_shop_info .cke_bottom { display: none; }
.member-shop-page #cke_shop_info:focus-within { border-color: #ff8a4a !important; box-shadow: 0 0 0 3px rgba(255, 120, 32, .1) !important; }
/* Keep the SEO fields in their original plain textarea style. */
.member-shop-page textarea[name="shop_keywords"],
.member-shop-page textarea[name="shop_description"] { min-height: 0; border: 1px solid #ced4da; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); }
@media (max-width: 575.98px) {
    .member-shop-page .file-input .form-control,
    .member-shop-page .file-caption,
    .member-shop-page .file-input .input-group-btn:last-child .btn,
    .member-shop-page .file-input .btn-file { min-height: 46px; }
    .member-shop-page #cke_shop_info { border-radius: 14px !important; }
}

/* Keep the two shipping columns aligned on tablets when one label wraps. */
@media (min-width: 576px) and (max-width: 991.98px) {
    .member-page.member-order-dropship-page .checkout-warpper { padding: 16px 22px 22px; }
    .member-page.member-order-dropship-page .checkout-warpper > h3.title:first-child {
        margin-bottom: 12px;
        padding-bottom: 9px;
        font-size: 20px;
        line-height: 1.25;
    }
    .member-page.member-order-dropship-page .checkout-warpper > h3.title:first-child + .row .form-group { margin-bottom: 12px; }
    .member-page.member-order-dropship-page .checkout-warpper > h3.title:first-child + .row .form-group > label {
        display: inline-flex;
        align-items: flex-end;
        max-width: 100%;
        min-height: 35px;
        margin-bottom: 4px;
        color: #435068;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.35;
    }
    .member-page.member-order-dropship-page .checkout-warpper > h3.title:first-child + .row .form-group > label .required {
        position: static !important;
        flex: 0 0 auto;
        margin: 0 0 0 3px;
        line-height: 1.35;
    }
    .member-page.member-order-dropship-page .checkout-warpper > h3.title:first-child + .row .form-group > label > span { min-width: 0; }
    .member-page.member-order-dropship-page .checkout-warpper > h3.title:first-child + .row .form-control {
        height: 38px;
        min-height: 38px;
        padding: 6px 9px;
        font-size: 12px;
    }
}
@media (max-width: 767.98px) {
    .member-page { padding: 20px 0 32px; }
    .member-page .container { padding-right: 16px; padding-left: 16px; }
    .member-page .block-wapper--title, .member-page .account-structure-page_title { font-size: 23px; }
    .member-page .box-profile, .member-page .block-user--form, .member-page .account-structure-page_main-content, .member-page .checkout-warpper, .member-page .block-totalcart { padding: 18px; border-radius: 16px; }
    .member-page .box-slidebar-profile { margin-top: 16px; }
    .member-page .box-profile .form-group > [class*="col-"] + [class*="col-"] { margin-top: 3px; }
    .member-page .account-change-email_header { margin-top: 3px; }
    .member-page.member-commission-page .info-box { margin-bottom: 12px; }
    .member-page .account-structure-page_title .btn { float: none !important; margin: 12px 6px 0 0; }
    .member-page.member-dropship-page .row > [class*="col-"] + [class*="col-"] { margin-top: 16px; }
    .member-page .block-totalcart { position: static; }
    .member-page.member-order-dropship-page .box-checkout > h2 { font-size: 23px; }
}
@media (max-width: 575.98px) {
    .member-page .box-profile .row > [class*="col-"], .member-page .block-user--form .row > [class*="col-"], .member-page.member-dropship-page .row > [class*="col-"] { flex: 0 0 100%; max-width: 100%; }
    .member-page .box-slidebar-profile .card-image { display: none; }
    .member-page .box-slidebar-profile { padding: 15px; }
    .member-page .info-box { min-height: 96px; }
    .member-page .info-box-content { padding-top: 17px; }
    .member-page .block-left-admin { margin-bottom: 16px; padding: 0 !important; overflow: visible; }
    .member-page .member-nav-toggle { overflow: hidden; border-radius: 16px; background: #fff; }
    .member-page .member-nav-toggle > summary { display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 0 16px; color: #20335e; font-size: 14px; font-weight: 750; cursor: pointer; list-style: none; }
    .member-page .member-nav-toggle > summary::-webkit-details-marker { display: none; }
    .member-page .member-nav-toggle > summary i { color: #ff651f; transition: transform .2s ease; }
    .member-page .member-nav-toggle[open] > summary { border-bottom: 1px solid #eef0f4; }
    .member-page .member-nav-toggle[open] > summary i { transform: rotate(180deg); }
    .member-page .member-nav-toggle > ul { display: none; padding: 7px 8px 9px; }
    .member-page .member-nav-toggle[open] > ul { display: flex; }
    .user-manager-page .block-left-admin { margin-bottom: 16px; padding: 0 !important; overflow: visible; }
    .user-manager-page .block-left-admin .member-nav-toggle { overflow: hidden; border-radius: 16px; background: #fff; }
    .user-manager-page .block-left-admin .member-nav-toggle > summary { display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 0 16px; color: #20335e; font-size: 14px; font-weight: 750; cursor: pointer; list-style: none; }
    .user-manager-page .block-left-admin .member-nav-toggle > summary::-webkit-details-marker { display: none; }
    .user-manager-page .block-left-admin .member-nav-toggle > summary i { color: #ff651f; transition: transform .2s ease; }
    .user-manager-page .block-left-admin .member-nav-toggle[open] > summary { border-bottom: 1px solid #eef0f4; }
    .user-manager-page .block-left-admin .member-nav-toggle[open] > summary i { transform: rotate(180deg); }
    .user-manager-page .block-left-admin .member-nav-toggle > ul { display: none; padding: 7px 8px 9px; }
    .user-manager-page .block-left-admin .member-nav-toggle[open] > ul { display: flex; }
    .member-page.member-commission-page .box-devision-col-mobile > .row { grid-template-columns: 1fr; gap: 12px; }
    .member-page.member-commission-page .info-box { min-height: 88px; padding: 13px; }
    .member-page.member-commission-page .info-box-content { padding: 0; }
    .user-manager-page #f-withdrawal .mask-price {
        padding-right: 9px;
        padding-left: 9px;
        font-size: 11px;
        letter-spacing: -.15px;
    }
}

/* Final mobile cart card layout. Kept last to override earlier card variants. */
@media (max-width: 991.98px) {
    /* Danh sách sản phẩm mobile: một hàng gọn, chỉ dùng dữ liệu hiện có. */
    .xcost-cart-page .xcost-cart-list-head {
        display: none !important;
    }

    .xcost-cart-page .xcost-cart-item.xcost-cart-item {
        grid-template-columns: 96px minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto auto !important;
        gap: 5px 11px !important;
        min-height: 116px !important;
        margin: 0 !important;
        padding: 13px 14px !important;
        border: 0 !important;
        border-bottom: 7px solid #f4f5f6 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-product {
        display: contents !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-product__image {
        grid-column: 1 !important;
        grid-row: 1 / 4 !important;
        width: 96px !important;
        height: 96px !important;
        align-self: center;
        border-radius: 7px !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-product__info {
        grid-column: 2 / 4 !important;
        grid-row: 1 !important;
        min-width: 0;
        align-self: start;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-product__info h2 {
        display: -webkit-box;
        overflow: hidden;
        margin: 0 0 5px !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        color: #27385f;
        font-size: 14px !important;
        font-weight: 600;
        line-height: 1.35 !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-remove {
        font-size: 11px !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-price,
    .xcost-cart-page .xcost-cart-item .xcost-cart-subtotal,
    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-price {
        grid-column: 2 !important;
        grid-row: 2 !important;
        display: block !important;
        align-self: center;
        justify-self: start;
        padding-left: 0 !important;
        text-align: left !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-price::before,
    .xcost-cart-page .xcost-cart-item .xcost-cart-price::after,
    .xcost-cart-page .xcost-cart-item .xcost-cart-subtotal::before,
    .xcost-cart-page .xcost-cart-item .xcost-cart-subtotal::after,
    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity::before,
    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity::after {
        display: none !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-price .price--sale {
        display: block;
        color: #ef4660 !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        white-space: nowrap;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity {
        grid-column: 3 !important;
        grid-row: 2 !important;
        display: flex !important;
        align-items: center !important;
        align-self: center;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity .input-group {
        grid-template-columns: 25px 28px 25px !important;
        width: 78px !important;
        height: 31px !important;
        border: 0 !important;
        border-radius: 4px !important;
        background: #f3f3f3 !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity .input-group-btn {
        border: 0 !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity .btn-default,
    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity .qty {
        width: auto !important;
        min-width: 0 !important;
        height: 31px !important;
        border: 0 !important;
        background: transparent !important;
        color: #4e5968 !important;
        font-size: 14px !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-subtotal {
        display: none !important;
    }

    .xcost-cart-page .xcost-cart-list-footer {
        padding: 14px !important;
    }

    /* Cụm số lượng vừa cả các điện thoại có màn hình hẹp. */
    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity .input-group {
        grid-template-columns: 26px 26px 26px !important;
        width: 78px !important;
        max-width: 100% !important;
        height: 36px !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity .btn-default {
        width: 26px !important;
        min-width: 26px !important;
        height: 34px !important;
        font-size: 14px !important;
    }

    .xcost-cart-page .xcost-cart-item .xcost-cart-quantity .qty {
        width: 26px !important;
        min-width: 26px !important;
        height: 34px !important;
        font-size: 13px !important;
    }

    .xcost-cart-item {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0 !important;
        margin: 0 0 14px !important;
        padding: 12px !important;
        border: 1px solid #edf0f3 !important;
        border-radius: 24px !important;
        background: #fff !important;
        box-shadow: 0 12px 28px rgba(32, 43, 62, .08) !important;
    }

    .xcost-cart-product {
        grid-column: 1 / -1 !important;
        grid-template-columns: 122px minmax(0, 1fr) !important;
        gap: 14px !important;
        margin-bottom: 14px !important;
        padding: 4px 4px 14px !important;
        border-bottom: 0 !important;
    }

    .xcost-cart-product__image {
        width: 122px !important;
        height: 122px !important;
        border-radius: 15px !important;
    }

    .xcost-cart-product__info {
        align-self: center;
    }

    .xcost-cart-product__info h2 {
        margin: 0 0 12px !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
    }

    .xcost-cart-remove {
        gap: 6px !important;
        color: #ff5d28 !important;
        font-size: 12px !important;
        font-weight: 700;
    }

    .xcost-cart-price,
    .xcost-cart-quantity,
    .xcost-cart-subtotal {
        grid-column: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 142px !important;
        padding: 58px 7px 12px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fffaf6 !important;
        box-shadow: none !important;
        text-align: center !important;
    }

    .xcost-cart-price { border-radius: 16px 0 0 16px !important; }
    .xcost-cart-subtotal { border-radius: 0 16px 16px 0 !important; }
    .xcost-cart-quantity {
        border-right: 1px solid #eee8e2 !important;
        border-left: 1px solid #eee8e2 !important;
    }

    .xcost-cart-price::after,
    .xcost-cart-quantity::after,
    .xcost-cart-subtotal::after {
        top: 18px !important;
        left: 50% !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        transform: translateX(-50%) !important;
    }

    .xcost-cart-price::before,
    .xcost-cart-quantity::before,
    .xcost-cart-subtotal::before {
        margin: 0 0 8px !important;
        color: #737f90 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
    }

    .xcost-cart-quantity::before { align-self: auto !important; }

    .xcost-cart-page .xcost-cart-price .price--sale,
    .xcost-cart-page .xcost-cart-subtotal .price--sale {
        font-size: 17px !important;
        line-height: 1.1 !important;
    }

    .xcost-cart-page .xcost-cart-quantity .input-group {
        grid-template-columns: 31px 38px 31px !important;
        width: 100px !important;
        max-width: 100% !important;
        height: 38px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .btn-default {
        width: 31px !important;
        min-width: 31px !important;
        height: 36px !important;
        font-size: 15px !important;
    }

    .xcost-cart-page .xcost-cart-quantity .qty {
        width: 38px !important;
        min-width: 38px !important;
        height: 36px !important;
        font-size: 14px !important;
    }
}
