/* REFLEX design system — mobile first + desktop refinement */
:root {
    /* Visual tokens */
    --rx-bg: #ffffff;
    --rx-surface: #ffffff;
    --rx-text: #111111;
    --rx-text-secondary: #757575;
    --rx-text-muted: #9a9a9a;
    --rx-border: #ececec;
    --rx-accent: #e85d04;
    --rx-accent-hover: #d04f00;
    --rx-accent-soft: rgba(232, 93, 4, 0.12);
    --rx-surface-warm: #faf7f4;
    --rx-surface-alt: #f7f3ef;
    --rx-danger: #e03131;
    --rx-sale: var(--rx-accent);
    --rx-primary: #1a1a1a;

    --rx-radius-sm: 4px;
    --rx-radius-md: 10px;
    --rx-radius-lg: 16px;

    --rx-space-xs: 4px;
    --rx-space-sm: 8px;
    --rx-space-md: 14px;
    --rx-space-lg: 24px;
    --rx-space-xl: 40px;

    --rx-font: "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, -apple-system, sans-serif;
    --rx-fs-caption: 0.75rem;
    --rx-fs-meta: 0.8125rem;
    --rx-fs-body: 0.9375rem;
    --rx-fs-button: 0.9375rem;
    --rx-fs-nav: 0.9375rem;
    --rx-fs-product: 0.875rem;
    --rx-fs-price: 1rem;
    --rx-fs-section: 1.25rem;
    --rx-fs-title: 1.5rem;
    --rx-fs-page-title: 1.75rem;
    --rx-fs-display: 2.25rem;
    --rx-fs-brand: 1.5rem;

    --rx-header-h: 48px;
    --rx-bottom-h: 56px;
    --rx-content-max: 1320px;
    --rx-content-width: var(--rx-content-max);
    --rx-page-pad: 14px;

    /* backward-compatible aliases */
    --reflex-bg: var(--rx-bg);
    --reflex-surface: var(--rx-surface);
    --reflex-text: var(--rx-text);
    --reflex-text-secondary: var(--rx-text-secondary);
    --reflex-border: var(--rx-border);
    --reflex-primary: var(--rx-primary);
    --reflex-accent: var(--rx-accent);
    --reflex-danger: var(--rx-danger);
    --reflex-radius-sm: var(--rx-radius-sm);
    --reflex-radius-md: var(--rx-radius-md);
    --reflex-space-xs: var(--rx-space-xs);
    --reflex-space-sm: var(--rx-space-sm);
    --reflex-space-md: var(--rx-space-md);
    --reflex-space-lg: var(--rx-space-lg);
    --reflex-header-h: var(--rx-header-h);
    --reflex-bottom-h: var(--rx-bottom-h);
    --reflex-content-max: var(--rx-content-max);
    --reflex-page-pad: var(--rx-page-pad);
    --reflex-font: var(--rx-font);
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--rx-font);
    font-size: var(--rx-fs-body);
    line-height: 1.45;
    color: var(--rx-text);
    background: var(--rx-bg);
}

body.rx-shop {
    padding-bottom: calc(var(--rx-bottom-h) + env(safe-area-inset-bottom, 0px));
}

a {
    color: inherit;
}

img,
svg,
video {
    max-width: 100%;
}

/* List page: avoid duplicate page title under mobile header */
body.rx-is-mobile #container:has(.rx-list) > #container_title {
    display: none;
}

/* ===== Kill legacy YoungCart fixed desktop widths (loaded before reflex.css) ===== */
#hd,
#wrapper,
#ft,
#container,
#hd_wrapper,
#container_wr,
#ft_wr,
#ft_copy,
#hd_pop,
#hd_menu {
    min-width: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
}

#hd_wrapper,
#ft_wr,
#ft_copy,
#hd_pop,
#hd_menu,
#container {
    width: 100% !important;
}

#container {
    overflow-x: hidden;
    margin: 0 auto;
    min-height: 0 !important;
}

/* Mobile utility bar never on phone layout markers */
.rx-utility {
    display: none;
}

@media (min-width: 768px) {
    .rx-utility {
        display: block;
    }
}

/* ===== Mobile shop header ===== */
#hd.rx-hd {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--reflex-surface);
    border-bottom: 1px solid var(--reflex-border);
    padding-top: env(safe-area-inset-top, 0px);
}

.rx-hd__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--reflex-header-h);
    padding: 0 var(--reflex-page-pad);
    gap: var(--reflex-space-sm);
}

.rx-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-size: var(--rx-fs-brand);
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--rx-text);
    line-height: 1;
}

.rx-brand-logo {
    display: block;
    width: auto;
    max-width: min(168px, 46vw);
    height: 22px;
    object-fit: contain;
    object-position: left center;
}

.rx-brand-logo--header {
    height: 22px;
    max-width: min(150px, 42vw);
}

.rx-brand-logo--auth {
    height: 26px;
    max-width: min(168px, 70vw);
}

.rx-brand-logo--footer {
    height: 22px;
    max-width: 140px;
}

.rx-brand-logo--account {
    height: 32px;
    max-width: min(148px, 52vw);
}

.rx-account-hd {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 24px;
}

.rx-account-hd__brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
}

@media (min-width: 1024px) {
    .rx-pc-bar__brand .rx-brand-logo,
    .rx-pc-bar__brand .rx-brand-logo--header,
    .rx-pc-bar__brand .rx-brand-logo--account {
        display: block;
        width: 160px;
        max-width: 165px;
        height: auto;
        object-fit: contain;
        object-position: left center;
    }

    .rx-auth__brand .rx-brand-logo,
    a.rx-auth__brand .rx-brand-logo,
    .rx-brand-logo--auth {
        height: 30px;
        max-width: 200px;
    }

    .rx-footer__brand .rx-brand-logo,
    .rx-brand-logo--footer {
        height: 24px;
        max-width: 160px;
    }

    .rx-account-hd {
        margin-bottom: 28px;
    }

    .rx-account-hd .rx-brand-logo--account {
        height: auto;
        width: 160px;
        max-width: 165px;
    }

    .rx-login .rx-account-hd .rx-brand-logo--account {
        width: 180px;
        max-width: 190px;
        height: auto;
    }
}

.rx-brand:hover,
.rx-brand:focus {
    color: var(--rx-text);
}

.rx-brand:focus-visible {
    outline: 2px solid var(--rx-accent);
    outline-offset: 3px;
    border-radius: 2px;
}

.rx-hd__actions {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-left: auto;
}

.rx-icon-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    color: var(--rx-text);
    font-size: 1.05rem;
    text-decoration: none;
    cursor: pointer;
    border-radius: var(--rx-radius-sm);
}

.rx-icon-btn:hover {
    background: rgba(0, 0, 0, 0.04);
}

.rx-icon-btn:focus {
    outline: none;
}

.rx-icon-btn:focus-visible {
    outline: 2px solid var(--rx-accent);
    outline-offset: 2px;
}

.rx-icon-btn .cart-count,
.rx-icon-btn .rx-badge {
    position: absolute;
    top: 4px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--rx-accent);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
}

.rx-search {
    padding: 0 var(--reflex-page-pad) 8px;
}

.rx-search__form {
    display: flex;
    align-items: center;
    gap: var(--reflex-space-sm);
    height: 44px;
    padding: 0 14px;
    background: var(--rx-bg);
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-md);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rx-search__form:focus-within {
    border-color: var(--rx-accent);
    box-shadow: 0 0 0 3px var(--rx-accent-soft);
}

.rx-search__form label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.rx-search__form input[type="text"] {
    flex: 1;
    min-width: 0;
    height: 42px;
    border: 0;
    background: transparent;
    font-size: 0.95rem;
    color: var(--rx-text);
    -webkit-text-fill-color: var(--rx-text);
    caret-color: var(--rx-text);
    outline: none;
}

.rx-search__form input[type="text"]::placeholder {
    color: var(--rx-text-muted);
    -webkit-text-fill-color: var(--rx-text-muted);
    opacity: 1;
}

/* Defeat legacy #hd_sch #sch_str { color:#fff } from default/mobile shop CSS */
#hd_sch #sch_str,
#hd.rx-pc-hd #hd_sch #sch_str,
body.rx-shop #hd_sch input[type="text"],
body.rx-shop .rx-search__form input[type="text"],
body.rx-shop .rx-hd--search .rx-search__form--header input[type="text"],
body.rx-shop .rx-search-form__filters .ssch_input,
body.rx-shop .rx-search-form__filters .frm_input {
    color: var(--rx-text) !important;
    -webkit-text-fill-color: var(--rx-text) !important;
    caret-color: var(--rx-text);
}

#hd_sch #sch_str::placeholder,
body.rx-shop .rx-search__form input[type="text"]::placeholder,
body.rx-shop .rx-hd--search .rx-search__form--header input[type="text"]::placeholder {
    color: var(--rx-text-muted) !important;
    -webkit-text-fill-color: var(--rx-text-muted) !important;
    opacity: 1;
}

#hd_sch #sch_str:-webkit-autofill,
#hd_sch #sch_str:-webkit-autofill:hover,
#hd_sch #sch_str:-webkit-autofill:focus,
body.rx-shop .rx-search__form input[type="text"]:-webkit-autofill,
body.rx-shop .rx-search__form input[type="text"]:-webkit-autofill:hover,
body.rx-shop .rx-search__form input[type="text"]:-webkit-autofill:focus,
body.rx-shop .rx-hd--search .rx-search__form--header input[type="text"]:-webkit-autofill {
    -webkit-text-fill-color: var(--rx-text) !important;
    caret-color: var(--rx-text);
    box-shadow: 0 0 0 1000px #fff inset;
    transition: background-color 9999s ease-in-out 0s;
}

.rx-search__form button {
    border: 0;
    background: transparent;
    color: var(--rx-text-secondary);
    font-size: 1rem;
    padding: 4px;
    cursor: pointer;
}

.rx-search__form button:focus-visible {
    outline: 2px solid var(--rx-accent);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Discovery tabs + category chips */
.rx-catnav {
    background: var(--rx-surface);
    border-bottom: 1px solid var(--rx-border);
}

.rx-catnav__track {
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: visible;
    padding: 0;
}

.rx-catnav__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    overflow: visible;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 4px var(--reflex-page-pad) 0;
}

.rx-catnav__row--cats {
    padding-top: 0;
    padding-bottom: 6px;
}

.rx-catnav__sep {
    flex: 0 0 auto;
    width: 1px;
    height: 16px;
    margin: 10px 8px;
    background: var(--rx-border);
    align-self: center;
}

.rx-catnav__item {
    position: relative;
    flex: 0 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 36px;
    height: auto;
    padding: 6px 10px 8px;
    border-radius: 0;
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    color: var(--rx-text-secondary);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    font-family: inherit;
    box-sizing: border-box;
    max-width: 100%;
}

.rx-catnav__item:hover {
    color: var(--rx-accent);
    background: transparent;
}

.rx-catnav__item:focus {
    outline: none;
}

.rx-catnav__item:focus-visible {
    outline: 2px solid var(--rx-accent);
    outline-offset: -2px;
}

.rx-catnav__item.is-active {
    color: var(--rx-accent);
    background: transparent;
    border-bottom-color: var(--rx-accent);
    font-weight: 700;
}

/* Real category chips (mobile) */
.rx-catnav__item--cat {
    height: 32px;
    min-height: 32px;
    margin: 4px 2px 8px;
    padding: 0 12px;
    border-radius: 999px;
    border-bottom: 0;
    background: var(--rx-bg);
    color: var(--rx-text);
    font-weight: 500;
    box-shadow: inset 0 0 0 1px var(--rx-border);
}

.rx-catnav__item--cat:hover {
    color: var(--rx-accent);
    background: var(--rx-accent-soft);
    box-shadow: none;
}

.rx-catnav__item--cat.is-active {
    color: var(--rx-accent);
    background: var(--rx-accent-soft);
    border-bottom: 0;
    box-shadow: none;
    font-weight: 700;
}

button.rx-catnav__item {
    appearance: none;
}

button.rx-catnav__cate {
    color: var(--rx-text);
}

/* Home sections */
.rx-home,
.rx-main.is_index {
    background: var(--reflex-bg);
}

.rx-home .sct_wrap,
.rx-home #sidx_lat,
.rx-section {
    margin: 0 0 18px;
    padding: 8px var(--reflex-page-pad) 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.rx-home .sct_wrap > h2,
.rx-home .sct_wrap > header h2,
.rx-section > header h2,
.rx-section > h2 {
    margin: 0 0 10px;
    font-size: var(--rx-fs-section);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--rx-text);
}

.rx-home .sct_wrap > h2 a,
.rx-home .sct_wrap > header h2 a,
.rx-section > header h2 a {
    text-decoration: none;
}

.rx-home .sct_wrap > h2 a::after,
.rx-home .sct_wrap > header h2 a::after,
.rx-section > header h2 a::after {
    content: " ›";
    color: var(--rx-accent);
    font-weight: 500;
}

/* Hero: no large empty space */
.rx-hero:empty {
    display: none;
}

.rx-hero {
    margin: 0;
    min-height: 0;
    background: transparent;
}

.rx-hero img {
    display: block;
    width: 100%;
    height: auto;
}

/* Compact empty product state */
.sct_noitem,
.rx-home .sct_noitem,
.rx-section .sct_noitem,
#container .sct_noitem {
    width: 100%;
    margin: 0;
    padding: 20px 8px !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.4;
    text-align: center;
    color: var(--reflex-text-secondary);
    font-size: 0.9rem;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Kill legacy slider empty chrome */
.rx-section .bx-wrapper,
.rx-section .owl-carousel {
    margin: 0;
}

.rx-section .bx-wrapper:has(.sct_noitem),
.rx-main .bx-wrapper:has(.sct_noitem) {
    border: 0;
    box-shadow: none;
    background: transparent;
}

/* Product cards — 2 column dense grid */
.rx-home .sct,
.rx-main .sct,
.rx-list .sct,
#container.idx-container .sct {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -3px;
    padding: 0;
    list-style: none;
}

.rx-home .sct_li,
.rx-main .sct_li,
.rx-list .sct_li,
#container.idx-container .sct_li {
    position: relative;
    width: 50%;
    margin: 0 0 14px;
    padding: 0 3px;
    float: none;
    box-sizing: border-box;
}

.rx-home .sct_li .li_wr,
.rx-main .sct_li .li_wr,
.rx-list .sct_li .li_wr,
#container.idx-container .sct_li .li_wr {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.rx-home .sct_img,
.rx-main .sct_img,
.rx-list .sct_img,
#container.idx-container .sct_img {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: var(--reflex-radius-sm);
    background: #eee;
    margin-bottom: 6px;
}

.rx-home .sct_img a,
.rx-main .sct_img a,
.rx-list .sct_img a,
#container.idx-container .sct_img a {
    display: block;
    width: 100%;
    height: 100%;
}

.rx-home .sct_img img,
.rx-main .sct_img img,
.rx-list .sct_img img,
#container.idx-container .sct_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rx-home .sct_txt_wr,
.rx-main .sct_txt_wr,
#container.idx-container .sct_txt_wr {
    padding: 0 1px;
}

.rx-home .sct_txt,
.rx-main .sct_txt,
.rx-list .sct_txt,
#container.idx-container .sct_txt {
    min-height: 2.7em;
}

.rx-home .sct_txt a,
.rx-main .sct_txt a,
.rx-list .sct_txt a,
#container.idx-container .sct_txt a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--rx-fs-product);
    line-height: 1.35;
    font-weight: 500;
    text-decoration: none;
    color: var(--rx-text);
}

.rx-home .sct_cost,
.rx-main .sct_cost,
.rx-list .sct_cost,
#container.idx-container .sct_cost {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 6px;
    margin-top: 4px;
    font-size: var(--rx-fs-price);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--rx-text);
}

.rx-home .sct_cost .sct_disc,
.rx-main .sct_cost .sct_disc,
.rx-list .sct_cost .sct_disc {
    color: var(--rx-sale);
    font-size: 0.95rem;
    font-weight: 800;
}

.rx-home .sct_cost .sct_price,
.rx-main .sct_cost .sct_price,
.rx-list .sct_cost .sct_price {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--reflex-text);
}

.rx-home .sct_cost .sct_dict,
.rx-main .sct_cost .sct_dict,
.rx-list .sct_cost .sct_dict,
.rx-home .sct_cost .sct_discount,
.rx-main .sct_cost .sct_discount,
.rx-list .sct_cost .sct_discount,
.rx-home .sct_cost strike,
.rx-main .sct_cost strike,
.rx-list .sct_cost strike,
.rx-home .sct_cost s,
.rx-main .sct_cost s,
.rx-list .sct_cost s {
    flex-basis: 100%;
    color: var(--reflex-text-secondary);
    font-size: 0.75rem;
    font-weight: 500;
    text-decoration: line-through;
}

.rx-home .sct_basic,
.rx-home .sct_sns,
.rx-home .sct_star,
.rx-home .sct_id,
.rx-home .sct_icon,
.rx-main .sct_basic,
.rx-main .sct_sns,
.rx-main .sct_star,
.rx-main .sct_icon,
.rx-list .sct_basic,
.rx-list .sct_sns,
.rx-list .sct_icon,
#container.idx-container .sct_basic,
#container.idx-container .sct_sns {
    display: none;
}

/* Real wishlist action — image corner */
.rx-home .sct_op_btn,
.rx-main .sct_op_btn,
.rx-list .sct_op_btn {
    position: absolute;
    top: 6px;
    right: 8px;
    z-index: 2;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

.rx-home .sct_op_btn .btn_wish,
.rx-main .sct_op_btn .btn_wish,
.rx-list .sct_op_btn .btn_wish {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--reflex-text);
    font-size: 0.85rem;
    cursor: pointer;
}

.rx-home .sct_op_btn .btn_share,
.rx-main .sct_op_btn .btn_share,
.rx-list .sct_op_btn .btn_share,
.rx-home .sct_sns_wrap,
.rx-main .sct_sns_wrap,
.rx-list .sct_sns_wrap {
    display: none;
}

/* Bottom navigation */
.rx-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1100;
    display: flex;
    height: calc(var(--reflex-bottom-h) + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--reflex-border);
    backdrop-filter: blur(8px);
}

.rx-bottom-nav__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    border: 0;
    background: transparent;
    color: var(--reflex-text-secondary);
    text-decoration: none;
    font-size: 0.68rem;
    font-weight: 600;
    cursor: pointer;
}

.rx-bottom-nav__item i {
    font-size: 1.15rem;
    line-height: 1;
}

.rx-bottom-nav__item.is-active {
    color: var(--rx-accent);
}

.rx-bottom-nav__item:hover {
    color: var(--rx-accent);
}

.rx-bottom-nav__item:focus {
    outline: none;
}

.rx-bottom-nav__item:focus-visible {
    outline: 2px solid var(--rx-accent);
    outline-offset: -4px;
    border-radius: 8px;
}

.rx-bottom-nav__item.is-active span {
    font-weight: 700;
}

/* Mobile footer — denser premium type (structure locked) */
body.rx-shop #ft {
    margin-top: var(--reflex-space-md);
    padding: 28px 16px 24px;
    background: var(--reflex-surface);
    border-top: 1px solid var(--reflex-border);
    text-align: left;
    color: rgba(20, 20, 20, 0.62);
}

body.rx-shop #ft h2 {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: #202020;
    margin: 0 0 12px;
}

body.rx-shop #ft_company {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-bottom: 14px;
}

body.rx-shop #ft_company a {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.55;
    color: rgba(20, 20, 20, 0.62);
    text-decoration: none;
}

body.rx-shop #ft_company a:hover {
    color: #202020;
}

body.rx-shop #ft_logo {
    display: none;
}

body.rx-shop #ft p {
    margin: 0;
    font-size: 12px;
    line-height: 1.6;
    color: rgba(20, 20, 20, 0.60);
    word-break: keep-all;
    overflow-wrap: anywhere;
}

body.rx-shop #ft p > span {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
    margin: 0 0 6px;
    width: 100%;
    max-width: 100%;
}

body.rx-shop #ft p > span > b {
    font-weight: 600;
    color: rgba(20, 20, 20, 0.52);
}

/* Mobile footer "PC 버전" — dark secondary button; white label on all link states.
   ROOT: FOOTER TYPO1 set color:rgba(20,20,20,.55) while mobile_shop kept bg:#302e2e. */
body.rx-shop a#device_change,
body.rx-shop a#device_change:link,
body.rx-shop a#device_change:visited,
body.rx-shop a#device_change:hover,
body.rx-shop a#device_change:focus,
body.rx-shop a#device_change:focus-visible,
body.rx-shop a#device_change:active,
body.rx-shop #device_change {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: auto;
    min-width: 120px;
    min-height: 44px;
    margin-top: 20px;
    margin-bottom: 0;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    background: #2f2d2c;
    color: #fff;
    -webkit-text-fill-color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s ease, opacity 0.15s ease;
}

body.rx-shop a#device_change:hover,
body.rx-shop a#device_change:active,
body.rx-shop #device_change:hover,
body.rx-shop #device_change:active {
    background: #1f1e1d;
    color: #fff;
    -webkit-text-fill-color: #fff;
    text-decoration: none;
}

body.rx-shop a#device_change:focus-visible,
body.rx-shop #device_change:focus-visible {
    outline: 2px solid rgba(232, 93, 4, 0.55);
    outline-offset: 2px;
    color: #fff;
    -webkit-text-fill-color: #fff;
}

/* ===== Desktop PC layout ===== */
@media (min-width: 768px) {
    body.rx-shop {
        padding-bottom: 0;
        background: var(--reflex-surface);
    }

    .rx-bottom-nav {
        display: none;
    }

    /* Kill legacy YoungCart floats/sidebars if any remain */
    #aside,
    #side_menu,
    #hd_menu,
    #tabs_con,
    #quick {
        display: none;
    }

    #wrapper.rx-wrapper,
    #wrapper {
        width: 100%;
        max-width: none;
        margin: 0;
        float: none;
        background: var(--reflex-surface);
    }

    #wrapper #container.rx-container,
    #wrapper #container {
        display: block;
        float: none;
        width: 100%;
        max-width: var(--reflex-content-max);
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }

    #wrapper .shop-content,
    #wrapper .rx-main {
        float: none;
        width: 100%;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* Utility bar (outside #hd after sticky split) — spacing finalized in UTILITY1 block */
    #tnb.rx-utility {
        background: var(--reflex-bg);
        border-bottom: 1px solid rgba(20, 20, 20, 0.08);
        min-height: 40px;
    }

    .rx-utility__inner {
        max-width: var(--reflex-content-max);
        margin: 0 auto;
        padding: 0 24px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        min-height: 40px;
        box-sizing: border-box;
    }

    /* PC header: utility is outside #hd (scrolls away); #hd sticky = logo/search + catnav */
    #hd.rx-pc-hd {
        background: var(--rx-surface);
        border-bottom: 1px solid var(--rx-border);
        position: sticky;
        top: 0;
        z-index: 1000;
        overflow: visible;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.035);
    }

    #hd.rx-pc-hd > .rx-catnav {
        background: var(--rx-surface-warm);
        border-bottom: 0;
    }

    #hd.rx-pc-hd #hd_wrapper.rx-pc-bar,
    .rx-pc-bar {
        max-width: var(--reflex-content-max);
        margin: 0 auto;
        padding: 14px 24px;
        min-height: 72px;
        display: flex;
        align-items: center;
        gap: 24px;
        box-sizing: border-box;
        background: var(--rx-surface);
        position: relative;
        z-index: 3;
    }

    .rx-pc-bar__brand .rx-brand {
        font-size: 1.85rem;
        white-space: nowrap;
    }

    .rx-pc-bar__brand .rx-brand-logo,
    .rx-pc-bar__brand .rx-brand-logo--header,
    .rx-pc-bar__brand .rx-brand-logo--account {
        display: block;
        width: 160px;
        max-width: 165px;
        height: auto;
        object-fit: contain;
        object-position: left center;
    }

    .rx-pc-bar__search {
        flex: 1;
        max-width: 560px;
    }

    #hd.rx-pc-hd #hd_sch {
        margin: 0;
        border: 1px solid var(--rx-border);
        border-radius: var(--rx-radius-md);
        background: var(--rx-bg);
        overflow: hidden;
        display: flex;
        align-items: center;
        height: 46px;
        box-sizing: border-box;
        position: relative;
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    #hd.rx-pc-hd #hd_sch:focus-within {
        border-color: var(--rx-accent);
        box-shadow: 0 0 0 3px var(--rx-accent-soft);
    }

    #hd.rx-pc-hd #hd_sch legend {
        display: none;
    }

    #hd.rx-pc-hd #hd_sch form {
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        margin: 0;
        position: relative;
    }

    #hd.rx-pc-hd #hd_sch input[type="text"],
    #hd.rx-pc-hd #sch_str {
        flex: 1;
        width: auto;
        height: 46px;
        border: 0;
        background: transparent;
        padding: 0 48px 0 18px;
        font-size: 0.95rem;
        box-sizing: border-box;
        float: none;
        color: var(--rx-text);
        -webkit-text-fill-color: var(--rx-text);
        caret-color: var(--rx-text);
    }

    #hd.rx-pc-hd #hd_sch input[type="text"]::placeholder,
    #hd.rx-pc-hd #sch_str::placeholder {
        color: var(--rx-text-muted);
        -webkit-text-fill-color: var(--rx-text-muted);
        opacity: 1;
    }

    #hd.rx-pc-hd #hd_sch #sch_submit,
    #hd.rx-pc-hd #hd_sch button[type="submit"] {
        position: absolute;
        top: 0;
        right: 0;
        width: 46px;
        height: 46px;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--reflex-text);
        margin: 0;
        float: none;
        box-shadow: none;
    }

    #hd.rx-pc-hd #logo img {
        /* Legacy text-brand era hid all #logo img; keep REFSA brand logos visible */
        display: none;
    }

    #hd.rx-pc-hd #logo img.rx-brand-logo {
        display: block;
        width: 160px;
        max-width: 165px;
        height: auto;
        object-fit: contain;
        object-position: left center;
        opacity: 1;
        visibility: visible;
    }

    #hd.rx-pc-hd .hd_login {
        float: none;
    }

    #hd.rx-pc-hd .hd_sch_wr {
        float: none;
        width: auto;
    }

    .rx-pc-bar__actions {
        display: flex;
        align-items: center;
        gap: 4px;
        list-style: none;
        margin: 0;
        padding: 0;
        margin-left: auto;
    }

    .rx-pc-action {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        height: 40px;
        padding: 0 10px;
        border-radius: 8px;
        text-decoration: none;
        color: var(--reflex-text);
        font-size: 0.85rem;
        font-weight: 600;
        position: relative;
    }

    .rx-pc-action:hover {
        background: var(--reflex-bg);
    }

    .rx-pc-action .count,
    .rx-pc-action em.count {
        position: absolute;
        top: 2px;
        right: 0;
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        border-radius: 999px;
        background: var(--reflex-accent);
        color: #fff;
        font-size: 10px;
        font-style: normal;
        line-height: 16px;
        text-align: center;
    }

    /* Desktop category text nav — single hierarchy */
    .rx-catnav {
        border-bottom: 1px solid var(--reflex-border);
        background: var(--reflex-surface);
    }

    .rx-catnav__track {
        max-width: var(--reflex-content-max);
        margin: 0 auto;
        padding: 0 24px;
        gap: 0;
        overflow: visible;
        flex-wrap: wrap;
    }

    .rx-catnav__item {
        height: 48px;
        min-height: 48px;
        margin: 0;
        padding: 0 14px 2px;
        border-radius: 0;
        background: transparent;
        border: 0;
        border-bottom: 2px solid transparent;
        box-shadow: none;
        color: var(--rx-text);
        font-size: 0.95rem;
        font-weight: 600;
    }

    .rx-catnav__item:hover {
        color: var(--rx-accent);
        background: transparent;
        box-shadow: none;
    }

    .rx-catnav__item.is-active {
        background: transparent;
        color: var(--rx-accent);
        border-bottom-color: var(--rx-accent);
        box-shadow: none;
        font-weight: 700;
    }

    .rx-catnav__item--cat {
        height: 48px;
        min-height: 48px;
        margin: 0;
        padding: 0 14px 2px;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        font-weight: 600;
    }

    .rx-catnav__item--cat.is-active,
    .rx-catnav__item--cat:hover {
        background: transparent;
        box-shadow: none;
    }

    button.rx-catnav__cate {
        color: var(--rx-text);
    }

    /* Sections */
    .rx-section,
    .rx-main .sct_wrap {
        max-width: var(--reflex-content-max);
        margin: 28px auto;
        padding: 0 24px;
        background: transparent;
        border: 0;
        box-sizing: border-box;
    }

    .rx-section > header h2,
    .rx-main .sct_wrap > header h2,
    .rx-main .sct_wrap > h2 {
        margin: 0 0 14px;
        font-size: 1.45rem;
        font-weight: 800;
        letter-spacing: -0.03em;
    }

    .rx-section .sct_noitem,
    .rx-main .sct_noitem {
        padding: 28px 12px !important;
        font-size: 0.95rem;
        background: var(--reflex-bg) !important;
        border-radius: var(--reflex-radius-md);
    }

    .rx-hero {
        max-width: var(--reflex-content-max);
        margin: 0 auto;
        padding: 0 24px;
        box-sizing: border-box;
    }

    .rx-main .sct_li {
        width: 25%;
        padding: 0 8px;
        margin-bottom: 20px;
    }

    /* Modern footer — refined in FOOTER TYPO1 */
    #ft.rx-footer,
    .rx-footer {
        margin-top: 48px;
        padding: 40px 24px;
        background: #f3f3f1;
        border-top: 1px solid var(--reflex-border);
    }

    .rx-footer__inner {
        max-width: var(--reflex-content-max);
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1.1fr 2fr;
        gap: 64px;
    }

    .rx-footer__brand .rx-brand {
        font-size: 1.35rem;
        margin-bottom: 0;
        display: inline-flex;
        align-items: center;
        line-height: 0;
    }

    .rx-footer__copy {
        margin: 8px 0 0;
        font-size: 11.5px;
        color: rgba(20, 20, 20, 0.48);
        line-height: 1.5;
    }

    .rx-footer__cols {
        display: grid;
        grid-template-columns: 1.4fr 1fr;
        gap: 48px;
    }

    .rx-footer__col h2 {
        margin: 0 0 16px;
        font-size: 14.5px;
        font-weight: 700;
        letter-spacing: -0.01em;
        line-height: 1.3;
        color: #202020;
    }

    .rx-footer__col ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .rx-footer__col > ul:not(.rx-footer__links) > li {
        display: flex;
        align-items: flex-start;
        gap: 20px;
        margin: 0 0 9px;
        font-size: 12.5px;
        font-weight: 400;
        color: rgba(20, 20, 20, 0.64);
        line-height: 1.6;
    }

    .rx-footer__col > ul:not(.rx-footer__links) > li > span {
        display: block;
        flex: 0 0 110px;
        width: 110px;
        min-width: 110px;
        max-width: 110px;
        font-size: 12.5px;
        font-weight: 600;
        color: rgba(20, 20, 20, 0.52);
        line-height: 1.6;
    }

    .rx-footer__links li {
        margin: 0 0 10px;
        font-size: 12.5px;
        line-height: 1.55;
        color: rgba(20, 20, 20, 0.62);
    }

    .rx-footer__links a {
        text-decoration: none;
        font-size: 12.5px;
        font-weight: 500;
        line-height: 1.55;
        color: rgba(20, 20, 20, 0.62);
        transition: color 0.15s ease;
    }

    .rx-footer__links a:hover {
        color: #202020;
        text-decoration: none;
    }

    /* Scroll top — ID selector required to beat legacy default_shop #top_btn absolute/left */
    #top_btn.rx-top-btn,
    .rx-top-btn {
        position: fixed;
        right: 28px;
        bottom: 28px;
        left: auto;
        top: auto;
        z-index: 900;
        width: 44px;
        height: 44px;
        margin: 0;
        border: 1px solid var(--rx-border);
        border-top: 1px solid var(--rx-border);
        border-radius: 999px;
        background: #fff;
        color: var(--rx-text-secondary);
        cursor: pointer;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease, color 0.15s ease, border-color 0.15s ease;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
        line-height: 1;
        font-size: 16px;
    }

    #top_btn.rx-top-btn.is-visible,
    .rx-top-btn.is-visible {
        opacity: 1;
        pointer-events: auto;
    }

    #top_btn.rx-top-btn:hover,
    .rx-top-btn:hover {
        color: var(--rx-accent);
        border-color: rgba(232, 93, 4, 0.35);
        background: #fff;
    }
}

@media (min-width: 1024px) {
    .rx-main .sct_li {
        width: 25%;
    }
}

@media (max-width: 767px) {
    #aside,
    #side_menu,
    #hd_menu,
    .rx-top-btn,
    .rx-utility {
        display: none;
    }

    #hd.rx-pc-hd {
        /* mobile uses separate mshop head; if this leaks, keep compact */
    }
}

/* ===== Phase 4R: list page + width overrides for inline YoungCart styles ===== */
.rx-main .sct_li,
.rx-list .sct_li,
.rx-home .sct_li,
#container .sct_li {
    width: 50% !important;
    max-width: none !important;
}

.rx-main .sct_img img,
.rx-list .sct_img img,
.rx-home .sct_img img,
#container .sct_img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.rx-list {
    max-width: var(--reflex-content-max);
    margin: 0 auto;
    padding: 8px var(--reflex-page-pad) 28px;
    box-sizing: border-box;
}

.rx-list__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 4px 0 10px;
}

.rx-list__title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.rx-list__count {
    margin: 0;
    font-size: 0.82rem;
    color: var(--reflex-text-secondary);
    white-space: nowrap;
}

.rx-list__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    background: transparent;
}

.rx-list #sct_sort {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    flex: 1 1 auto;
}

.rx-list #sct_sort h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.rx-list #ssch_sort {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rx-list #ssch_sort li {
    margin: 0;
    float: none;
}

.rx-list #ssch_sort a {
    display: inline-flex;
    align-items: center;
    height: 30px;
    padding: 0 10px;
    border-radius: var(--rx-radius-md);
    background: var(--rx-bg);
    color: var(--rx-text-secondary);
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 600;
    box-shadow: inset 0 0 0 1px var(--rx-border);
}

.rx-list #ssch_sort a:hover {
    color: var(--rx-accent);
    background: var(--rx-accent-soft);
    box-shadow: none;
}

.rx-list #ssch_sort .sch_on a,
.rx-list #ssch_sort li a.sch_on {
    background: var(--rx-accent-soft);
    color: var(--rx-accent);
    box-shadow: none;
    font-weight: 700;
}

.rx-list .sct_lst_view,
.rx-list #sct_lst_view {
    display: none;
}

.st_30_wr {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .rx-main .sct_li,
    .rx-list .sct_li,
    .rx-home .sct_li,
    #container .sct_li {
        width: 25% !important;
        padding: 0 8px !important;
        margin-bottom: 22px !important;
    }

    .rx-list {
        padding: 20px 24px 40px;
    }

    .rx-list__title {
        font-size: 1.45rem;
    }

    .rx-pc-bar__actions {
        gap: 2px;
        flex: 0 0 auto;
    }

    .rx-pc-action span {
        display: inline;
    }

    .rx-catnav__sep {
        height: 20px;
        margin: 14px 8px;
    }
}

@media (min-width: 1024px) {
    .rx-main .sct_li,
    .rx-list .sct_li,
    .rx-home .sct_li,
    #container .sct_li {
        width: 25% !important;
    }
}

/* ===== Phase 4V: button system + legacy YoungCart blue overrides (theme scope) ===== */
.rx-shop .btn_submit,
.rx-shop a.btn_submit,
.rx-shop button.btn_submit,
.rx-shop input.btn_submit {
    background: var(--rx-accent);
    border: 1px solid var(--rx-accent-hover);
    color: #fff;
    border-radius: var(--rx-radius-sm);
}

.rx-shop .btn_submit:hover,
.rx-shop a.btn_submit:hover,
.rx-shop button.btn_submit:hover,
.rx-shop input.btn_submit:hover {
    background: var(--rx-accent-hover);
    border-color: var(--rx-accent-hover);
    color: #fff;
}

.rx-shop .btn_submit:focus-visible,
.rx-shop a.btn_submit:focus-visible {
    outline: 2px solid var(--rx-accent);
    outline-offset: 2px;
}

.rx-shop .btn_cancel,
.rx-shop a.btn_cancel,
.rx-shop button.btn_cancel {
    background: var(--rx-surface);
    border: 1px solid var(--rx-border);
    color: var(--rx-text);
    border-radius: var(--rx-radius-sm);
}

.rx-shop a.btn01,
.rx-shop .btn01 {
    background: var(--rx-surface);
    border: 1px solid var(--rx-border);
    color: var(--rx-text);
}

.rx-shop a.btn02,
.rx-shop .btn02 {
    background: var(--rx-accent);
    border: 1px solid var(--rx-accent-hover);
    color: #fff;
}

.rx-shop a.btn02:hover,
.rx-shop .btn02:hover {
    background: var(--rx-accent-hover);
}

.rx-pc-action:focus-visible {
    outline: 2px solid var(--rx-accent);
    outline-offset: 2px;
}

.rx-list__title {
    color: var(--rx-text);
}

.rx-home .sct_txt a,
.rx-main .sct_txt a,
.rx-list .sct_txt a {
    color: var(--rx-text);
}

.rx-home .sct_cost .sct_dict,
.rx-main .sct_cost .sct_dict,
.rx-list .sct_cost .sct_dict {
    color: var(--rx-text-muted);
}

/* ===== Phase 5: product detail (scoped) ===== */
body.rx-is-item {
    --rx-purchase-bar-h: 64px;
    padding-bottom: calc(var(--rx-purchase-bar-h) + env(safe-area-inset-bottom, 0px));
}

body.rx-is-item.rx-is-pc {
    padding-bottom: 0;
}

body.rx-is-item .rx-bottom-nav {
    display: none !important;
}

body.rx-is-item #ft {
    margin-bottom: 0;
}

.rx-hd--item .rx-hd__bar--item {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: 8px;
    min-height: var(--rx-header-h);
    padding: 0 8px;
}

.rx-hd--item .rx-hd__title {
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: var(--rx-text);
    letter-spacing: -0.02em;
}

.rx-hd--item .rx-hd__back {
    justify-self: start;
}

#sit.rx-item-detail,
#sit {
    max-width: 100%;
    overflow-x: hidden;
}

body.rx-is-item .rx-legacy-price-row {
    display: none !important;
}

.rx-item-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    margin: 10px 0 14px;
}

.rx-item-price__disc {
    color: var(--rx-sale);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.rx-item-price__sale {
    color: var(--rx-text);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.rx-item-price__cust {
    color: var(--rx-text-muted);
    font-size: 14px;
    text-decoration: line-through;
    font-weight: 400;
}

body.rx-is-mobile #sit #sit_title,
body.rx-is-mobile #sit_ov #sit_title {
    display: block;
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.45;
    color: var(--rx-text);
    letter-spacing: -0.02em;
}

body.rx-is-mobile #sit #sit_desc {
    margin: 0 0 8px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--rx-text-secondary);
}

body.rx-is-mobile #sit_ov {
    padding: 16px 16px 20px !important;
    border: 0 !important;
    background: var(--rx-surface) !important;
}

body.rx-is-mobile #sit_ov .sit_ov_wr {
    margin: 0;
    border: 0;
}

body.rx-is-mobile #sit_pvi.rx-item-gallery,
body.rx-is-mobile .rx-item-gallery {
    margin: 0;
    background: #f6f6f6;
    overflow: hidden;
}

body.rx-is-mobile .rx-item-gallery #sit_pvi_slide,
body.rx-is-mobile .rx-item-gallery ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.rx-is-mobile .rx-item-gallery img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    background: #f6f6f6;
}

body.rx-is-mobile .rx-item-gallery.is-single .btn_wr,
body.rx-is-mobile .rx-item-gallery.is-single #slide-counter {
    display: none !important;
}

body.rx-is-mobile #sit_siblings {
    display: none !important;
}

body.rx-is-mobile #sit_star_sns {
    margin: 8px 0 12px;
    padding: 0;
    border: 0;
}

body.rx-is-mobile .rx-item-meta,
body.rx-is-mobile #sit .sit_ov_tbl {
    margin: 0;
    padding: 12px 0 0;
    border-top: 1px solid var(--rx-border);
    color: var(--rx-text-secondary);
}

body.rx-is-mobile .rx-item-meta table,
body.rx-is-mobile #sit .sit_ov_tbl table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
}

body.rx-is-mobile .rx-item-meta th,
body.rx-is-mobile .rx-item-meta td,
body.rx-is-mobile #sit .sit_ov_tbl th,
body.rx-is-mobile #sit .sit_ov_tbl td {
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid var(--rx-border);
    font-size: 13px;
    font-weight: 400;
    vertical-align: top;
    background: transparent;
}

body.rx-is-mobile .rx-item-meta th,
body.rx-is-mobile #sit .sit_ov_tbl th {
    width: 32%;
    color: var(--rx-text-muted);
}

body.rx-is-mobile .rx-item-meta td,
body.rx-is-mobile #sit .sit_ov_tbl td {
    color: var(--rx-text);
    padding-left: 12px;
}

/* Mobile purchase bar */
.rx-item-purchase-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--rx-border);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.04);
}

.rx-item-purchase-bar__wish {
    flex: 0 0 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    color: var(--rx-text-secondary);
    background: var(--rx-surface);
    text-decoration: none;
    font-size: 20px;
}

.rx-item-purchase-bar__wish:hover,
.rx-item-purchase-bar__wish:focus {
    color: var(--rx-accent);
    border-color: var(--rx-accent);
}

.rx-item-purchase-bar__cta {
    flex: 1 1 auto;
    height: 48px;
    border: 0;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-accent);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.02em;
    cursor: pointer;
}

.rx-item-purchase-bar__cta:hover,
.rx-item-purchase-bar__cta:focus {
    background: var(--rx-accent-hover);
}

.rx-item-purchase-bar__cta.is-soldout,
.rx-item-purchase-bar__cta:disabled {
    background: #c4c4c4;
    color: #fff;
    cursor: not-allowed;
}

body.rx-is-pc .rx-item-purchase-bar {
    display: none !important;
}

/* Option sheet */
body.rx-is-mobile #btn_option.rx-item-option-sheet {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1100;
    display: none;
    max-height: min(78vh, 640px);
    overflow: auto;
    padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px));
    background: var(--rx-surface);
    border-radius: 16px 16px 0 0;
    border-top: 1px solid var(--rx-border);
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.12);
}

body.rx-option-open {
    overflow: hidden;
}

body.rx-is-mobile #btn_option .sit_option h3 {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--rx-text);
}

body.rx-is-mobile #btn_option select,
body.rx-is-mobile #sit select {
    width: 100%;
    height: 44px;
    padding: 0 36px 0 12px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E") no-repeat right 12px center;
    background-size: 10px 7px;
    -webkit-appearance: none;
    appearance: none;
    color: var(--rx-text);
    font-size: 14px;
}

body.rx-is-mobile #sit_opt_added,
body.rx-is-mobile #sit_sel_option ul {
    margin: 12px 0;
    padding: 0;
    list-style: none;
}

body.rx-is-mobile #sit_opt_added .sit_opt_list,
body.rx-is-mobile .sit_opt_list {
    padding: 12px;
    margin: 0 0 8px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: var(--rx-bg);
}

body.rx-is-mobile .opt_count {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
}

body.rx-is-mobile .sit_qty_minus,
body.rx-is-mobile .sit_qty_plus {
    width: 32px;
    height: 32px;
    border: 1px solid var(--rx-border);
    border-radius: 4px;
    background: var(--rx-surface);
    color: var(--rx-text);
}

body.rx-is-mobile .num_input {
    width: 48px;
    height: 32px;
    text-align: center;
    border: 1px solid var(--rx-border);
    border-radius: 4px;
}

body.rx-is-mobile #sit_tot_price {
    margin: 12px 0;
    padding: 12px 0 4px;
    border-top: 1px solid var(--rx-border);
    font-size: 15px;
    font-weight: 600;
    color: var(--rx-text);
    text-align: right;
}

body.rx-is-mobile #sit_tot_price span,
body.rx-is-mobile #sit_tot_price strong {
    color: var(--rx-text);
    font-size: 18px;
}

.rx-item-sheet-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.rx-item-sheet-actions #sit_btn_cart {
    flex: 1;
    height: 48px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface);
    color: var(--rx-text);
    font-weight: 600;
}

.rx-item-sheet-actions #sit_btn_buy,
.rx-item-sheet-actions .btn_submit {
    flex: 1.2;
    height: 48px;
    border: 0;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-accent) !important;
    color: #fff !important;
    font-weight: 700;
}

.rx-item-sheet-actions #sit_btn_wish {
    display: none;
}

body.rx-is-mobile #btn_option .btn_close {
    position: absolute;
    top: 8px;
    right: 12px;
    border: 0;
    background: transparent;
    color: var(--rx-text-muted);
    font-size: 18px;
}

/* Tabs */
.rx-item-tabs,
#sit #sit_tab.rx-item-tabs {
    margin: 8px 0 0;
    background: var(--rx-surface);
}

.rx-item-tabs .tab_tit {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    border-bottom: 1px solid var(--rx-border);
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--rx-surface);
}

.rx-item-tabs .tab_tit li {
    flex: 1;
    margin: 0;
}

.rx-item-tabs .tab_tit button {
    width: 100%;
    height: 46px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--rx-text-muted);
    font-size: 14px;
    font-weight: 500;
}

.rx-item-tabs .tab_tit button.selected,
.rx-item-tabs .tab_tit button.sanchor_on {
    color: var(--rx-text);
    border-bottom-color: var(--rx-accent);
    font-weight: 700;
}

.rx-item-tabs .rx-tab-count,
.rx-item-tabs .item_use_count,
.rx-item-tabs .item_qa_count {
    color: var(--rx-text-muted);
    font-weight: 400;
}

.rx-item-tabs .tab_con {
    padding: 16px;
}

.rx-item-tabs #sit_inf_explan,
#sit_inf_explan {
    max-width: 100%;
    overflow-x: auto;
    word-break: break-word;
}

.rx-item-tabs #sit_inf_explan img,
#sit_inf_explan img {
    max-width: 100% !important;
    height: auto !important;
}

.rx-item-tabs #sit_inf_open,
#sit_inf_open {
    width: 100%;
    border-collapse: collapse;
    border: 0;
}

.rx-item-tabs #sit_inf_open th,
.rx-item-tabs #sit_inf_open td,
#sit_inf_open th,
#sit_inf_open td {
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid var(--rx-border);
    background: transparent;
    font-size: 13px;
    text-align: left;
    vertical-align: top;
}

.rx-item-tabs #sit_inf_open th,
#sit_inf_open th {
    width: 34%;
    color: var(--rx-text-muted);
    font-weight: 400;
}

/* Kill legacy blue/black on item */
body.rx-is-item #sit .sit_btn_buy,
body.rx-is-item #sit #sit_btn_buy,
body.rx-is-item #sit .btn_submit {
    background: var(--rx-accent) !important;
    border-color: var(--rx-accent-hover) !important;
    color: #fff !important;
}

body.rx-is-item #sit .sit_btn_cart,
body.rx-is-item #sit #sit_btn_cart {
    background: var(--rx-surface) !important;
    border: 1px solid var(--rx-border) !important;
    color: var(--rx-text) !important;
}

body.rx-is-item #sit h3,
body.rx-is-item #sit .tab_tit button {
    color: inherit;
}

body.rx-is-mobile #sit h3 {
    color: var(--rx-text) !important;
}

/* PC item layout */
@media (min-width: 1024px) {
    body.rx-is-pc #sit.rx-item-detail,
    body.rx-is-pc #sit {
        max-width: var(--rx-content-max);
        margin: 0 auto;
        padding: 24px 20px 48px;
    }

    body.rx-is-pc #sit #sit_ov_wrap.rx-item-summary,
    body.rx-is-pc #sit #sit_ov_wrap {
        display: flex;
        align-items: flex-start;
        gap: 40px;
    }

    body.rx-is-pc #sit #sit_pvi.rx-item-gallery,
    body.rx-is-pc #sit #sit_pvi {
        flex: 1 1 52%;
        width: 52%;
        max-width: 52%;
        margin: 0;
    }

    body.rx-is-pc #sit #sit_pvi_big {
        position: relative;
        background: #f6f6f6;
        overflow: hidden;
    }

    body.rx-is-pc #sit #sit_pvi_big img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        object-fit: contain;
    }

    body.rx-is-pc #sit #sit_ov.rx-item-info,
    body.rx-is-pc #sit #sit_ov {
        flex: 1 1 48%;
        width: 48%;
        max-width: 48%;
        margin: 0;
        padding: 8px 0 0;
        border: 0;
        background: transparent;
    }

    body.rx-is-pc #sit #sit_title {
        font-size: 24px;
        font-weight: 600;
        line-height: 1.4;
        color: var(--rx-text);
        margin: 0 0 12px;
    }

    body.rx-is-pc #sit .rx-item-price__sale {
        font-size: 28px;
    }

    body.rx-is-pc #sit .rx-item-price__disc {
        font-size: 22px;
    }

    body.rx-is-pc #sit .sit_info,
    body.rx-is-pc #sit .sit_ov_tbl {
        margin-top: 16px;
        border-top: 1px solid var(--rx-border);
        padding-top: 8px;
    }

    body.rx-is-pc #sit .sit_ov_tbl table {
        width: 100%;
        border: 0;
    }

    body.rx-is-pc #sit .sit_ov_tbl th,
    body.rx-is-pc #sit .sit_ov_tbl td {
        padding: 10px 0;
        border: 0;
        border-bottom: 1px solid var(--rx-border);
        background: transparent;
        font-weight: 400;
        font-size: 14px;
    }

    body.rx-is-pc #sit .sit_ov_tbl th {
        width: 28%;
        color: var(--rx-text-muted);
    }

    body.rx-is-pc #sit .rx-item-actions,
    body.rx-is-pc #sit #sit_ov_btn {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 20px;
    }

    body.rx-is-pc #sit .rx-btn-secondary,
    body.rx-is-pc #sit .sit_btn_cart {
        flex: 1 1 140px;
        height: 52px;
        border: 1px solid var(--rx-border);
        border-radius: var(--rx-radius-sm);
        background: var(--rx-surface);
        color: var(--rx-text);
        font-size: 15px;
        font-weight: 600;
    }

    body.rx-is-pc #sit .rx-btn-primary,
    body.rx-is-pc #sit .sit_btn_buy {
        flex: 1.4 1 180px;
        height: 52px;
        border: 0;
        border-radius: var(--rx-radius-sm);
        background: var(--rx-accent);
        color: #fff;
        font-size: 16px;
        font-weight: 700;
    }

    body.rx-is-pc #sit .rx-btn-wish,
    body.rx-is-pc #sit .sit_btn_wish {
        flex: 0 0 52px;
        height: 52px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--rx-border);
        border-radius: var(--rx-radius-sm);
        color: var(--rx-text-secondary);
        background: var(--rx-surface);
        font-size: 20px;
        text-decoration: none;
    }

    body.rx-is-pc #sit #sit_tot_price {
        margin: 16px 0 0;
        padding: 14px 0;
        border-top: 1px solid var(--rx-border);
        text-align: right;
        font-size: 15px;
        font-weight: 600;
    }

    body.rx-is-pc #sit #sit_tot_price strong {
        font-size: 22px;
        color: var(--rx-text);
    }

    body.rx-is-pc #sit .sit_option select {
        width: 100%;
        height: 44px;
        border: 1px solid var(--rx-border);
        border-radius: var(--rx-radius-sm);
        padding: 0 12px;
        background: var(--rx-surface);
    }

    body.rx-is-pc #sit_info.rx-item-detail-info,
    body.rx-is-pc #sit_info {
        margin-top: 40px;
        clear: both;
    }

    body.rx-is-pc .rx-item-tabs .tab_tit {
        position: static;
    }
}

@media (max-width: 1023px) {
    body.rx-is-pc #sit #sit_ov_wrap {
        display: block;
    }
}

/* ===== Phase 6: cart & checkout (scoped) ===== */
body.rx-is-cart:has(.rx-cart-cta),
body.rx-is-order:has(#display_pay_button),
body.rx-is-item {
    --rx-purchase-bar-h: 64px;
    padding-bottom: calc(var(--rx-purchase-bar-h) + env(safe-area-inset-bottom, 0px));
}

body.rx-is-cart,
body.rx-is-order {
    /* fallback if :has unsupported — compact pages still ok */
}

body.rx-is-cart.rx-is-pc,
body.rx-is-order.rx-is-pc {
    padding-bottom: 0;
}

body.rx-is-order .rx-bottom-nav {
    display: none !important;
}

/* Cart keeps bottom nav; order CTA sits above it */
body.rx-is-mobile.rx-is-cart {
    --rx-cart-cta-h: 68px;
    padding-bottom: calc(var(--rx-bottom-h) + var(--rx-cart-cta-h) + env(safe-area-inset-bottom, 0px));
}

body.rx-is-mobile.rx-is-cart:not(:has(#sod_bsk_act)) {
    padding-bottom: calc(var(--rx-bottom-h) + env(safe-area-inset-bottom, 0px));
}

.rx-hd--item .rx-hd__spacer {
    width: 44px;
    height: 44px;
}

/* Cart mobile */
body.rx-is-mobile #sod_bsk.rx-cart,
body.rx-is-mobile #sod_bsk {
    max-width: 100%;
    overflow-x: hidden;
    padding: 0 0 24px;
    background: var(--rx-bg);
}

body.rx-is-mobile .rx-cart-select-all,
body.rx-is-mobile #sod_chk {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px 16px;
    background: var(--rx-surface);
    border-bottom: 1px solid var(--rx-border);
    color: var(--rx-text);
    font-size: 14px;
}

body.rx-is-mobile .rx-cart-list,
body.rx-is-mobile #sod_bsk .sod_list {
    margin: 0;
    padding: 0;
    list-style: none;
    background: var(--rx-surface);
}

body.rx-is-mobile .rx-cart-item,
body.rx-is-mobile #sod_bsk .sod_li {
    position: relative;
    margin: 0;
    padding: 16px;
    border-bottom: 1px solid var(--rx-border);
    background: var(--rx-surface);
}

body.rx-is-mobile .rx-cart-item__top,
body.rx-is-mobile #sod_bsk .li_op_wr {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

body.rx-is-mobile .rx-cart-item .li_chk {
    flex: 0 0 auto;
    padding-top: 28px;
}

body.rx-is-mobile .rx-cart-item__img,
body.rx-is-mobile #sod_bsk .total_img {
    flex: 0 0 88px;
    width: 88px;
    overflow: hidden;
    border-radius: var(--rx-radius-sm);
    background: #f6f6f6;
}

body.rx-is-mobile .rx-cart-item__img img,
body.rx-is-mobile #sod_bsk .total_img img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

body.rx-is-mobile .rx-cart-item__info {
    flex: 1 1 auto;
    min-width: 0;
}

body.rx-is-mobile .rx-cart-item .li_name,
body.rx-is-mobile #sod_bsk .li_name {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--rx-text);
}

body.rx-is-mobile .rx-cart-item .li_name a,
body.rx-is-mobile #sod_bsk .li_name a {
    color: var(--rx-text);
    text-decoration: none;
}

body.rx-is-mobile .rx-cart-item .sod_opt,
body.rx-is-mobile #sod_bsk .sod_opt {
    margin: 0 0 8px;
    font-size: 12px;
    line-height: 1.45;
    color: var(--rx-text-secondary);
}

body.rx-is-mobile .rx-cart-item__price {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 700;
    color: var(--rx-text);
}

body.rx-is-mobile .rx-cart-item__meta,
body.rx-is-mobile #sod_bsk .li_prqty {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 0;
    font-size: 12px;
    color: var(--rx-text-muted);
}

body.rx-is-mobile #sod_bsk .li_prqty_sp span {
    display: none;
}

body.rx-is-mobile .rx-cart-item .mod_options,
body.rx-is-mobile #sod_bsk .mod_options {
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--rx-text-secondary);
    font-size: 12px;
    text-decoration: underline;
}

body.rx-is-mobile .rx-cart-actions,
body.rx-is-mobile #sod_bsk .btn_del_wr {
    display: flex;
    gap: 12px;
    padding: 12px 16px;
    background: var(--rx-surface);
    border-bottom: 1px solid var(--rx-border);
}

body.rx-is-mobile .rx-cart-actions .btn01,
body.rx-is-mobile .rx-btn-danger-text,
body.rx-is-mobile .rx-btn-text {
    border: 0 !important;
    background: transparent !important;
    color: var(--rx-text-secondary) !important;
    padding: 0 !important;
    font-size: 13px;
}

body.rx-is-mobile .rx-btn-danger-text {
    color: #c62828 !important;
}

body.rx-is-mobile .rx-cart-empty,
body.rx-is-mobile #sod_bsk .empty_list.rx-cart-empty,
body.rx-is-mobile #sod_bsk .rx-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    max-width: 280px;
    margin: 48px auto 8px;
    padding: 24px 16px;
    text-align: center;
    color: var(--rx-text-muted);
    font-size: 15px;
    border: 0;
    background: transparent;
    list-style: none;
}

body.rx-is-mobile .rx-cart-empty > .fa {
    margin-bottom: 8px;
    font-size: 28px;
    color: rgba(20, 20, 20, 0.28);
}

body.rx-is-mobile .rx-cart-empty__title {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #202020;
    line-height: 1.4;
}

body.rx-is-mobile .rx-cart-empty__sub {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: rgba(20, 20, 20, 0.55);
    line-height: 1.5;
}

body.rx-is-mobile .rx-cart-empty-cta,
body.rx-is-mobile #sod_bsk .go_shopping {
    display: flex;
    justify-content: center;
    padding: 8px 16px 28px;
    margin: 0;
    background: transparent;
    border: 0;
}

body.rx-is-mobile .rx-cart-empty-cta a.rx-btn-secondary,
body.rx-is-mobile #sod_bsk .go_shopping a.btn01,
body.rx-is-mobile #sod_bsk .go_shopping a.rx-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    min-height: 48px;
    padding: 0 22px;
    margin: 0;
    border: 0 !important;
    border-radius: 8px;
    background: #111 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: none;
}

body.rx-is-mobile .rx-cart-summary,
body.rx-is-mobile #sod_bsk .sod_ta_wr {
    margin: 12px 0 0;
    padding: 16px 16px 24px;
    background: var(--rx-surface);
}

body.rx-is-mobile #m_sod_bsk_tot {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px 16px;
    margin: 0;
    padding: 0;
}

body.rx-is-mobile #m_sod_bsk_tot dt,
body.rx-is-mobile #m_sod_bsk_tot dd {
    margin: 0;
    padding: 0;
    font-size: 14px;
    color: var(--rx-text-secondary);
    background: transparent;
    border: 0;
}

body.rx-is-mobile #m_sod_bsk_tot dd {
    text-align: right;
    color: var(--rx-text);
}

body.rx-is-mobile #m_sod_bsk_tot .sod_bsk_cnt {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--rx-border);
    font-size: 15px;
    font-weight: 700;
    color: var(--rx-text);
}

body.rx-is-mobile #m_sod_bsk_tot dd.sod_bsk_cnt strong {
    font-size: 20px;
    color: var(--rx-text);
}

body.rx-is-mobile .rx-cart-cta,
body.rx-is-mobile #sod_bsk_act {
    position: fixed;
    left: 0;
    right: 0;
    /* Sit flush above bottom nav (nav height = --rx-bottom-h + safe-area) */
    bottom: calc(var(--rx-bottom-h, 56px) + env(safe-area-inset-bottom, 0px));
    z-index: 1000;
    display: block;
    margin: 0;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--rx-border);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.04);
}

body.rx-is-mobile .rx-cart-cta .btn_submit,
body.rx-is-mobile #sod_bsk_act .btn_submit {
    width: 100%;
    height: 48px;
    border: 0 !important;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-accent) !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 700;
}

body.rx-is-mobile .rx-btn-secondary,
body.rx-is-mobile a.rx-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid var(--rx-border) !important;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface) !important;
    color: var(--rx-text) !important;
    text-decoration: none;
    font-weight: 600;
}

/* PC cart layout */
@media (min-width: 1024px) {
    body.rx-is-pc #sod_bsk.rx-cart {
        max-width: var(--rx-content-max);
        margin: 0 auto;
        padding: 24px 20px 48px;
    }

    body.rx-is-pc .rx-cart-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 32px;
        align-items: start;
    }

    body.rx-is-pc .rx-cart-side {
        position: sticky;
        top: 24px;
        padding: 20px;
        border: 1px solid var(--rx-border);
        border-radius: var(--rx-radius-sm);
        background: var(--rx-surface);
    }

    body.rx-is-pc #sod_bsk .tbl_wrap,
    body.rx-is-pc #sod_bsk table {
        border: 0;
        background: transparent;
    }

    body.rx-is-pc #sod_bsk th,
    body.rx-is-pc #sod_bsk td {
        border-color: var(--rx-border);
        background: transparent;
        color: var(--rx-text);
        vertical-align: middle;
    }

    body.rx-is-pc #sod_bsk th {
        color: var(--rx-text-muted);
        font-weight: 500;
    }

    body.rx-is-pc #sod_bsk .sod_img img {
        display: block;
        border-radius: var(--rx-radius-sm);
        object-fit: contain;
        background: #f6f6f6;
    }

    body.rx-is-pc #sod_bsk_tot ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    body.rx-is-pc #sod_bsk_tot li {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px solid var(--rx-border);
        font-size: 14px;
        color: var(--rx-text-secondary);
    }

    body.rx-is-pc #sod_bsk_tot li.sod_bsk_cnt {
        border-bottom: 0;
        margin-top: 4px;
        padding-top: 14px;
        font-weight: 700;
        color: var(--rx-text);
    }

    body.rx-is-pc #sod_bsk_tot li.sod_bsk_cnt strong {
        font-size: 22px;
    }

    body.rx-is-pc #sod_bsk_act {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 16px;
    }

    body.rx-is-pc #sod_bsk_act .btn_submit {
        width: 100%;
        height: 52px;
        border: 0 !important;
        border-radius: var(--rx-radius-sm);
        background: var(--rx-accent) !important;
        color: #fff !important;
        font-size: 16px;
        font-weight: 700;
    }

    body.rx-is-pc #sod_bsk_act .btn01 {
        width: 100%;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--rx-border) !important;
        border-radius: var(--rx-radius-sm);
        background: var(--rx-surface) !important;
        color: var(--rx-text) !important;
    }

    body.rx-is-pc .btn_cart_del button {
        border: 0;
        background: transparent;
        color: var(--rx-text-secondary);
        font-size: 13px;
        cursor: pointer;
    }
}

/* Orderform presentation (core markup + theme CSS) */
body.rx-is-order #sod_frm,
body.rx-is-order .sod_frm_mobile,
body.rx-is-order .sod_frm_pc {
    max-width: 100%;
    overflow-x: hidden;
    background: var(--rx-bg);
}

body.rx-is-mobile.rx-is-order #sod_approval_frm .sod_list,
body.rx-is-mobile.rx-is-order .sod_list {
    margin: 0;
    padding: 0;
    list-style: none;
    background: var(--rx-surface);
}

body.rx-is-mobile.rx-is-order .sod_li {
    padding: 16px;
    border-bottom: 1px solid var(--rx-border);
}

body.rx-is-mobile.rx-is-order .li_name {
    font-size: 15px;
    font-weight: 600;
    color: var(--rx-text);
    margin-bottom: 8px;
}

body.rx-is-mobile.rx-is-order .li_op_wr {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

body.rx-is-mobile.rx-is-order .total_img img {
    display: block;
    width: 72px;
    height: auto;
    border-radius: var(--rx-radius-sm);
    object-fit: contain;
    background: #f6f6f6;
}

body.rx-is-mobile.rx-is-order .sod_opt,
body.rx-is-mobile.rx-is-order .li_prqty {
    font-size: 12px;
    color: var(--rx-text-secondary);
}

body.rx-is-mobile.rx-is-order .total_price {
    margin-top: 8px;
    font-size: 15px;
    font-weight: 700;
    color: var(--rx-text);
}

body.rx-is-mobile.rx-is-order #m_sod_bsk_tot {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px 16px;
    margin: 0;
    padding: 16px;
    background: var(--rx-surface);
    border-top: 1px solid var(--rx-border);
}

body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dt,
body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 14px;
    color: var(--rx-text-secondary);
}

body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd {
    text-align: right;
    color: var(--rx-text);
}

body.rx-is-mobile.rx-is-order #m_sod_bsk_tot .sod_bsk_cnt,
body.rx-is-mobile.rx-is-order #ct_tot_price {
    font-weight: 700;
    color: var(--rx-text);
}

body.rx-is-order #sod_frm section,
body.rx-is-order #sod_frm_orderer,
body.rx-is-order #sod_frm_taker,
body.rx-is-order #sod_frm_pay {
    margin: 12px 0 0;
    padding: 16px;
    background: var(--rx-surface);
    border: 0;
    border-top: 1px solid var(--rx-border);
    border-bottom: 1px solid var(--rx-border);
}

body.rx-is-order #sod_frm h2,
body.rx-is-order #sod_frm section > h2 {
    margin: 0 0 14px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--rx-border);
    font-size: 16px;
    font-weight: 700;
    color: var(--rx-text);
    background: transparent;
}

body.rx-is-order #sod_frm label {
    display: block;
    margin: 0 0 6px;
    font-size: 13px;
    color: var(--rx-text-secondary);
}

body.rx-is-order #sod_frm .frm_input,
body.rx-is-order #sod_frm input[type="text"],
body.rx-is-order #sod_frm input[type="password"],
body.rx-is-order #sod_frm input[type="tel"],
body.rx-is-order #sod_frm input[type="email"],
body.rx-is-order #sod_frm select,
body.rx-is-order #sod_frm textarea {
    width: 100%;
    max-width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: #fff;
    color: var(--rx-text);
    box-sizing: border-box;
}

body.rx-is-order #sod_frm textarea {
    height: auto;
    min-height: 88px;
    padding: 10px 12px;
}

body.rx-is-order #sod_frm .frm_input:focus,
body.rx-is-order #sod_frm input:focus,
body.rx-is-order #sod_frm select:focus,
body.rx-is-order #sod_frm textarea:focus {
    outline: none;
    border-color: var(--rx-accent);
    box-shadow: 0 0 0 3px var(--rx-accent-soft);
}

body.rx-is-order #sod_frm .odf_list,
body.rx-is-order #sod_frm .odf_tbl,
body.rx-is-order #sod_frm table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
}

body.rx-is-order #sod_frm .odf_list th,
body.rx-is-order #sod_frm .odf_list td,
body.rx-is-order #sod_frm .odf_tbl th,
body.rx-is-order #sod_frm .odf_tbl td,
body.rx-is-order #sod_frm table th,
body.rx-is-order #sod_frm table td {
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid var(--rx-border);
    background: transparent;
    text-align: left;
    vertical-align: top;
    color: var(--rx-text);
    font-weight: 400;
}

body.rx-is-order #sod_frm .odf_list th,
body.rx-is-order #sod_frm .odf_tbl th,
body.rx-is-order #sod_frm table th {
    width: 34%;
    color: var(--rx-text-muted);
}

body.rx-is-mobile.rx-is-order #m_sod_frm_paysel ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.rx-is-mobile.rx-is-order #m_sod_frm_paysel li,
body.rx-is-order #sod_frm_paysel label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 12px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface);
    color: var(--rx-text);
}

body.rx-is-order #sod_frm_paysel {
    border: 0;
    background: transparent;
}

body.rx-is-order input[name="od_settle_case"]:checked + label,
body.rx-is-mobile.rx-is-order #m_sod_frm_paysel li:has(input:checked) {
    border-color: var(--rx-accent);
    box-shadow: 0 0 0 2px var(--rx-accent-soft);
}

body.rx-is-order #od_tot_price,
body.rx-is-order #ct_tot_price {
    font-size: 18px;
    font-weight: 700;
    color: var(--rx-text);
}

body.rx-is-mobile.rx-is-order #display_pay_button {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: flex !important;
    gap: 8px;
    margin: 0;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--rx-border);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.04);
}

body.rx-is-mobile.rx-is-order #display_pay_button .btn_submit {
    flex: 1.4;
    height: 48px;
    border: 0 !important;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-accent) !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 700;
}

body.rx-is-mobile.rx-is-order #display_pay_button .btn01 {
    flex: 0.8;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rx-border) !important;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface) !important;
    color: var(--rx-text) !important;
}

body.rx-is-order #sod_frm .btn_frmline,
body.rx-is-order #sod_frm .cp_btn,
body.rx-is-order #sod_frm .cp_btn1 {
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface);
    color: var(--rx-text);
    height: 36px;
    padding: 0 12px;
}

body.rx-is-order #sod_frm .btn_submit {
    background: var(--rx-accent) !important;
    border-color: var(--rx-accent-hover) !important;
    color: #fff !important;
}

@media (min-width: 1024px) {
    body.rx-is-pc.rx-is-order #sod_frm.sod_frm_pc,
    body.rx-is-pc.rx-is-order #sod_frm {
        max-width: var(--rx-content-max);
        margin: 0 auto;
        padding: 24px 20px 48px;
    }

    body.rx-is-pc.rx-is-order #display_pay_button {
        display: flex;
        gap: 10px;
        margin-top: 20px;
    }

    body.rx-is-pc.rx-is-order #display_pay_button .btn_submit {
        min-width: 200px;
        height: 52px;
        border: 0 !important;
        border-radius: var(--rx-radius-sm);
        background: var(--rx-accent) !important;
        color: #fff !important;
        font-size: 16px;
        font-weight: 700;
    }

    body.rx-is-pc.rx-is-order #sod_list th,
    body.rx-is-pc.rx-is-order #sod_list td {
        border-color: var(--rx-border);
        background: transparent;
    }
}

/* ===== Phase 7: account / auth / mypage ===== */
body.rx-is-auth .rx-bottom-nav {
    display: none !important;
}

body.rx-is-auth.rx-is-mobile {
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

body.rx-is-mypage.rx-is-mobile {
    padding-bottom: calc(var(--rx-bottom-h) + env(safe-area-inset-bottom, 0px));
}

/* ===== Phase 11R2/RC4: REFLEX account system (login/register/recovery) ===== */
body.rx-is-auth {
    background: var(--rx-surface-warm);
}

body.rx-is-auth .rx-bottom-nav {
    display: none !important;
}

/* Auth pages with shop header: keep brand, reduce commerce chrome */
body.rx-is-auth.rx-is-pc #tnb.rx-utility,
body.rx-is-auth.rx-is-pc .rx-pc-bar__search,
body.rx-is-auth.rx-is-pc .rx-catnav {
    display: none !important;
}

body.rx-is-auth.rx-is-pc #hd.rx-pc-hd #hd_wrapper.rx-pc-bar,
body.rx-is-auth.rx-is-pc .rx-pc-bar {
    min-height: 64px;
    background: #fff;
}

body.rx-is-auth #container_title,
body.rx-is-auth #wrapper_title {
    display: none !important;
}

body.rx-is-auth #wrapper,
body.rx-is-auth #container,
body.rx-is-auth .shop-content {
    background: transparent;
}

.rx-auth__shell {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: left;
}

.rx-auth__brand,
a.rx-auth__brand {
    display: inline-flex;
    align-items: center;
    margin: 0 0 16px;
    font-size: 1.85rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--rx-text);
    text-decoration: none;
}

.rx-auth__brand .rx-brand-logo,
a.rx-auth__brand .rx-brand-logo {
    height: 28px;
    max-width: min(180px, 72vw);
}

.rx-auth__title {
    margin: 0 0 8px;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--rx-text);
    line-height: 1.25;
}

.rx-auth__lead {
    margin: 0 0 24px;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--rx-text-secondary);
}

.rx-auth__actions {
    display: flex;
    gap: 10px;
    margin-top: 24px;
}

.rx-auth__actions .btn_close,
.rx-auth__actions .btn_cancel,
.rx-auth__actions a.btn_close,
.rx-auth__actions a.btn_cancel {
    flex: 1 1 40%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: #fff;
    color: var(--rx-text);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    box-sizing: border-box;
}

.rx-auth__actions .btn_submit,
.rx-auth .btn_submit {
    flex: 1 1 60%;
    width: 100%;
    min-height: 50px;
    height: 50px;
    border: 0;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-accent);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.rx-auth .btn_submit:hover {
    background: var(--rx-accent-hover);
}

.rx-auth .frm_input:focus,
.rx-auth input[type="text"]:focus,
.rx-auth input[type="password"]:focus,
.rx-auth input[type="email"]:focus,
.rx-auth select:focus,
.rx-auth textarea:focus {
    outline: none;
    border-color: var(--rx-accent);
    box-shadow: 0 0 0 3px var(--rx-accent-soft);
}

.rx-auth input:-webkit-autofill,
.rx-auth input:-webkit-autofill:hover,
.rx-auth input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--rx-text);
    box-shadow: 0 0 0 1000px #fff inset;
    transition: background-color 9999s ease-in-out 0s;
}

.rx-auth .error,
.rx-auth .frm_error,
.rx-auth #msg_mb_id,
body.rx-is-auth .mb_log_fail {
    color: var(--rx-danger);
}

/* Login — override legacy .mbskin {width:360px; margin:100px auto} */
#mb_login.rx-login.mbskin,
#mb_login.rx-login,
.rx-login.mbskin,
.rx-login {
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
    padding: 28px 20px 48px;
    background: transparent;
    box-sizing: border-box;
    text-align: left;
}

.rx-login__shell {
    width: 100%;
    max-width: 460px;
    border: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
    text-align: left;
}

.rx-login .rx-account-hd {
    justify-content: center;
    margin: 0 0 24px;
}

.rx-login .rx-account-hd__brand {
    justify-content: center;
}

.rx-register .rx-account-hd,
.rx-register-form .rx-account-hd,
.rx-recovery .rx-account-hd,
.rx-confirm .rx-account-hd {
    justify-content: flex-start;
    margin: 0 0 18px;
}

.rx-account-hd .rx-brand-logo--account {
    display: block;
    height: auto;
    width: min(132px, 58vw);
    max-width: 145px;
    opacity: 1;
    visibility: visible;
    object-fit: contain;
}

.rx-login .rx-account-hd .rx-brand-logo--account {
    width: min(160px, 68vw);
    max-width: 165px;
    height: auto;
}

.rx-login .rx-auth__title,
#mb_login.rx-login h1.rx-auth__title {
    position: static;
    font-size: 1.5rem;
    line-height: 1.25;
    overflow: visible;
    margin: 0 0 8px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--rx-text);
    text-align: center;
}

.rx-login .rx-auth__lead {
    margin: 0 0 24px;
    font-size: 0.9rem;
    text-align: center;
}

.rx-login__fields label,
.rx-login__form > label,
.rx-confirm__fields label,
.rx-recovery__fields label {
    display: block;
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rx-text-secondary);
    text-align: left;
}

.rx-login__fields .frm_input,
.rx-login #login_id,
.rx-login #login_pw,
.rx-login .frm_input,
.rx-confirm .frm_input,
.rx-recovery .frm_input {
    width: 100%;
    height: 52px;
    margin: 0 0 14px;
    padding: 0 14px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: #fff;
    color: var(--rx-text);
    font-size: 15px;
    box-sizing: border-box;
}

.rx-login .btn_submit,
#mb_login.rx-login .btn_submit {
    width: 100%;
    height: 52px;
    min-height: 52px;
    margin: 6px 0 0;
    font-size: 16px;
    font-weight: 700;
}

.rx-login__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    margin: 16px 0 0;
    font-size: 13px;
    color: var(--rx-text-secondary);
}

.rx-login__meta .login_if_auto {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    flex: 0 1 auto;
}

.rx-login__meta .login_if_lpl {
    flex: 0 0 auto;
    white-space: nowrap;
}

.rx-login__links,
.rx-login__signup,
.rx-login .mb_login_join {
    text-align: center;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--rx-border);
    font-size: 14px;
    color: var(--rx-text-muted);
}

.rx-login__signup {
    display: block;
    width: 100%;
    margin: 0;
    text-align: center;
}

.rx-login__find a,
.rx-login__signup a,
.rx-login .login_if_lpl a {
    color: var(--rx-text-secondary);
    text-decoration: none;
}

.rx-login__signup a {
    color: var(--rx-accent);
    font-weight: 700;
}

/* Mobile account chrome: back + page title (logo lives in auth shell) */
body.rx-is-mobile.rx-is-auth .rx-hd__bar--auth {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 8px;
    min-height: 52px;
    padding: 8px 12px;
    box-sizing: border-box;
}

body.rx-is-mobile.rx-is-auth .rx-hd__bar--auth .rx-hd__title {
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: var(--rx-text);
    letter-spacing: -0.02em;
}

body.rx-is-mobile.rx-is-auth #hd.rx-hd {
    background: var(--rx-surface) !important;
}

.rx-login__guest {
    max-width: 460px;
    margin: 28px auto 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--rx-border);
    text-align: left;
}

/* Register agreement */
.rx-register,
.rx-register-form {
    max-width: 640px;
    margin: 0 auto;
    padding: 28px 16px 48px;
    background: transparent;
    box-sizing: border-box;
}

.rx-register__shell,
.rx-register-form__shell,
.rx-recovery__shell {
    max-width: 100%;
}

.rx-register__all,
.rx-register #fregister_chkall {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 16px 0;
    border: 0;
    border-bottom: 1px solid var(--rx-border);
    background: transparent;
    font-weight: 700;
    color: var(--rx-text);
}

.rx-register__block {
    margin: 0 0 18px;
    padding: 0 0 8px;
    border: 0;
    border-bottom: 1px solid var(--rx-border);
    background: transparent;
}

.rx-register__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 10px;
}

.rx-register__row h2,
.rx-register h2 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--rx-text);
}

.rx-register__req {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 3px;
    background: var(--rx-accent-soft);
    color: var(--rx-accent);
    font-size: 11px;
    font-weight: 700;
    vertical-align: middle;
}

.rx-register__content,
.rx-register textarea {
    width: 100%;
    min-height: 120px;
    max-height: 180px;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: #fff;
    color: var(--rx-text-secondary);
    font-size: 12px;
    line-height: 1.5;
    box-sizing: border-box;
    resize: vertical;
}

.rx-register__table,
.rx-register .tbl_wrap {
    overflow-x: auto;
}

.rx-register table,
.rx-register .tbl_wrap table {
    width: 100%;
    border-collapse: collapse;
    border: 0;
}

.rx-register th,
.rx-register td {
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid var(--rx-border);
    background: transparent;
    font-size: 12px;
    text-align: left;
    color: var(--rx-text-secondary);
}

.rx-register .fregister_agree {
    margin: 0;
    border: 0;
    background: transparent;
}

/* Register form fields */
.rx-register-form .form_01,
.rx-register-form section {
    margin: 0 0 20px;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--rx-border);
    background: transparent;
}

.rx-register-form h2 {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: var(--rx-text);
}

.rx-register-form ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rx-register-form li {
    margin: 0 0 14px;
}

.rx-register-form label:not(.sound_only) {
    display: block;
    margin: 0 0 6px;
    font-size: 13px;
    color: var(--rx-text-secondary);
}

.rx-register-form .frm_input,
.rx-register-form input[type="text"],
.rx-register-form input[type="password"],
.rx-register-form input[type="email"],
.rx-register-form select,
.rx-register-form textarea {
    width: 100%;
    max-width: 100%;
    height: 48px;
    padding: 0 12px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: #fff;
    color: var(--rx-text);
    box-sizing: border-box;
}

.rx-register-form textarea {
    height: auto;
    min-height: 88px;
    padding: 10px 12px;
}

.rx-register-form .btn_frmline,
.rx-register-form .btn {
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface);
    color: var(--rx-text);
    font-size: 13px;
}

.rx-register-form .frm_info,
.rx-register-form #msg_mb_id,
.rx-register-form .help {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: var(--rx-text-muted);
}

.rx-register-form .is_captcha_use,
.rx-recovery__captcha {
    overflow: visible;
    margin: 8px 0 16px;
}

.rx-register-form .is_captcha_use img,
.rx-register-form .captcha img,
.rx-recovery__captcha img,
.rx-recovery #captcha img {
    max-width: 100%;
    height: auto;
}

.rx-register-form .btn_confirm {
    display: flex;
    gap: 10px;
    margin-top: 24px;
}

.rx-register-form .btn_confirm .btn_close,
.rx-register-form .btn_confirm .btn_cancel {
    flex: 1 1 40%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: #fff;
    color: var(--rx-text);
    text-decoration: none;
    font-weight: 600;
}

.rx-register-form .btn_confirm .btn_submit {
    flex: 1 1 60%;
}

/* Recovery */
#find_info.rx-recovery,
.rx-recovery {
    max-width: 560px;
    margin: 0 auto;
    padding: 28px 16px 48px;
    border: 0;
    background: transparent;
    box-sizing: border-box;
}

.rx-recovery .new_win_con,
.rx-recovery__panel {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.rx-recovery h3 {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 700;
}

.rx-recovery .win_btn {
    margin: 0;
}

.rx-recovery__cert {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--rx-border);
}

.rx-recovery .cert_btn {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rx-recovery .cert_btn .btn_submit {
    flex: 1 1 auto;
    min-width: 140px;
    background: var(--rx-text);
}

/* Member confirm */
#mb_confirm.rx-confirm,
.rx-confirm {
    max-width: 460px;
    margin: 0 auto;
    padding: 40px 16px 56px;
    background: transparent;
    box-sizing: border-box;
}

.rx-confirm__id {
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 700;
    color: var(--rx-text);
}

.rx-confirm .btn_submit {
    width: 100%;
    margin-top: 8px;
}

@media (min-width: 1024px) {
    .rx-login,
    #mb_login.rx-login,
    #mb_login.rx-login.mbskin {
        max-width: 460px;
        width: 100%;
        padding: 56px 24px 72px;
        margin: 0 auto;
    }

    body.rx-is-auth.rx-is-pc #mb_login.rx-login {
        /* place auth block intentionally near upper third, not mid-void */
        padding-top: clamp(40px, 9vh, 72px);
        padding-bottom: 80px;
    }

    .rx-register {
        max-width: 640px;
        padding: 28px 24px 64px;
    }

    .rx-register-form {
        max-width: 680px;
        padding: 28px 24px 64px;
    }

    .rx-recovery,
    #find_info.rx-recovery {
        max-width: 560px;
        padding: 28px 24px 64px;
    }

    .rx-confirm,
    #mb_confirm.rx-confirm {
        padding: 40px 24px 64px;
    }
}

@media (max-width: 767px) {
    .rx-login,
    #mb_login.rx-login,
    #mb_login.rx-login.mbskin {
        max-width: 100%;
        width: 100%;
        margin: 0;
        padding: 28px 20px 48px;
        box-sizing: border-box;
    }

    .rx-auth__brand,
    a.rx-auth__brand {
        font-size: 1.55rem;
    }

    .rx-auth__title {
        font-size: 1.35rem;
    }

    .rx-register,
    .rx-register-form,
    .rx-recovery,
    #find_info.rx-recovery {
        max-width: 100%;
        padding: 24px 16px 48px;
    }

    .rx-register__row {
        align-items: flex-start;
    }

    .rx-auth__actions,
    .rx-register-form .btn_confirm {
        flex-direction: column;
    }

    .rx-auth__actions .btn_close,
    .rx-auth__actions .btn_cancel,
    .rx-auth__actions .btn_submit,
    .rx-register-form .btn_confirm .btn_close,
    .rx-register-form .btn_confirm .btn_cancel,
    .rx-register-form .btn_confirm .btn_submit {
        width: 100%;
        flex: 1 1 auto;
    }

    .rx-recovery__captcha #captcha,
    .rx-recovery__captcha .captcha {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
}

/* Mypage */
#smb_my.rx-mypage,
.rx-mypage {
    max-width: var(--rx-content-max);
    margin: 0 auto;
    padding: 16px 16px 32px;
    background: var(--rx-bg);
    box-sizing: border-box;
}

.rx-mypage__summary {
    margin: 0 0 16px;
    padding: 20px 16px;
    background: var(--rx-surface);
    border-bottom: 1px solid var(--rx-border);
}

.rx-mypage__hello {
    margin: 0 0 16px;
}

.rx-mypage__name,
.rx-mypage .my_ov_name {
    font-size: 22px;
    font-weight: 700;
    color: var(--rx-text);
    letter-spacing: -0.02em;
}

.rx-mypage__sub {
    margin-left: 4px;
    font-size: 14px;
    color: var(--rx-text-secondary);
}

.rx-mypage__actions {
    margin-top: 10px;
    display: flex;
    gap: 12px;
}

.rx-mypage__actions a,
.rx-mypage .smb_info {
    font-size: 13px;
    color: var(--rx-text-secondary);
    text-decoration: none;
}

.rx-mypage__stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rx-mypage__stats li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 12px 4px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface);
    text-decoration: none;
    color: var(--rx-text);
}

.rx-mypage__stat-label {
    font-size: 11px;
    color: var(--rx-text-muted);
}

.rx-mypage__stats strong {
    font-size: 16px;
    font-weight: 700;
    color: var(--rx-text);
}

.rx-mypage__menu {
    display: flex;
    flex-direction: column;
    margin: 0 0 20px;
    padding: 0;
    background: var(--rx-surface);
    border-top: 1px solid var(--rx-border);
    border-bottom: 1px solid var(--rx-border);
}

.rx-mypage__menu a {
    display: block;
    padding: 16px;
    border-bottom: 1px solid var(--rx-border);
    color: var(--rx-text);
    text-decoration: none;
    font-size: 15px;
}

.rx-mypage__menu a:last-child {
    border-bottom: 0;
}

.rx-mypage__logout {
    color: var(--rx-text-secondary) !important;
}

.rx-mypage__leave {
    color: var(--rx-danger) !important;
    font-size: 13px !important;
}

.rx-mypage__section {
    margin: 0 0 20px;
    padding: 16px;
    background: var(--rx-surface);
    border-top: 1px solid var(--rx-border);
    border-bottom: 1px solid var(--rx-border);
}

.rx-mypage__section h2 {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: var(--rx-text);
}

.rx-mypage__section h2 a {
    color: inherit;
    text-decoration: none;
}

.rx-mypage .btn_more,
.rx-mypage .smb_my_more a {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    color: var(--rx-text-secondary);
}

.rx-mypage .empty_list,
.rx-mypage .empty_li {
    padding: 28px 12px;
    text-align: center;
    color: var(--rx-text-muted);
    font-size: 14px;
    list-style: none;
}

.rx-mypage #smb_my_wish ul,
.rx-mypage .wishlist ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rx-mypage #smb_my_wish li {
    margin: 0;
    padding: 0;
    border: 0;
}

.rx-mypage .wish_img img,
.rx-mypage .smb_my_img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--rx-radius-sm);
    object-fit: contain;
    background: #f6f6f6;
}

.rx-mypage .info_link,
.rx-mypage .smb_my_tit a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--rx-text);
    font-size: 13px;
    text-decoration: none;
}

body.rx-is-mypage #rx_nav_my.is-active,
body.rx-is-mypage .rx-bottom-nav__item.is-active {
    color: var(--rx-accent);
}

@media (min-width: 1024px) {
    .rx-mypage {
        padding: 32px 20px 64px;
    }

    .rx-mypage__summary {
        border: 1px solid var(--rx-border);
        border-radius: var(--rx-radius-sm);
    }

    .rx-mypage__menu {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        border: 1px solid var(--rx-border);
        border-radius: var(--rx-radius-sm);
        overflow: hidden;
    }

    .rx-mypage__menu a {
        border-right: 1px solid var(--rx-border);
    }

    .rx-mypage #smb_my_wish ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* ===== Phase 8: search / category / shared discovery UX ===== */

body.rx-is-search,
body.rx-is-list {
    overflow-x: hidden;
}

.rx-hd--search .rx-hd__bar--search {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: var(--rx-header-h);
    padding: 6px var(--rx-page-pad);
    box-sizing: border-box;
}

.rx-hd--search .rx-search__form--header {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    min-height: 40px;
    margin: 0;
    padding: 0 4px 0 12px;
    border-radius: 999px;
    background: var(--rx-bg);
    box-shadow: inset 0 0 0 1px var(--rx-border);
}

.rx-hd--search .rx-search__form--header:focus-within {
    box-shadow: inset 0 0 0 1.5px var(--rx-accent);
}

.rx-hd--search .rx-search__form--header input[type="text"] {
    flex: 1 1 auto;
    min-width: 0;
    height: 40px;
    border: 0;
    background: transparent;
    font-size: 0.95rem;
    color: var(--rx-text);
}

.rx-hd--search .rx-search__form--header input[type="text"]:focus {
    outline: none;
}

.rx-hd--search .rx-search__form--header button {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    color: var(--rx-text);
}

.rx-search-page {
    max-width: var(--rx-content-max);
    margin: 0 auto;
    padding: 8px var(--rx-page-pad) 28px;
    box-sizing: border-box;
}

.rx-search-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin: 2px 0 10px;
}

.rx-search-head__title {
    margin: 0;
    font-size: var(--rx-fs-section);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.3;
}

.rx-search-head__query {
    color: var(--rx-accent);
}

.rx-search-head__count {
    margin: 0;
    font-size: var(--rx-fs-caption);
    color: var(--rx-text-secondary);
    white-space: nowrap;
}

.rx-search-form__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    margin: 0 0 10px;
    padding: 8px 0;
    font-size: var(--rx-fs-caption);
    color: var(--rx-text-secondary);
}

.rx-search-form__filters .frm_input,
.rx-search-form__filters .ssch_input {
    height: 32px;
    min-width: 64px;
    padding: 0 8px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface);
}

.rx-search-form__filters .frm_input:focus-visible,
.rx-search-form__filters .ssch_input:focus-visible,
.rx-sort-select:focus-visible,
.rx-search__form input:focus-visible,
.rx-search__form button:focus-visible {
    outline: 2px solid var(--rx-accent);
    outline-offset: 2px;
}

.rx-search-cate {
    margin: 0 0 10px;
}

.rx-search-cate ul {
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0 0 4px;
    list-style: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.rx-search-cate ul::-webkit-scrollbar {
    display: none;
}

.rx-search-cate li {
    flex: 0 0 auto;
    float: none;
    width: auto;
    border: 0;
}

.rx-search-cate a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--rx-bg);
    color: var(--rx-text-secondary);
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 600;
    box-shadow: inset 0 0 0 1px var(--rx-border);
    white-space: nowrap;
}

.rx-search-cate a span {
    color: var(--rx-text-muted);
    font-weight: 500;
}

.rx-search-cate a.is-active,
.rx-search-cate a:hover {
    color: var(--rx-accent);
    background: var(--rx-accent-soft);
    box-shadow: none;
}

.rx-search-sort,
.rx-list__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 10px;
}

.rx-sort-select {
    appearance: none;
    -webkit-appearance: none;
    min-width: 112px;
    height: 34px;
    padding: 0 28px 0 12px;
    border: 1px solid var(--rx-border);
    border-radius: var(--rx-radius-md);
    background: var(--rx-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23757575' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 10px center;
    color: var(--rx-text);
    font-size: 0.8rem;
    font-weight: 600;
}

.rx-list #sct_sort.rx-sort {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.rx-list #sct_sort.rx-sort h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.rx-search-results .sct,
.rx-search-page .sct,
.rx-product-grid .sct {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -4px;
    padding: 0;
    list-style: none;
}

.rx-search-results .sct_li,
.rx-search-page .sct_li,
.rx-product-grid .sct_li {
    width: 50% !important;
    padding: 0 4px !important;
    margin: 0 0 16px !important;
    box-sizing: border-box;
}

.rx-search-results .sct_img,
.rx-search-page .sct_img,
.rx-product-grid .sct_img {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-bg);
}

.rx-search-results .sct_img img,
.rx-search-page .sct_img img,
.rx-product-grid .sct_img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.rx-search-results .sct_txt a,
.rx-search-page .sct_txt a,
.rx-product-grid .sct_txt a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 8px;
    color: var(--rx-text);
    font-size: var(--rx-fs-product);
    font-weight: 500;
    line-height: 1.35;
    text-decoration: none;
}

.rx-search-results .sct_cost,
.rx-search-page .sct_cost,
.rx-product-grid .sct_cost {
    margin-top: 6px;
    font-size: var(--rx-fs-price);
}

.rx-empty {
    padding: 28px 8px 20px;
    text-align: center;
}

.rx-empty__title {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--rx-text);
}

.rx-empty__text {
    margin: 0 0 16px;
    font-size: var(--rx-fs-caption);
    color: var(--rx-text-secondary);
}

.rx-empty__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.rx-empty__actions .rx-btn-primary,
.rx-empty__actions .rx-btn-secondary,
.rx-empty__actions a.rx-btn-primary,
.rx-empty__actions button.rx-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: var(--rx-radius-md);
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.rx-empty__actions .rx-btn-primary,
.rx-empty__actions a.rx-btn-primary {
    border: 0;
    background: var(--rx-accent);
    color: #fff;
}

.rx-empty__actions .rx-btn-secondary,
.rx-empty__actions button.rx-btn-secondary {
    border: 1px solid var(--rx-border);
    background: var(--rx-surface);
    color: var(--rx-text);
}

#ssch a:hover,
#ssch_cate a:hover,
#ssch_sort a:hover,
#ssch_sort_all a:hover,
.rx-search-page a:hover {
    color: var(--rx-accent);
}

#ssch_frm .ssch_input:focus,
#ssch_q:focus,
.rx-search-page .frm_input:focus {
    border-color: var(--rx-accent);
    box-shadow: none;
}

#ssch_frm .btn_submit,
.rx-search-page .btn_submit,
.rx-search-page .sch_submit {
    background: var(--rx-text);
    border-color: var(--rx-text);
    color: #fff;
}

.rx-search-sort-pc {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
}

.rx-search-sort-pc a {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 10px;
    border-radius: var(--rx-radius-md);
    color: var(--rx-text-secondary);
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 600;
}

.rx-search-sort-pc a.is-active,
.rx-search-sort-pc a:hover {
    color: var(--rx-accent);
    background: var(--rx-accent-soft);
}

.rx-list .sct_ct {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    background: transparent;
}

.rx-list .sct_ct h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.rx-list .sct_ct ul {
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0 0 2px;
    list-style: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.rx-list .sct_ct ul::-webkit-scrollbar {
    display: none;
}

.rx-list .sct_ct li {
    flex: 0 0 auto;
    float: none;
    width: auto !important;
}

.rx-list .sct_ct a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 40px;
    height: 40px;
    padding: 0 14px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #666;
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 500;
    box-shadow: none;
    outline: none;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
}

.rx-list .sct_ct a:hover,
.rx-list .sct_ct a:focus-visible {
    background: rgba(20, 20, 20, 0.035);
    color: #444;
    box-shadow: none;
}

.rx-list .sct_ct a.sct_ct_here,
.rx-list .sct_ct a[aria-current="page"] {
    /* Beat legacy skin .sct_ct_here { color:#ff3600 !important } */
    color: #e85d04 !important;
    background: rgba(232, 93, 4, 0.10);
    font-weight: 600;
    box-shadow: none;
    border: 0;
}

/* Kill legacy mobile listcategory box borders on chip row */
.rx-list .sct_ct ul,
.rx-list #sct_ct_1 ul {
    border: 0;
    border-bottom: 0;
}

.rx-list .sct_ct li,
.rx-list #sct_ct_1 li {
    border: 0 !important;
    background: transparent;
}

/* Kill legacy mobile_shop/skin .prd_cnt absolute overlay on chip labels.
   Product count lives in .rx-list__count meta row instead. */
.rx-list .sct_ct .prd_cnt,
.rx-category-page .sct_ct .prd_cnt,
#sct_ct_1 .prd_cnt {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: none !important;
    margin: 0;
    padding: 0;
    width: 0;
    height: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

body.rx-is-mobile .rx-list__meta,
body.rx-is-mobile.rx-is-list .rx-list__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
    padding: 0;
    box-sizing: border-box;
}

body.rx-is-mobile .rx-list__count {
    flex: 0 0 auto;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: rgba(20, 20, 20, 0.55);
    white-space: nowrap;
    line-height: 1.3;
}

body.rx-is-mobile .rx-list__count strong {
    font-weight: 700;
    color: #202020;
}

body.rx-is-mobile .rx-list__toolbar,
body.rx-is-mobile #sct_sortlst.rx-list__toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    gap: 0;
}

body.rx-is-mobile .rx-list__toolbar .rx-sort-select,
body.rx-is-mobile #rx_list_sort.rx-sort-select {
    flex: 0 0 auto;
    min-width: 104px;
    max-width: 140px;
}

body.rx-is-list .rx-list {
    padding-top: 6px;
}

body.rx-is-list .rx-list__head {
    display: none;
}

@media (min-width: 768px) {
    .rx-search-results .sct_li,
    .rx-search-page .sct_li,
    .rx-product-grid .sct_li {
        width: 25% !important;
        padding: 0 8px !important;
        margin-bottom: 22px !important;
    }

    .rx-search-page {
        padding: 20px 24px 40px;
    }

    .rx-search-head__title {
        font-size: var(--rx-fs-title);
    }
}

@media (max-width: 767px) {
    .rx-search-page,
    .rx-list,
    .rx-home,
    #container {
        max-width: 100%;
    }

    .rx-bottom-nav,
    .rx-hd,
    .rx-purchase-bar,
    .rx-cart-cta,
    .rx-order-cta {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* ===== Phase 9: responsive polish / RC1 ===== */

/* Mobile density: keep discovery near first viewport */
body.rx-is-mobile .rx-hd__bar {
    min-height: 46px;
}

body.rx-is-mobile .rx-search {
    padding-bottom: 6px;
}

body.rx-is-mobile .rx-catnav__track {
    padding-top: 2px;
}

body.rx-is-mobile .rx-home .sct_wrap,
body.rx-is-mobile .rx-main .sct_wrap,
body.rx-is-mobile #container.idx-container .sct_wrap {
    padding-top: 6px;
    margin-top: 0;
}

body.rx-is-mobile .rx-home .sct_wrap > h2,
body.rx-is-mobile .rx-home .sct_wrap > header h2,
body.rx-is-mobile .rx-main .sct_wrap > h2 {
    margin: 0 0 8px;
    font-size: 1.05rem;
}

body.rx-is-mobile .rx-home .sct_txt a,
body.rx-is-mobile .rx-list .sct_txt a,
body.rx-is-mobile .rx-search-page .sct_txt a {
    font-size: 0.9rem;
    line-height: 1.35;
}

body.rx-is-mobile .rx-home .sct_cost .sct_price,
body.rx-is-mobile .rx-list .sct_cost .sct_price,
body.rx-is-mobile .rx-search-page .sct_cost .sct_price {
    font-size: 1.02rem;
}

/* Search header compact */
body.rx-is-mobile.rx-is-search .rx-hd--search .rx-hd__bar--search {
    min-height: 48px;
    padding-top: 4px;
    padding-bottom: 4px;
}

body.rx-is-mobile.rx-is-search .rx-search-head {
    margin-top: 0;
}

/* Item gallery: full-bleed, product-first */
body.rx-is-mobile .rx-item-gallery,
body.rx-is-mobile #sit_pvi.rx-item-gallery {
    margin-left: calc(-1 * var(--rx-page-pad));
    margin-right: calc(-1 * var(--rx-page-pad));
    width: calc(100% + (var(--rx-page-pad) * 2));
}

body.rx-is-mobile #sit.rx-item-detail,
body.rx-is-mobile #sit {
    padding-left: var(--rx-page-pad);
    padding-right: var(--rx-page-pad);
}

body.rx-is-mobile .rx-item-gallery img,
body.rx-is-mobile #sit_pvi img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* Empty cart: compact, no giant blank */
body.rx-is-mobile .rx-cart-empty,
body.rx-is-mobile #sod_bsk .empty_list {
    min-height: 0;
}

/* Empty cart CTA: style the anchor, not the wrapper (avoids nested orange/white box) */
body.rx-is-mobile .rx-cart-empty-cta,
body.rx-is-mobile #sod_bsk .go_shopping {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 8px 16px 28px;
    background: transparent;
    color: inherit;
}

/* Auth: less empty vertical space on phone — handled in Phase 11R2 account block */
body.rx-is-mobile .rx-register .frm_input,
body.rx-is-mobile .rx-register input[type="text"],
body.rx-is-mobile .rx-register input[type="password"],
body.rx-is-mobile .rx-register input[type="email"] {
    max-width: 100%;
    box-sizing: border-box;
}

/* Detail HTML safety */
#sit_inf_explan img,
#sit_inf_open img,
.sit_inf_explan img,
.rx-item-tabs img {
    max-width: 100% !important;
    height: auto !important;
}

/* Desktop / tablet scale — fill content rail, kill small-card feel */
@media (min-width: 768px) {
    .rx-pc-bar__search {
        max-width: 720px;
    }

    #hd.rx-pc-hd #hd_sch input[type="text"] {
        height: 48px;
        font-size: 1rem;
    }

    #hd.rx-pc-hd #hd_sch button,
    #hd.rx-pc-hd #sch_submit {
        width: 48px;
        height: 48px;
    }

    .rx-home .sct_txt a,
    .rx-main .sct_txt a,
    .rx-list .sct_txt a,
    .rx-search-page .sct_txt a,
    #container .sct_txt a {
        font-size: 0.95rem;
    }

    .rx-home .sct_cost .sct_price,
    .rx-main .sct_cost .sct_price,
    .rx-list .sct_cost .sct_price,
    .rx-search-page .sct_cost .sct_price {
        font-size: 1.1rem;
    }

    /* Force 4-col against inline YoungCart widths */
    .rx-home .sct_li,
    .rx-main .sct_li,
    .rx-list .sct_li,
    .rx-search-page .sct_li,
    .rx-product-grid .sct_li,
    #container .sct_li,
    #container.idx-container .sct_li {
        width: 25% !important;
        max-width: 25% !important;
        float: none !important;
    }

    .rx-main .sct,
    .rx-home .sct,
    .rx-list .sct,
    .rx-search-page .sct,
    #container .sct {
        width: 100%;
        max-width: 100%;
    }

    .rx-section,
    .rx-main .sct_wrap,
    .rx-home .sct_wrap {
        max-width: var(--rx-content-max);
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
        box-sizing: border-box;
    }
}

@media (min-width: 1024px) {
    body.rx-is-pc #sit #sit_pvi.rx-item-gallery,
    body.rx-is-pc #sit #sit_pvi {
        flex: 1 1 54%;
        width: 54%;
        max-width: 54%;
    }

    body.rx-is-pc #sit #sit_ov.rx-item-info,
    body.rx-is-pc #sit #sit_ov {
        flex: 1 1 46%;
        width: 46%;
        max-width: 46%;
    }

    body.rx-is-pc #sit #sit_title {
        font-size: 26px;
    }

    body.rx-is-pc .rx-search-page {
        padding-left: 24px;
        padding-right: 24px;
    }

    body.rx-is-pc .rx-search-form__main .ssch_input,
    body.rx-is-pc #ssch_q {
        height: 48px;
        font-size: 1rem;
    }
}

@media (min-width: 1440px) {
    .rx-pc-bar__brand .rx-brand {
        font-size: 2rem;
    }

    .rx-home .sct_txt a,
    .rx-main .sct_txt a,
    .rx-list .sct_txt a,
    .rx-search-page .sct_txt a {
        font-size: 1rem;
    }

    .rx-home .sct_cost .sct_price,
    .rx-main .sct_cost .sct_price,
    .rx-list .sct_cost .sct_price {
        font-size: 1.15rem;
    }
}

/* No accidental 3-column product grids — columns are 50% (<768) / 25% (>=768) only */

/* Border-radius consistency tokens already used — unify chip/search */
.rx-search__form,
.rx-hd--search .rx-search__form--header {
    border-radius: var(--rx-radius-md);
}

.rx-sort-select {
    border-radius: var(--rx-radius-md);
}

/* Reduce heavy option-sheet shadow only if present */
.rx-item-option-sheet {
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.1);
}

/* ===== Phase 10R: screenshot-driven PC visual identity (RC2) ===== */

@media (min-width: 1024px) {
    :root {
        --rx-content-max: 1280px;
        --rx-page-pad: 28px;
    }

    body.rx-is-pc.rx-shop {
        background: #fff;
    }

    /* Utility warmth — link rhythm owned by UTILITY1 */
    #tnb.rx-utility {
        background: var(--rx-surface-warm);
        border-bottom: 1px solid rgba(20, 20, 20, 0.08);
        min-height: 40px;
    }

    .rx-utility__inner {
        max-width: var(--rx-content-max);
        padding: 0 28px;
        min-height: 40px;
    }

    /* Main header scale */
    #hd.rx-pc-hd {
        background: #fff;
        border-bottom: 1px solid var(--rx-border);
    }

    #hd.rx-pc-hd #hd_wrapper.rx-pc-bar,
    .rx-pc-bar {
        max-width: var(--rx-content-max);
        padding: 18px 28px;
        min-height: 88px;
        gap: 28px;
    }

    .rx-pc-bar__brand .rx-brand {
        font-size: 2.15rem;
        letter-spacing: -0.05em;
    }

    .rx-pc-bar__search {
        flex: 1 1 auto;
        max-width: 760px;
    }

    #hd.rx-pc-hd #hd_sch {
        height: 54px;
        border: 1.5px solid #e4ddd6;
        border-radius: 12px;
        background: var(--rx-surface-warm);
    }

    #hd.rx-pc-hd #hd_sch:focus-within {
        border-color: var(--rx-accent);
        background: #fff;
        box-shadow: 0 0 0 4px var(--rx-accent-soft);
    }

    #hd.rx-pc-hd #hd_sch input[type="text"],
    #hd.rx-pc-hd #sch_str {
        height: 54px;
        padding: 0 56px 0 20px;
        font-size: 1.05rem;
    }

    #hd.rx-pc-hd #hd_sch #sch_submit,
    #hd.rx-pc-hd #hd_sch button[type="submit"] {
        width: 54px;
        height: 54px;
        color: var(--rx-accent);
        font-size: 1.15rem;
    }

    .rx-pc-action {
        min-height: 48px;
        padding: 0 12px;
        font-size: 0.92rem;
        font-weight: 600;
    }

    .rx-pc-action i {
        font-size: 1.15rem;
    }

    /* Discovery nav band */
    .rx-catnav {
        background: var(--rx-surface-alt);
        border-bottom: 1px solid var(--rx-border);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    }

    .rx-catnav__track {
        max-width: var(--rx-content-max);
        margin: 0 auto;
        padding: 10px 28px 12px;
        flex-direction: column;
        gap: 8px;
        overflow: visible;
    }

    .rx-catnav__row {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px 12px;
        overflow: visible;
        width: 100%;
        max-width: 100%;
        padding: 0;
        box-sizing: border-box;
    }

    .rx-catnav__row--discover {
        padding-bottom: 4px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    }

    .rx-catnav__item {
        flex: 0 1 auto;
        height: 42px;
        min-height: 42px;
        padding: 0 12px;
        border: 0;
        border-bottom: 0;
        border-radius: 999px;
        background: transparent;
        color: var(--rx-text);
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: -0.02em;
    }

    .rx-catnav__item:hover {
        color: var(--rx-accent);
        background: rgba(232, 93, 4, 0.08);
    }

    .rx-catnav__item.is-active {
        color: var(--rx-accent);
        background: rgba(232, 93, 4, 0.14);
        border-bottom: 0;
        font-weight: 800;
        box-shadow: inset 0 0 0 1px rgba(232, 93, 4, 0.18);
    }

    .rx-catnav__item--cat {
        height: 38px;
        min-height: 38px;
        padding: 0 14px;
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--rx-text-secondary);
        background: #fff;
        box-shadow: inset 0 0 0 1px var(--rx-border);
    }

    .rx-catnav__item--cat.is-active,
    .rx-catnav__item--cat:hover {
        color: var(--rx-accent);
        background: #fff;
        box-shadow: inset 0 0 0 1.5px var(--rx-accent);
    }

    button.rx-catnav__cate {
        background: #fff;
        box-shadow: inset 0 0 0 1px var(--rx-border);
        font-weight: 700;
    }

    button.rx-catnav__cate:hover {
        color: var(--rx-accent);
        box-shadow: inset 0 0 0 1.5px var(--rx-accent);
    }

    /* Home sections */
    .rx-section,
    .rx-main .sct_wrap,
    .rx-home .sct_wrap {
        max-width: var(--rx-content-max);
        margin: 40px auto;
        padding: 0 28px;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .rx-section > header h2,
    .rx-main .sct_wrap > header h2,
    .rx-main .sct_wrap > h2,
    .rx-home .sct_wrap > h2 {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 0 0 20px;
        font-size: 1.7rem;
        font-weight: 800;
        letter-spacing: -0.04em;
    }

    /* Section accent: keep only .rx-section__head h2 a::before (single bar).
       Do NOT also paint h2::before on header titles — that created || 베스트. */
    .rx-home .sct_wrap > h2::before,
    .rx-main .sct_wrap > h2::before {
        content: "";
        display: inline-block;
        width: 4px;
        height: 1.05em;
        border-radius: 2px;
        background: var(--rx-accent);
        flex: 0 0 auto;
    }

    .rx-section > header h2::before,
    .rx-section__head h2::before {
        content: none;
        display: none;
        width: 0;
        height: 0;
        margin: 0;
        background: none;
    }

    .rx-home .sct_wrap > h2 a::after,
    .rx-main .sct_wrap > h2 a::after,
    .rx-section > header h2 a::after {
        content: "더보기";
        margin-left: 12px;
        font-size: 0.85rem;
        font-weight: 600;
        color: var(--rx-text-secondary);
        letter-spacing: 0;
    }

    .rx-home .sct_wrap > h2 a:hover::after,
    .rx-main .sct_wrap > h2 a:hover::after {
        color: var(--rx-accent);
    }

    /* Product cards — stronger commerce scale */
    .rx-home .sct_li,
    .rx-main .sct_li,
    .rx-list .sct_li,
    .rx-search-page .sct_li,
    #container .sct_li {
        width: 25% !important;
        max-width: 25% !important;
        padding: 0 10px !important;
        margin-bottom: 32px !important;
    }

    .rx-home .sct_img,
    .rx-main .sct_img,
    .rx-list .sct_img,
    .rx-search-page .sct_img,
    #container .sct_img {
        border-radius: 6px;
        background: var(--rx-surface-warm);
        margin-bottom: 12px;
    }

    .rx-home .sct_txt a,
    .rx-main .sct_txt a,
    .rx-list .sct_txt a,
    .rx-search-page .sct_txt a,
    #container .sct_txt a {
        font-size: 1.02rem;
        font-weight: 600;
        line-height: 1.4;
        letter-spacing: -0.02em;
    }

    .rx-home .sct_cost,
    .rx-main .sct_cost,
    .rx-list .sct_cost,
    .rx-search-page .sct_cost {
        margin-top: 8px;
    }

    .rx-home .sct_cost .sct_price,
    .rx-main .sct_cost .sct_price,
    .rx-list .sct_cost .sct_price,
    .rx-search-page .sct_cost .sct_price {
        font-size: 1.2rem;
        font-weight: 800;
        letter-spacing: -0.03em;
    }

    .rx-home .sct_cost .sct_disc,
    .rx-main .sct_cost .sct_disc,
    .rx-list .sct_cost .sct_disc {
        font-size: 1.05rem;
        font-weight: 800;
        color: var(--rx-accent);
        margin-right: 6px;
    }

    .rx-home .sct_noitem,
    .rx-main .sct_noitem,
    .rx-section .sct_noitem,
    #sit_rel .sct_noitem {
        padding: 18px 8px !important;
        min-height: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* Footer — typography finalized in FOOTER TYPO1 */
    #ft.rx-footer,
    .rx-footer {
        margin-top: 64px;
        padding: 40px 28px;
        background: var(--rx-surface-warm);
        border-top: 1px solid var(--rx-border);
    }

    .rx-footer__inner {
        max-width: var(--rx-content-max);
        gap: 72px;
    }

    .rx-footer__brand .rx-brand {
        font-size: 1.55rem;
    }

    /* ===== Item detail — major scale ===== */
    body.rx-is-pc #sit.rx-item-detail,
    body.rx-is-pc #sit {
        max-width: var(--rx-content-max);
        margin: 0 auto;
        padding: 20px 28px 64px;
    }

    /* Kill legacy fixed 500px image / 1200 wrap from skin style.css */
    body.rx-is-pc #sit #sit_ov_wrap.rx-item-summary,
    body.rx-is-pc #sit #sit_ov_wrap {
        display: flex !important;
        align-items: flex-start;
        gap: 48px;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        float: none !important;
    }

    body.rx-is-pc #sit #sit_pvi.rx-item-gallery,
    body.rx-is-pc #sit #sit_pvi {
        flex: 1 1 54%;
        width: 54% !important;
        max-width: 54% !important;
        float: none !important;
        margin: 0 !important;
    }

    body.rx-is-pc #sit #sit_pvi_big {
        float: none !important;
        width: 100% !important;
        text-align: left;
        background: var(--rx-surface-warm);
        border-radius: 8px;
        overflow: hidden;
    }

    body.rx-is-pc #sit #sit_pvi_big a.visible,
    body.rx-is-pc #sit #sit_pvi_big a {
        display: block !important;
    }

    body.rx-is-pc #sit #sit_pvi_big img,
    body.rx-is-pc #sit #sit_pvi img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block;
    }

    body.rx-is-pc #sit #sit_pvi_thumb {
        float: none !important;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 12px;
        padding: 0;
        list-style: none;
    }

    body.rx-is-pc #sit #sit_ov.rx-item-info,
    body.rx-is-pc #sit #sit_ov {
        flex: 1 1 46%;
        width: 46% !important;
        max-width: 46% !important;
        float: none !important;
        margin: 0 !important;
        padding: 4px 0 0;
        border: 0;
        background: transparent;
    }

    body.rx-is-pc #sit #sit_title {
        font-size: 30px;
        font-weight: 800;
        line-height: 1.3;
        letter-spacing: -0.04em;
        margin: 0 0 10px;
    }

    body.rx-is-pc #sit .sit_desc,
    body.rx-is-pc #sit #sit_desc {
        margin: 0 0 18px;
        font-size: 15px;
        color: var(--rx-text-secondary);
        line-height: 1.5;
    }

    body.rx-is-pc #sit .rx-item-price__sale,
    body.rx-is-pc #sit .sit_price strong,
    body.rx-is-pc #sit #it_price {
        font-size: 34px !important;
        font-weight: 800;
        letter-spacing: -0.04em;
        color: var(--rx-text);
    }

    body.rx-is-pc #sit .rx-item-price__disc {
        font-size: 26px;
        color: var(--rx-accent);
        font-weight: 800;
    }

    body.rx-is-pc #sit .sit_ov_tbl,
    body.rx-is-pc #sit .rx-item-meta,
    body.rx-is-pc #sit .sit_info {
        margin-top: 20px;
        padding-top: 12px;
        border-top: 1px solid var(--rx-border);
    }

    body.rx-is-pc #sit .sit_ov_tbl table,
    body.rx-is-pc #sit .rx-item-meta table {
        width: 100%;
        border: 0;
    }

    body.rx-is-pc #sit .sit_ov_tbl th,
    body.rx-is-pc #sit .sit_ov_tbl td,
    body.rx-is-pc #sit .rx-item-meta th,
    body.rx-is-pc #sit .rx-item-meta td {
        padding: 11px 0;
        border: 0;
        border-bottom: 1px solid #f0ece8;
        background: transparent;
        font-size: 14px;
    }

    body.rx-is-pc #sit .sit_ov_tbl th,
    body.rx-is-pc #sit .rx-item-meta th {
        width: 26%;
        color: var(--rx-text-muted);
        font-weight: 500;
    }

    body.rx-is-pc #sit .sit_option,
    body.rx-is-pc #sit #sit_sel_option {
        margin-top: 18px;
    }

    body.rx-is-pc #sit .sit_qty_minus,
    body.rx-is-pc #sit .sit_qty_plus {
        width: 40px;
        height: 40px;
        border: 1px solid var(--rx-border);
        border-radius: 8px;
        background: #fff;
        font-size: 14px;
    }

    body.rx-is-pc #sit .num_input,
    body.rx-is-pc #sit input.num_input {
        width: 56px;
        height: 40px;
        border: 1px solid var(--rx-border);
        border-radius: 8px;
        text-align: center;
        font-size: 15px;
        font-weight: 700;
    }

    body.rx-is-pc #sit .sit_tot_price,
    body.rx-is-pc #sit #sit_tot_price {
        margin: 18px 0 8px;
        font-size: 15px;
        color: var(--rx-text-secondary);
    }

    body.rx-is-pc #sit .sit_tot_price strong,
    body.rx-is-pc #sit #sit_tot_price strong {
        font-size: 26px;
        font-weight: 800;
        color: var(--rx-text);
        letter-spacing: -0.03em;
    }

    body.rx-is-pc #sit .rx-item-actions,
    body.rx-is-pc #sit #sit_ov_btn {
        display: flex;
        gap: 10px;
        margin-top: 18px;
    }

    body.rx-is-pc #sit .rx-btn-primary,
    body.rx-is-pc #sit .sit_btn_buy,
    body.rx-is-pc #sit #sit_ov_btn .sit_btn_buy {
        flex: 1 1 auto;
        min-height: 56px;
        height: 56px;
        border: 0 !important;
        border-radius: 10px;
        background: var(--rx-accent) !important;
        color: #fff !important;
        font-size: 17px;
        font-weight: 800;
    }

    body.rx-is-pc #sit .rx-btn-secondary,
    body.rx-is-pc #sit .sit_btn_cart,
    body.rx-is-pc #sit #sit_ov_btn .sit_btn_cart {
        flex: 1 1 auto;
        min-height: 56px;
        height: 56px;
        border: 1.5px solid var(--rx-border) !important;
        border-radius: 10px;
        background: #fff !important;
        color: var(--rx-text) !important;
        font-size: 16px;
        font-weight: 700;
    }

    body.rx-is-pc #sit .rx-btn-wish,
    body.rx-is-pc #sit .sit_btn_wish {
        flex: 0 0 56px;
        width: 56px;
        height: 56px;
        border: 1.5px solid var(--rx-border);
        border-radius: 10px;
        background: #fff;
        color: var(--rx-text-secondary);
        font-size: 20px;
    }

    /* Hide duplicate sticky purchase sidebar (main CTAs remain in #sit_ov) */
    body.rx-is-pc #sit_buy.fix {
        display: none !important;
    }

    body.rx-is-pc #sit_info.rx-item-detail-info,
    body.rx-is-pc #sit_info {
        max-width: var(--rx-content-max);
        width: 100% !important;
        margin: 40px auto 0;
        padding: 0;
        border: 0;
        background: transparent;
        display: block !important;
    }

    body.rx-is-pc #sit_tab {
        width: 100% !important;
        display: block !important;
    }

    body.rx-is-pc #sit_rel {
        max-width: var(--rx-content-max);
        width: 100% !important;
        margin: 28px auto;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.rx-is-pc #sit_rel h2 {
        margin: 0 0 14px;
        font-size: 1.35rem;
        font-weight: 800;
        text-align: left;
    }

    body.rx-is-pc #sit_rel:has(.sct_noitem),
    body.rx-is-pc #sit_rel:has(.sct_nofile) {
        padding: 0;
        margin: 16px auto;
    }

    body.rx-is-pc .rx-item-tabs .tab_tit {
        display: flex;
        gap: 0;
        margin: 0 0 20px;
        padding: 0;
        list-style: none;
        border-bottom: 1px solid var(--rx-border);
    }

    body.rx-is-pc .rx-item-tabs .tab_tit li {
        flex: 1 1 auto;
    }

    body.rx-is-pc .rx-item-tabs .tab_tit button {
        width: 100%;
        min-height: 52px;
        border: 0;
        border-bottom: 2px solid transparent;
        background: transparent;
        color: var(--rx-text-secondary);
        font-size: 1rem;
        font-weight: 700;
        cursor: pointer;
    }

    body.rx-is-pc .rx-item-tabs .tab_tit button.selected,
    body.rx-is-pc .rx-item-tabs .tab_tit button:hover {
        color: var(--rx-accent);
        border-bottom-color: var(--rx-accent);
    }

    body.rx-is-pc #sit_inf_explan,
    body.rx-is-pc .rx-item-tabs .tab_con {
        padding: 8px 0 24px;
        border: 0;
        background: transparent;
        min-height: 0;
    }

    body.rx-is-pc #sit_siblings {
        margin: 0 0 12px;
        font-size: 13px;
        color: var(--rx-text-muted);
    }

    body.rx-is-pc #container_title {
        max-width: var(--rx-content-max);
        margin: 12px auto 8px;
        padding: 0 28px;
        font-size: 13px;
        color: var(--rx-text-muted);
        box-sizing: border-box;
    }
}

@media (min-width: 1440px) {
    :root {
        --rx-content-max: 1320px;
    }

    .rx-pc-bar__brand .rx-brand {
        font-size: 2.25rem;
    }

    .rx-pc-bar__search {
        max-width: 820px;
    }

    body.rx-is-pc #sit #sit_title {
        font-size: 32px;
    }

    body.rx-is-pc #sit .rx-item-price__sale {
        font-size: 36px !important;
    }

    .rx-home .sct_txt a,
    .rx-main .sct_txt a {
        font-size: 1.06rem;
    }

    .rx-home .sct_cost .sct_price,
    .rx-main .sct_cost .sct_price {
        font-size: 1.25rem;
    }
}

/* ==========================================================================
   PHASE 11 / 11R — Contemporary commerce + typographic art direction
   HERO / CATEGORY DISCOVERY / EDITORIAL / CARD / ITEM / NAV / FOOTER
   ========================================================================== */

/* Discovery nav — text + indicator (not pill buttons) */
.rx-catnav {
    background: var(--rx-surface-warm);
    border-bottom: 1px solid var(--rx-border);
}

.rx-catnav__row--discover {
    gap: 4px 6px;
    padding: 6px var(--rx-page-pad) 4px;
    flex-wrap: wrap;
    overflow: visible;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.rx-catnav__item {
    font-size: var(--rx-fs-nav);
    letter-spacing: -0.01em;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.rx-catnav__item.is-active {
    color: var(--rx-accent);
    background: transparent;
    border-bottom-color: var(--rx-accent);
    font-weight: 700;
}

button.rx-catnav__cate {
    font-weight: 700;
    color: var(--rx-text);
    margin-right: 4px;
    padding-right: 10px;
    border-right: 1px solid var(--rx-border);
    border-bottom-color: transparent;
    flex: 0 0 auto;
}

button.rx-catnav__cate.is-active,
button.rx-catnav__cate:hover {
    background: transparent;
    color: var(--rx-text);
}

/* Hide text category chips on home — visual discovery replaces them */
body.rx-is-home .rx-catnav__row--cats {
    display: none;
}

/* ----- HERO (typographic brand cover) ----- */
.rx-hero {
    position: relative;
    margin: 0 0 8px;
    overflow: hidden;
}

.rx-hero--fallback {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 210px;
    background: var(--rx-surface-alt);
    position: relative;
}

.rx-hero__art {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    background:
        linear-gradient(135deg, #f7f2ec 0%, #efe6dc 48%, #e8ddd2 100%);
}

.rx-hero__grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(17, 17, 17, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(17, 17, 17, 0.045) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: 0.7;
}

.rx-hero__mark {
    position: absolute;
    right: -4%;
    bottom: -18%;
    font-size: clamp(4.5rem, 28vw, 11rem);
    font-weight: 800;
    letter-spacing: -0.06em;
    line-height: 0.85;
    color: rgba(17, 17, 17, 0.06);
    user-select: none;
    white-space: nowrap;
}

.rx-hero__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 8px;
    min-height: 210px;
    padding: 24px var(--rx-page-pad) 22px;
}

.rx-hero__brand {
    margin: 0;
    font-size: var(--rx-fs-caption);
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--rx-accent);
}

.rx-hero__title {
    margin: 0;
    font-size: 1.7rem;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.035em;
    color: var(--rx-text);
}

.rx-hero__sub {
    margin: 0;
    font-size: var(--rx-fs-meta);
    color: var(--rx-text-secondary);
    font-weight: 500;
}

.rx-hero__cta,
a.rx-hero__cta,
a.rx-hero__cta:link,
a.rx-hero__cta:visited,
a.rx-hero__cta:hover,
a.rx-hero__cta:focus,
a.rx-hero__cta:focus-visible,
a.rx-hero__cta:active {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 40px;
    padding: 0 16px;
    margin-top: 6px;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-text);
    color: #fff;
    -webkit-text-fill-color: #fff;
    font-size: var(--rx-fs-button);
    font-weight: 700;
    text-decoration: none;
}

a.rx-hero__cta:hover,
.rx-hero__cta:hover {
    background: var(--rx-accent);
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.rx-hero--native {
    margin: 0 0 8px;
}

.rx-hero--native img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0;
}

/* ----- CATEGORY DISCOVERY (typography-led tiles) ----- */
.rx-cat-discover {
    margin: 8px 0 18px;
    padding: 0 var(--rx-page-pad);
}

.rx-cat-discover__head {
    margin: 0 0 10px;
}

.rx-cat-discover__title {
    margin: 0;
    font-size: var(--rx-fs-section);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--rx-text);
}

.rx-cat-discover__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rx-cat-discover__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.rx-cat-discover__tile {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 4px;
    min-height: 108px;
    padding: 14px 14px 16px;
    border-radius: var(--rx-radius-sm);
    background: var(--rx-surface-warm);
    overflow: hidden;
    transition: background 0.2s ease;
}

.rx-cat-discover__item--1 .rx-cat-discover__tile { background: #f4eee8; }
.rx-cat-discover__item--2 .rx-cat-discover__tile { background: #efe8e1; }
.rx-cat-discover__item--3 .rx-cat-discover__tile { background: #f7f1eb; }
.rx-cat-discover__item--4 .rx-cat-discover__tile { background: #f1ebe5; }

.rx-cat-discover__en {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: var(--rx-text-muted);
}

.rx-cat-discover__label {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--rx-text);
}

.rx-cat-discover__cue {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 0.95rem;
    color: var(--rx-accent);
    opacity: 0.85;
}

.rx-cat-discover__link:hover .rx-cat-discover__tile {
    background: var(--rx-accent-soft);
}

.rx-cat-discover__link:focus-visible .rx-cat-discover__tile {
    outline: 2px solid var(--rx-accent);
    outline-offset: 2px;
}

/* ----- EDITORIAL (typographic) ----- */
.rx-editorial {
    margin: 8px 0 24px;
    padding: 0 var(--rx-page-pad);
}

.rx-editorial__panel {
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
    background: var(--rx-surface-warm);
    border-radius: var(--rx-radius-md);
}

.rx-editorial__visual {
    position: relative;
    min-height: 160px;
    padding: 28px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    background:
        linear-gradient(160deg, #efe6dc 0%, #f7f2ec 55%, #ebe3da 100%);
    overflow: hidden;
}

.rx-editorial__wordmark {
    margin: 0;
    font-size: clamp(2.8rem, 14vw, 4.5rem);
    font-weight: 800;
    letter-spacing: -0.06em;
    line-height: 0.9;
    color: var(--rx-text);
}

.rx-editorial__tax {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    color: var(--rx-text-secondary);
}

.rx-editorial__copy {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    padding: 20px 18px 22px;
}

.rx-editorial__eyebrow {
    margin: 0;
    font-size: var(--rx-fs-caption);
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--rx-accent);
}

.rx-editorial__title {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: var(--rx-text);
}

.rx-editorial__cta {
    display: inline-flex;
    align-self: flex-start;
    margin-top: 4px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--rx-text);
    background: transparent;
    color: var(--rx-text);
    font-size: var(--rx-fs-button);
    font-weight: 700;
    text-decoration: none;
    line-height: 1.6;
}

.rx-editorial__cta:hover {
    color: var(--rx-accent);
    border-bottom-color: var(--rx-accent);
}

/* ----- HOME SECTION RHYTHM ----- */
.rx-section {
    margin: 0 0 26px;
    padding: 0 var(--rx-page-pad);
    border: 0;
    background: transparent;
}

.rx-section--surface {
    padding-top: 20px;
    padding-bottom: 8px;
    background: var(--rx-surface-warm);
}

.rx-section__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 0 0 12px;
}

.rx-section__head h2 {
    margin: 0;
    font-size: var(--rx-fs-section);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.rx-section__head h2 a {
    text-decoration: none;
    color: var(--rx-text);
}

.rx-section__head h2 a::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 0.85em;
    margin-right: 8px;
    vertical-align: -0.08em;
    background: var(--rx-accent);
    border-radius: 1px;
}

.rx-section--best {
    margin-top: 2px;
}

.rx-section--best .rx-section__head h2 {
    font-size: 1.3rem;
}

/* ----- PRODUCT CARD POLISH ----- */
.rx-home .sct_img,
.rx-main .sct_img,
.rx-list .sct_img {
    border-radius: var(--rx-radius-sm);
}

.rx-home .sct_img img,
.rx-main .sct_img img,
.rx-list .sct_img img,
#container.idx-container .sct_img img {
    transition: transform 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
    .rx-home .sct_li:hover .sct_img img,
    .rx-main .sct_li:hover .sct_img img,
    .rx-list .sct_li:hover .sct_img img {
        transform: scale(1.02);
    }
}

.rx-home .sct_txt a,
.rx-main .sct_txt a,
.rx-list .sct_txt a {
    font-weight: 500;
    line-height: 1.4;
}

.rx-home .sct_cost .sct_price,
.rx-main .sct_cost .sct_price,
.rx-list .sct_cost .sct_price {
    font-weight: 800;
    letter-spacing: -0.02em;
}

.rx-home .sct,
.rx-main .sct,
.rx-list .sct,
.rx-home .sct_wrap,
.rx-section .sct_wrap {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ----- ITEM TAB accent (legacy blue source: skin style.css :after #3a8afd) ----- */
#sit_tab .tab_tit li .selected:after,
#sit_tab .tab_tit li button.selected:after,
#sit_tab.rx-item-tabs .tab_tit li .selected:after,
body.rx-is-item #sit_tab .tab_tit li .selected:after,
body.rx-is-item #sit .tab_tit li button.selected:after {
    background: var(--rx-accent);
}

#sit_tab .tab_tit li .selected,
#sit_tab .tab_tit li button.selected,
.rx-item-tabs .tab_tit button.selected,
.rx-item-tabs .tab_tit button.sanchor_on {
    color: var(--rx-accent);
    border-bottom-color: var(--rx-accent);
    font-weight: 700;
}

/* Meta list — secondary */
body.rx-is-item .rx-item-meta,
body.rx-is-item #sit .sit_ov_tbl {
    border: 0;
    background: transparent;
    box-shadow: none;
    margin-top: 8px;
}

body.rx-is-item .rx-item-meta table,
body.rx-is-item #sit .sit_ov_tbl table {
    border: 0;
}

body.rx-is-item .rx-item-meta th,
body.rx-is-item .rx-item-meta td,
body.rx-is-item #sit .sit_ov_tbl th,
body.rx-is-item #sit .sit_ov_tbl td {
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-bottom: 1px solid #f0ece8;
    background: transparent;
    font-size: 12px;
    padding-top: 7px;
    padding-bottom: 7px;
}

body.rx-is-item .rx-item-meta th,
body.rx-is-item #sit .sit_ov_tbl th {
    color: var(--rx-text-muted);
    font-weight: 500;
    width: 28%;
}

body.rx-is-item .rx-item-meta td,
body.rx-is-item #sit .sit_ov_tbl td {
    color: var(--rx-text-secondary);
}

/* Quantity — less admin-form */
body.rx-is-item #sit_sel_option,
body.rx-is-item #sit_opt_added {
    background: transparent;
    border: 0;
    box-shadow: none;
}

body.rx-is-item #sit_opt_added .sit_opt_list,
body.rx-is-item #sit_sel_option .sit_opt_list {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--rx-border);
    border-radius: 0;
    padding: 12px 0;
}

body.rx-is-item .num_input,
body.rx-is-item input.num_input {
    border-radius: var(--rx-radius-sm);
    border: 1px solid var(--rx-border);
    background: #fff;
}

/* Kill legacy empty canvas on item detail (#sit_info min-height:600px) */
body.rx-is-item #sit_info,
body.rx-is-item #sit_info.rx-item-detail-info,
#sit_info {
    min-height: 0;
    height: auto;
    border: 0;
    background: transparent;
    margin-bottom: 16px;
}

body.rx-is-item #sit_inf_explan,
body.rx-is-item .rx-item-tabs .tab_con {
    min-height: 0;
    padding-bottom: 12px;
}

/* Related empty — compact */
#sit_rel .sct_noitem,
#sit_rel .sct_nofile,
body.rx-is-item #sit_rel .empty_list {
    min-height: 0;
    padding: 12px 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--rx-text-muted);
    font-size: var(--rx-fs-meta);
}

body.rx-is-item #sit_rel {
    border: 0;
    box-shadow: none;
    background: transparent;
    margin: 12px 0 8px;
    padding: 0;
}

/* Footer warmth */
body.rx-shop #ft,
#ft.rx-footer {
    background: var(--rx-surface-warm);
    border-top: 1px solid var(--rx-border);
    color: var(--rx-text-secondary);
}

/* Header modest brand presence */
@media (min-width: 1024px) {
    .rx-pc-bar__brand .rx-brand {
        font-size: 2.05rem;
        letter-spacing: -0.04em;
    }
}

/* ----- Desktop ----- */
@media (min-width: 1024px) {
    .rx-hero--fallback {
        display: grid;
        grid-template-columns: 0.95fr 1.05fr;
        min-height: 420px;
        margin: 12px auto 28px;
        max-width: var(--rx-content-max);
        border-radius: var(--rx-radius-md);
    }

    .rx-hero__art {
        position: relative;
        min-height: 420px;
        order: 2;
    }

    .rx-hero__mark {
        right: -2%;
        bottom: -12%;
        font-size: 10.5rem;
    }

    .rx-hero__content {
        order: 1;
        min-height: 420px;
        justify-content: center;
        padding: 48px 52px;
        max-width: none;
        background: transparent;
    }

    .rx-hero__title {
        font-size: 2.6rem;
    }

    .rx-hero__sub {
        font-size: 1rem;
    }

    .rx-hero__cta {
        min-height: 46px;
        padding: 0 20px;
    }

    .rx-hero--native {
        max-width: var(--rx-content-max);
        margin: 12px auto 28px;
        border-radius: var(--rx-radius-md);
        overflow: hidden;
    }

    .rx-cat-discover {
        max-width: var(--rx-content-max);
        margin: 0 auto 36px;
        padding: 0 28px;
        box-sizing: border-box;
    }

    .rx-cat-discover__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }

    .rx-cat-discover__tile {
        min-height: 180px;
        padding: 22px;
    }

    .rx-cat-discover__label {
        font-size: 1.35rem;
    }

    .rx-cat-discover__en {
        font-size: 0.75rem;
    }

    .rx-editorial {
        max-width: var(--rx-content-max);
        margin: 8px auto 44px;
        padding: 0 28px;
        box-sizing: border-box;
    }

    .rx-editorial__panel {
        grid-template-columns: 1.2fr 0.8fr;
        min-height: 280px;
    }

    .rx-editorial__visual {
        min-height: 280px;
        padding: 40px 44px;
    }

    .rx-editorial__wordmark {
        font-size: 5.5rem;
    }

    .rx-editorial__copy {
        padding: 40px 44px;
    }

    .rx-editorial__title {
        font-size: 2rem;
    }

    .rx-section {
        max-width: var(--rx-content-max);
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 40px;
        padding-left: 28px;
        padding-right: 28px;
        box-sizing: border-box;
    }

    .rx-section--surface {
        max-width: none;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 0;
    }

    .rx-section--surface .rx-section__head,
    .rx-section--surface .sct {
        max-width: var(--rx-content-max);
        margin-left: auto;
        margin-right: auto;
        padding-left: 28px;
        padding-right: 28px;
        box-sizing: border-box;
    }

    .rx-section__head h2 {
        font-size: 1.5rem;
    }

    .rx-section--best .rx-section__head h2 {
        font-size: 1.65rem;
    }

    .rx-catnav__track {
        max-width: var(--rx-content-max);
        margin: 0 auto;
        padding: 0 28px;
        box-sizing: border-box;
        overflow: visible;
        width: 100%;
    }

    .rx-catnav__row--discover {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 4px 8px;
        padding: 8px 0 4px;
        overflow: visible;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .rx-catnav__item {
        flex: 0 1 auto;
        min-height: 44px;
        height: 44px;
        padding: 0 10px 4px;
        font-size: 1rem;
        background: transparent;
        border-radius: 0;
    }

    .rx-catnav__item.is-active {
        background: transparent;
        color: var(--rx-accent);
        border-bottom-color: var(--rx-accent);
    }

    .rx-catnav__item--cat {
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 0 12px 8px;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        border-bottom: 2px solid transparent;
        font-weight: 600;
    }

    .rx-catnav__item--cat.is-active,
    .rx-catnav__item--cat:hover {
        background: transparent;
        color: var(--rx-accent);
        border-bottom-color: var(--rx-accent);
        box-shadow: none;
    }

    body.rx-is-pc #sit_info,
    body.rx-is-pc #sit_info.rx-item-detail-info {
        min-height: 0;
        border: 0;
        background: transparent;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .rx-hero--fallback {
        grid-template-columns: 1fr 1fr;
        min-height: 300px;
    }

    .rx-hero__art,
    .rx-hero__content {
        min-height: 300px;
    }

    .rx-cat-discover__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
    }

    .rx-editorial__panel {
        grid-template-columns: 1fr 1fr;
    }
}

/* Mobile — compact first viewport into product feed */
@media (max-width: 767px) {
    .rx-hero--fallback,
    .rx-hero__content {
        min-height: 200px;
    }

    .rx-hero__title {
        font-size: 1.45rem;
    }

    .rx-hero__mark {
        font-size: 5.5rem;
        right: -8%;
        bottom: -22%;
    }

    .rx-cat-discover {
        margin-bottom: 14px;
    }

    .rx-cat-discover__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .rx-cat-discover__tile {
        min-height: 96px;
        padding: 12px;
    }

    .rx-cat-discover__label {
        font-size: 1rem;
    }

    .rx-section {
        margin-bottom: 20px;
    }

    .rx-editorial {
        margin-bottom: 18px;
    }

    .rx-editorial__wordmark {
        font-size: 3rem;
    }
}

/* ===== REFSA PC Category Mega Menu (BRAND1R6 / R6R) ===== */
@media (min-width: 1024px) {
    #hd.rx-pc-hd {
        overflow: visible;
        position: sticky;
        top: 0;
        z-index: 1000;
    }

    #hd.rx-pc-hd > #hd_wrapper.rx-pc-bar {
        position: relative;
        z-index: 3;
        background: var(--rx-surface);
    }

    #hd.rx-pc-hd > .rx-catnav {
        position: relative;
        z-index: 3;
        background: var(--rx-surface-warm);
    }

    #hd.rx-pc-hd #category.rx-mega,
    #hd.rx-pc-hd #category {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        border: 0;
        border-top: 1px solid var(--rx-border);
        border-bottom: 1px solid var(--rx-border);
        background: var(--rx-surface);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
        border-radius: 0;
        z-index: 2;
        box-sizing: border-box;
        opacity: 0;
        transform: translateY(-4px);
        transition: opacity 170ms ease, transform 170ms ease;
    }

    #hd.rx-pc-hd #category.rx-mega.is-open,
    #hd.rx-pc-hd #category.is-open {
        opacity: 1;
        transform: translateY(0);
    }

    /* Compact editorial composition: left intro + denser category grid */
    #hd.rx-pc-hd #category .rx-mega__inner {
        max-width: var(--rx-content-max);
        margin: 0 auto;
        padding: 28px 56px 30px 24px;
        box-sizing: border-box;
        position: relative;
        display: flex;
        align-items: center;
        gap: 48px;
        min-height: 0;
    }

    #hd.rx-pc-hd #category .rx-mega__head {
        flex: 0 0 240px;
        width: 240px;
        max-width: 240px;
        margin: 0;
        padding: 0 8px 0 0;
        border: 0;
        box-sizing: border-box;
    }

    #hd.rx-pc-hd #category .rx-mega__eyebrow {
        margin: 0 0 8px;
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: var(--rx-accent);
        line-height: 1.2;
    }

    #hd.rx-pc-hd #category h2,
    #hd.rx-pc-hd #category .rx-mega__title {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 1.375rem;
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.2;
        color: var(--rx-text);
    }

    #hd.rx-pc-hd #category ul.cate,
    #hd.rx-pc-hd #category .rx-mega__grid {
        flex: 1 1 auto;
        display: grid;
        grid-template-columns: repeat(var(--rx-mega-cols, 4), minmax(140px, 1fr));
        gap: 0;
        max-width: 820px;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
        float: none;
        box-sizing: border-box;
    }

    #hd.rx-pc-hd #category ul.cate:after {
        display: none;
    }

    #hd.rx-pc-hd #category .cate_li_1,
    #hd.rx-pc-hd #category .rx-mega__cell {
        float: none;
        width: auto;
        min-height: 0;
        margin: 0;
        padding: 0;
        border: 0;
        border-left: 0;
        list-style: none;
    }

    #hd.rx-pc-hd #category .cate_li_1 + .cate_li_1 .rx-mega__link,
    #hd.rx-pc-hd #category .rx-mega__cell + .rx-mega__cell .rx-mega__link {
        border-left: 1px solid var(--rx-border);
    }

    #hd.rx-pc-hd #category .cate_li_1_a,
    #hd.rx-pc-hd #category .rx-mega__link {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 5px;
        min-height: 72px;
        padding: 16px 28px 16px 20px;
        margin: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--rx-text);
        text-decoration: none;
        box-sizing: border-box;
        position: relative;
        transition: background-color 160ms ease, color 160ms ease;
    }

    #hd.rx-pc-hd #category .cate_li_1_a:hover,
    #hd.rx-pc-hd #category .cate_li_1_a:focus-visible,
    #hd.rx-pc-hd #category .rx-mega__link:hover,
    #hd.rx-pc-hd #category .rx-mega__link:focus-visible {
        background: rgba(232, 93, 4, 0.05);
        color: var(--rx-text);
        outline: none;
    }

    #hd.rx-pc-hd #category .rx-mega__ko {
        display: block;
        font-size: 1.0625rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        line-height: 1.25;
        color: var(--rx-text);
    }

    #hd.rx-pc-hd #category .rx-mega__en {
        display: block;
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--rx-text-muted);
        line-height: 1.2;
    }

    #hd.rx-pc-hd #category .rx-mega__link:hover .rx-mega__ko,
    #hd.rx-pc-hd #category .rx-mega__link:focus-visible .rx-mega__ko {
        color: var(--rx-accent);
    }

    #hd.rx-pc-hd #category .rx-mega__arrow {
        position: absolute;
        right: 14px;
        top: 50%;
        width: 12px;
        height: 12px;
        margin-top: -6px;
        border: 0;
        opacity: 0.3;
        transition: opacity 160ms ease, transform 160ms ease;
    }

    #hd.rx-pc-hd #category .rx-mega__arrow::before {
        content: "";
        display: block;
        width: 7px;
        height: 7px;
        border-top: 1.5px solid currentColor;
        border-right: 1.5px solid currentColor;
        transform: rotate(45deg);
        color: var(--rx-text);
    }

    #hd.rx-pc-hd #category .rx-mega__link:hover .rx-mega__arrow,
    #hd.rx-pc-hd #category .rx-mega__link:focus-visible .rx-mega__arrow {
        opacity: 0.85;
        transform: translateX(3px);
    }

    #hd.rx-pc-hd #category .rx-mega__sub,
    #hd.rx-pc-hd #category .sub_cate {
        margin: 0;
        padding: 0 12px 10px 20px;
        list-style: none;
    }

    #hd.rx-pc-hd #category .cate_li_2 {
        line-height: 1.5;
    }

    #hd.rx-pc-hd #category .cate_li_2 a {
        display: inline-block;
        padding: 1px 0;
        font-size: 0.8125rem;
        color: var(--rx-text-secondary);
        text-decoration: none;
    }

    #hd.rx-pc-hd #category .cate_li_2 a:hover,
    #hd.rx-pc-hd #category .cate_li_2 a:focus-visible {
        color: var(--rx-accent);
    }

    /* Close sits on inner 1320 content axis, not viewport edge */
    #hd.rx-pc-hd #category .close_btn,
    #hd.rx-pc-hd #category .rx-mega__close {
        position: absolute;
        top: 50%;
        right: 16px;
        width: 36px;
        height: 36px;
        margin: -18px 0 0;
        padding: 0;
        border: 0;
        border-radius: var(--rx-radius-sm);
        background: transparent;
        color: var(--rx-text-secondary);
        font-size: 15px;
        line-height: 1;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: background-color 160ms ease, color 160ms ease;
        z-index: 2;
    }

    #hd.rx-pc-hd #category .close_btn:hover,
    #hd.rx-pc-hd #category .close_btn:focus-visible,
    #hd.rx-pc-hd #category .rx-mega__close:hover,
    #hd.rx-pc-hd #category .rx-mega__close:focus-visible {
        background: var(--rx-surface-alt);
        color: var(--rx-text);
        outline: none;
    }

    #hd.rx-pc-hd #category .no-cate {
        margin: 0;
        padding: 12px 0;
        text-align: left;
        color: var(--rx-text-secondary);
    }

    #hd.rx-pc-hd #category_all_bg,
    #hd.rx-pc-hd #category_all_bg.rx-mega-bg {
        display: none;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgba(20, 20, 20, 0.08);
        z-index: 1;
        opacity: 0;
        transition: opacity 170ms ease;
        border: 0;
    }

    #hd.rx-pc-hd #category_all_bg.is-open,
    #hd.rx-pc-hd #category_all_bg.rx-mega-bg.is-open {
        opacity: 1;
    }
}

@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
    #hd.rx-pc-hd #category.rx-mega,
    #hd.rx-pc-hd #category,
    #hd.rx-pc-hd #category_all_bg,
    #hd.rx-pc-hd #category .rx-mega__link,
    #hd.rx-pc-hd #category .rx-mega__arrow {
        transition: none;
    }

    #hd.rx-pc-hd #category.rx-mega,
    #hd.rx-pc-hd #category {
        transform: none;
    }
}

/* Tablet/mobile: do not force premium mega composition */
@media (max-width: 1023px) {
    #hd.rx-pc-hd #category.rx-mega .rx-mega__inner {
        display: block;
    }

    #hd.rx-pc-hd #category.rx-mega .rx-mega__head {
        width: auto;
        max-width: none;
    }

    #hd.rx-pc-hd #category.rx-mega .rx-mega__eyebrow {
        display: none;
    }
}

/* ===== REFSA Category Nav No-Scroll (BRAND1R6R-2) ===== */
.rx-catnav,
.rx-catnav__row,
.rx-catnav__row--discover,
.rx-catnav__row--cats {
    max-width: 100%;
    box-sizing: border-box;
}

.rx-catnav {
    width: 100%;
}

.rx-catnav__track {
    width: 100%;
    overflow: visible;
    box-sizing: border-box;
}

.rx-catnav__row,
.rx-catnav__row--discover,
.rx-catnav__row--cats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    overflow-x: visible;
    overflow-y: visible;
    -webkit-overflow-scrolling: auto;
    scrollbar-width: auto;
    width: 100%;
}

.rx-catnav__row::-webkit-scrollbar {
    display: revert;
}

/* Mobile / narrow: wrap into viewport, no swipe rail */
@media (max-width: 1023px) {
    .rx-catnav {
        overflow: visible;
    }

    .rx-catnav__track {
        padding-left: 0;
        padding-right: 0;
    }

    .rx-catnav__row,
    .rx-catnav__row--discover,
    .rx-catnav__row--cats {
        flex-wrap: wrap;
        gap: 4px 4px;
        padding-left: var(--rx-page-pad, 14px);
        padding-right: var(--rx-page-pad, 14px);
    }

    .rx-catnav__item {
        flex: 0 1 auto;
        min-height: 34px;
        height: auto;
        padding: 6px 10px 8px;
        font-size: 0.875rem;
    }

    button.rx-catnav__cate {
        flex: 0 0 auto;
        margin-right: 2px;
        padding-left: 8px;
        padding-right: 10px;
    }

    .rx-catnav__item--cat {
        height: auto;
        min-height: 32px;
        margin: 2px 0;
    }
}

/* Desktop: single-line discover nav, denser gap, no overflow rail */
@media (min-width: 1024px) {
    .rx-catnav__row,
    .rx-catnav__row--discover {
        flex-wrap: nowrap;
        gap: 4px 10px;
        overflow: visible;
    }

    .rx-catnav__row--cats {
        flex-wrap: wrap;
        gap: 4px 8px;
    }

    .rx-catnav__item {
        flex: 0 1 auto;
        padding-left: 10px;
        padding-right: 10px;
    }

    button.rx-catnav__cate {
        flex: 0 0 auto;
    }
}

/* ===== REFSA PC Catnav Content-Axis Alignment (BRAND1R6R-4) ===== */
@media (min-width: 1024px) {
    /* Full-width bar background; inner track matches main content axis */
    #hd.rx-pc-hd > .rx-catnav,
    .rx-catnav {
        width: 100%;
        max-width: none;
    }

    #hd.rx-pc-hd > .rx-catnav .rx-catnav__track,
    .rx-catnav__track {
        width: 100%;
        max-width: var(--rx-content-max);
        margin-left: auto;
        margin-right: auto;
        padding-left: 28px;
        padding-right: 28px;
        box-sizing: border-box;
    }

    /* Avoid double horizontal pad from page-pad on the row */
    #hd.rx-pc-hd > .rx-catnav .rx-catnav__row--discover,
    .rx-catnav__row--discover {
        padding-left: 0;
        padding-right: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    #hd.rx-pc-hd > .rx-catnav .rx-catnav__row--cats,
    .rx-catnav__row--cats {
        padding-left: 0;
        padding-right: 0;
    }
}

/* ===== REFSA Global Sticky Header Stack (BRAND1R6R-3) ===== */
#tnb.rx-utility {
    position: relative;
    z-index: 1;
    background: var(--rx-surface);
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
}

#hd.rx-pc-hd {
    position: sticky;
    top: 0;
    z-index: 1000;
    overflow: visible;
    background: var(--rx-surface);
    border-bottom: 1px solid var(--rx-border);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.035);
}

#hd.rx-pc-hd > .rx-catnav {
    background: var(--rx-surface-warm);
    border-bottom: 0;
}

/* Mobile: keep full home header + catnav as one sticky unit */
#hd.rx-hd {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--rx-surface);
    border-bottom: 1px solid var(--rx-border);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.035);
    overflow: visible;
}

#hd.rx-hd > .rx-catnav {
    background: var(--rx-surface-warm);
    border-bottom: 0;
}

@media (max-width: 1023px) {
    #hd.rx-hd > .rx-catnav .rx-catnav__item {
        min-height: 32px;
        padding: 5px 8px 7px;
        font-size: 0.8125rem;
    }

    #hd.rx-hd > .rx-catnav .rx-catnav__row--discover {
        gap: 2px 4px;
        padding-top: 2px;
        padding-bottom: 2px;
    }
}

/* ===== REFSA Header Border Softening + Back-to-Top (BRAND1R6R-5) ===== */
body.rx-shop #tnb.rx-utility,
#tnb.rx-utility {
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
}

/* ===== REFSA Header Utility Nav (UTILITY1) =====
   Beat legacy default_shop.css #hd_qnb float/margin/border-right mix
   with one flex + padding + ::after separator system. */
@media (min-width: 768px) {
    #tnb.rx-utility {
        min-height: 40px;
    }

    #tnb.rx-utility .rx-utility__inner {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        min-height: 40px;
    }

    #tnb.rx-utility #hd_qnb.rx-utility__links,
    #tnb.rx-utility .rx-utility__links {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: nowrap;
        gap: 0;
        float: none;
        list-style: none;
        margin: 0;
        padding: 0;
        text-align: right;
    }

    #tnb.rx-utility #hd_qnb.rx-utility__links::after,
    #tnb.rx-utility .rx-utility__links::after {
        content: none;
        display: none;
    }

    #tnb.rx-utility #hd_qnb.rx-utility__links > li,
    #tnb.rx-utility .rx-utility__links > li {
        display: flex;
        align-items: center;
        float: none;
        margin: 0;
        padding: 0;
        border: 0;
        border-right: 0;
        position: static;
        font-size: inherit;
        line-height: 1;
        text-align: center;
    }

    #tnb.rx-utility #hd_qnb.rx-utility__links > li:not(:last-child)::after,
    #tnb.rx-utility .rx-utility__links > li:not(:last-child)::after {
        content: "";
        width: 1px;
        height: 12px;
        margin: 0 2px;
        flex: 0 0 auto;
        align-self: center;
        background: rgba(20, 20, 20, 0.16);
    }

    #tnb.rx-utility #hd_qnb.rx-utility__links > li > a,
    #tnb.rx-utility .rx-utility__links > li > a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        padding: 0 11px;
        margin: 0;
        border: 0;
        font-size: 12px;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0;
        color: #858585;
        text-decoration: none;
        white-space: nowrap;
        box-sizing: border-box;
    }

    #tnb.rx-utility #hd_qnb.rx-utility__links > li > a:hover,
    #tnb.rx-utility .rx-utility__links > li > a:hover {
        color: #222;
        text-decoration: none;
        background: transparent;
    }

    #tnb.rx-utility #hd_qnb.rx-utility__links > li > a:focus-visible,
    #tnb.rx-utility .rx-utility__links > li > a:focus-visible {
        outline: 1px solid rgba(20, 20, 20, 0.28);
        outline-offset: 2px;
    }
}

@media (min-width: 1024px) {
    #tnb.rx-utility #hd_qnb.rx-utility__links > li > a,
    #tnb.rx-utility .rx-utility__links > li > a {
        font-size: 13px;
        padding: 0 12px;
    }
}

/* Beat legacy default_shop.css #top_btn { position:absolute; left:0 } */
body.rx-shop #top_btn.rx-top-btn,
#top_btn.rx-top-btn {
    position: fixed;
    right: 28px;
    bottom: 28px;
    left: auto;
    top: auto;
    margin: 0;
    z-index: 900;
}

/* Mobile shop #top_btn — clear bottom nav; reuse .rx-top-btn visibility */
body.rx-is-mobile #top_btn.rx-top-btn,
body.rx-is-mobile #top_btn {
    position: fixed;
    right: 16px;
    bottom: calc(var(--rx-bottom-h, 56px) + env(safe-area-inset-bottom, 0px) + 16px);
    left: auto;
    top: auto;
    margin: 0;
    z-index: 900;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid var(--rx-border);
    background: #fff;
    color: var(--rx-text-secondary);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    opacity: 0;
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.rx-is-mobile #top_btn.rx-top-btn.is-visible,
body.rx-is-mobile #top_btn.is-visible {
    opacity: 1;
    pointer-events: auto;
}

/* Override PC-only hide of .rx-top-btn under 768 when on mobile shop */
@media (max-width: 767px) {
    body.rx-is-mobile #top_btn.rx-top-btn {
        display: inline-flex;
    }
}

/* Pages without bottom nav / with purchase bar: keep clear of fixed CTA */
body.rx-is-mobile.rx-is-item #top_btn,
body.rx-is-mobile.rx-is-cart #top_btn,
body.rx-is-mobile.rx-is-order #top_btn,
body.rx-is-mobile.rx-is-auth #top_btn {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
}

/* ===== REFSA CHECKOUT1 — Premium Luxury Checkout ===== */
body.rx-is-order {
    --rx-checkout-summary-w: 380px;
    --rx-checkout-gap: 48px;
    --rx-checkout-sticky-top: 220px;
    background: var(--rx-bg);
}

body.rx-is-order #wrapper_title {
    max-width: var(--rx-content-max);
    margin: 0 auto;
    padding: 28px 28px 8px;
    box-sizing: border-box;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--rx-text);
    border: 0;
    background: transparent;
}

body.rx-is-order #wrapper_title::after {
    content: "주문 정보를 확인하고 결제를 진행해 주세요.";
    display: block;
    margin-top: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--rx-text-muted);
    line-height: 1.4;
}

/* Kill legacy blue / cyan / hot pink in checkout */
body.rx-is-order #sod_frm,
body.rx-is-order #sod_frm * {
    --legacy-blue: transparent;
}

body.rx-is-order .sod_right #sod_bsk_tot,
body.rx-is-order .sod_right .pay_tbl,
body.rx-is-order .sod_right #od_tot_price,
body.rx-is-order #display_pay_button,
body.rx-is-order #sod_frm_paysel,
body.rx-is-order #m_sod_frm_paysel,
body.rx-is-order #m_sod_frm_paysel h3,
body.rx-is-order #m_sod_frm_paysel ul,
body.rx-is-order .choice_place,
body.rx-is-order #sod_frm_taker .tbl_frm01 .choice_place,
body.rx-is-order #sod_frm_taker .order_choice_place {
    border-color: var(--rx-border) !important;
    background: var(--rx-surface) !important;
}

body.rx-is-order #od_tot_price,
body.rx-is-order #od_tot_price strong,
body.rx-is-order #ct_tot_price,
body.rx-is-order .sod_bsk_cnt strong {
    color: var(--rx-text) !important;
    background: transparent !important;
}

body.rx-is-order #sod_frm_pt_alert,
body.rx-is-order #sod_frm_orderer .odpw_info {
    background: var(--rx-surface-warm) !important;
    color: var(--rx-text-secondary) !important;
    border: 1px solid var(--rx-border) !important;
    border-radius: var(--rx-radius-sm);
    box-shadow: none !important;
}

body.rx-is-order #sod_frm_pt_alert::before {
    display: none !important;
}

body.rx-is-order #sod_frm .btn_frmline,
body.rx-is-order #sod_frm .btn_address,
body.rx-is-order #sod_frm .cp_btn,
body.rx-is-order #sod_frm .cp_btn1,
body.rx-is-order #sod_frm #od_coupon_btn,
body.rx-is-order #sod_frm #sc_coupon_btn {
    background: #fff !important;
    color: var(--rx-text) !important;
    border: 1px solid var(--rx-border) !important;
    border-radius: var(--rx-radius-sm) !important;
    height: 48px;
    padding: 0 16px;
    font-weight: 600;
    vertical-align: middle;
}

body.rx-is-order #display_pay_button .btn_submit,
body.rx-is-order #sod_frm .btn_submit {
    background: var(--rx-accent) !important;
    border: 0 !important;
    color: #fff !important;
}

body.rx-is-order #display_pay_button .btn01,
body.rx-is-order #sod_frm .btn_cancel,
body.rx-is-order #sod_frm a.btn01 {
    background: transparent !important;
    border: 0 !important;
    color: var(--rx-text-secondary) !important;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ===== Desktop checkout composition ===== */
@media (min-width: 1024px) {
    body.rx-is-pc.rx-is-order #wrapper.rx-wrapper #container.rx-container,
    body.rx-is-pc.rx-is-order #container.rx-container {
        max-width: var(--rx-content-max);
        margin: 0 auto;
        padding: 0 28px 64px;
        box-sizing: border-box;
    }

    body.rx-is-pc.rx-is-order #wrapper_title {
        padding-left: 0;
        padding-right: 0;
        font-size: 1.875rem;
    }

    body.rx-is-pc.rx-is-order #sod_frm.sod_frm_pc,
    body.rx-is-pc.rx-is-order #sod_frm {
        display: grid;
        grid-template-columns: minmax(0, 1fr) var(--rx-checkout-summary-w);
        grid-template-areas:
            "products products"
            "main summary";
        gap: 28px var(--rx-checkout-gap);
        max-width: none;
        margin: 0;
        padding: 8px 0 48px;
        overflow: visible;
        background: transparent;
    }

    body.rx-is-pc.rx-is-order #sod_frm::after {
        display: none;
    }

    body.rx-is-pc.rx-is-order #sod_frm .od_prd_list {
        grid-area: products;
        margin: 0 0 8px;
        padding: 0;
        background: transparent;
        border: 0;
    }

    body.rx-is-pc.rx-is-order #sod_frm .od_prd_list::before {
        content: "주문상품";
        display: block;
        margin: 0 0 14px;
        font-size: 1.25rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        color: var(--rx-text);
    }

    body.rx-is-pc.rx-is-order #sod_frm .sod_left {
        grid-area: main;
        float: none;
        display: block;
        width: auto;
        max-width: none;
        margin: 0;
        vertical-align: top;
    }

    body.rx-is-pc.rx-is-order #sod_frm .sod_right {
        grid-area: summary;
        float: none;
        display: block;
        width: auto;
        max-width: none;
        margin: 0;
        position: sticky;
        top: var(--rx-checkout-sticky-top);
        align-self: start;
        padding: 24px;
        background: var(--rx-surface);
        border: 1px solid var(--rx-border);
        border-radius: 10px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
        box-sizing: border-box;
    }

    /* Product rows → editorial cards (keep tr for JS) */
    body.rx-is-pc.rx-is-order #sod_list {
        width: 100%;
        border: 0;
        border-collapse: separate;
        border-spacing: 0 12px;
        background: transparent;
    }

    body.rx-is-pc.rx-is-order #sod_list thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    body.rx-is-pc.rx-is-order #sod_list tbody tr {
        display: grid;
        grid-template-columns: minmax(0, 1.6fr) repeat(6, minmax(72px, 0.7fr));
        align-items: center;
        gap: 8px 12px;
        padding: 20px 22px;
        background: var(--rx-surface);
        border: 1px solid var(--rx-border);
        border-radius: 8px;
        box-sizing: border-box;
    }

    body.rx-is-pc.rx-is-order #sod_list tbody td {
        display: block;
        width: auto !important;
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        text-align: left;
        vertical-align: middle;
        color: var(--rx-text);
        font-size: 0.875rem;
    }

    body.rx-is-pc.rx-is-order #sod_list .td_prd {
        display: flex !important;
        align-items: flex-start;
        gap: 16px;
        min-height: 0;
        padding: 0 !important;
        position: static;
    }

    body.rx-is-pc.rx-is-order #sod_list .sod_img {
        position: static !important;
        flex: 0 0 88px;
        width: 88px;
        height: 88px;
        overflow: hidden;
        border-radius: 6px;
        background: var(--rx-surface-alt);
    }

    body.rx-is-pc.rx-is-order #sod_list .sod_img img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.rx-is-pc.rx-is-order #sod_list .sod_name {
        min-height: 0;
        flex: 1 1 auto;
    }

    body.rx-is-pc.rx-is-order #sod_list .sod_name b,
    body.rx-is-pc.rx-is-order #sod_list .prd_name {
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        color: var(--rx-text);
        line-height: 1.35;
    }

    body.rx-is-pc.rx-is-order #sod_list .sod_opt {
        margin-top: 6px;
        font-size: 0.8125rem;
        color: var(--rx-text-secondary);
        line-height: 1.45;
    }

    body.rx-is-pc.rx-is-order #sod_list .td_num::before,
    body.rx-is-pc.rx-is-order #sod_list .td_numbig::before,
    body.rx-is-pc.rx-is-order #sod_list .td_dvr::before {
        display: block;
        margin-bottom: 4px;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.04em;
        color: var(--rx-text-muted);
    }

    body.rx-is-pc.rx-is-order #sod_list td.td_num:nth-child(2)::before { content: "수량"; }
    body.rx-is-pc.rx-is-order #sod_list td.td_numbig:nth-child(3)::before { content: "판매가"; }
    body.rx-is-pc.rx-is-order #sod_list td.td_numbig:nth-child(4)::before { content: "옵션가"; }
    body.rx-is-pc.rx-is-order #sod_list td.td_numbig:nth-child(5)::before { content: "소계"; }
    body.rx-is-pc.rx-is-order #sod_list td.td_numbig:nth-child(6)::before { content: "포인트"; }
    body.rx-is-pc.rx-is-order #sod_list td.td_dvr::before { content: "배송"; }

    body.rx-is-pc.rx-is-order #sod_list .total_price,
    body.rx-is-pc.rx-is-order #sod_list td.td_numbig:nth-child(5) {
        font-size: 1rem;
        font-weight: 700;
        color: var(--rx-text);
    }

    /* Form sections */
    body.rx-is-pc.rx-is-order #sod_frm_orderer,
    body.rx-is-pc.rx-is-order #sod_frm_taker {
        margin: 0 0 20px;
        padding: 28px 0 8px;
        border: 0;
        border-top: 1px solid var(--rx-border);
        background: transparent;
    }

    body.rx-is-pc.rx-is-order #sod_frm_orderer h2,
    body.rx-is-pc.rx-is-order #sod_frm_taker h2 {
        margin: 0 0 20px;
        padding: 0;
        border: 0;
        font-size: 1.25rem;
        font-weight: 700;
        letter-spacing: -0.02em;
    }

    body.rx-is-pc.rx-is-order #sod_frm .tbl_frm01,
    body.rx-is-pc.rx-is-order #sod_frm_orderer .tbl_frm01,
    body.rx-is-pc.rx-is-order #sod_frm_taker .tbl_frm01 {
        padding: 0;
        background: transparent;
        border: 0;
    }

    body.rx-is-pc.rx-is-order #sod_frm .tbl_frm01 table {
        width: 100%;
        border: 0;
    }

    body.rx-is-pc.rx-is-order #sod_frm .tbl_frm01 th,
    body.rx-is-pc.rx-is-order #sod_frm .tbl_frm01 td {
        display: block;
        width: 100% !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    body.rx-is-pc.rx-is-order #sod_frm .tbl_frm01 th {
        margin: 16px 0 8px;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--rx-text-secondary);
    }

    body.rx-is-pc.rx-is-order #sod_frm .tbl_frm01 th:first-child,
    body.rx-is-pc.rx-is-order #sod_frm .tbl_frm01 tr:first-child th {
        margin-top: 0;
    }

    body.rx-is-pc.rx-is-order #sod_frm .frm_input,
    body.rx-is-pc.rx-is-order #sod_frm input[type="text"],
    body.rx-is-pc.rx-is-order #sod_frm input[type="password"],
    body.rx-is-pc.rx-is-order #sod_frm input[type="tel"],
    body.rx-is-pc.rx-is-order #sod_frm input[type="email"],
    body.rx-is-pc.rx-is-order #sod_frm select,
    body.rx-is-pc.rx-is-order #sod_frm textarea {
        width: 100% !important;
        max-width: 100%;
        height: 50px;
        margin: 0;
        padding: 0 14px;
        border: 1px solid #dddddd;
        border-radius: 5px;
        background: #fff;
        box-sizing: border-box;
        font-size: 0.9375rem;
        color: var(--rx-text);
    }

    body.rx-is-pc.rx-is-order #sod_frm textarea,
    body.rx-is-pc.rx-is-order #sod_frm #od_memo {
        height: auto;
        min-height: 110px;
        padding: 12px 14px;
        resize: vertical;
    }

    body.rx-is-pc.rx-is-order #sod_frm .frm_input:focus,
    body.rx-is-pc.rx-is-order #sod_frm input:focus,
    body.rx-is-pc.rx-is-order #sod_frm select:focus,
    body.rx-is-pc.rx-is-order #sod_frm textarea:focus {
        border-color: var(--rx-accent);
        box-shadow: 0 0 0 3px var(--rx-accent-soft);
        outline: none;
    }

    body.rx-is-pc.rx-is-order #sod_frm #od_zip,
    body.rx-is-pc.rx-is-order #sod_frm #od_b_zip {
        width: 140px !important;
        display: inline-block;
        vertical-align: middle;
        margin-right: 8px;
    }

    body.rx-is-pc.rx-is-order #sod_frm .btn_address {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto !important;
        min-width: 112px;
        height: 50px !important;
        margin: 0 0 10px;
        vertical-align: middle;
    }

    body.rx-is-pc.rx-is-order #sod_frm .frm_address {
        margin-top: 8px;
    }

    body.rx-is-pc.rx-is-order #sod_frm_taker .choice_place,
    body.rx-is-pc.rx-is-order #sod_frm_taker .order_choice_place {
        margin: 0 0 18px;
        padding: 14px 16px;
        border-radius: 6px;
        background: var(--rx-surface-warm) !important;
        border: 1px solid var(--rx-border) !important;
    }

    /* Summary panel */
    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot {
        border: 0 !important;
        margin: 0 0 18px;
        padding: 0;
        background: transparent !important;
    }

    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot::before {
        content: "주문 요약";
        display: block;
        margin: 0 0 16px;
        font-size: 1.0625rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        color: var(--rx-text);
    }

    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot ul {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot li {
        float: none !important;
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        width: 100% !important;
        height: auto !important;
        margin: 0;
        padding: 0;
        border: 0 !important;
        background: transparent !important;
        text-align: left;
        font-size: 0.9375rem;
        color: var(--rx-text-secondary);
    }

    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot li:after,
    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_coupon:before,
    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_dvr:before,
    body.rx-is-pc.rx-is-order .sod_right .sod_info .sod_bsk_coupon:before,
    body.rx-is-pc.rx-is-order .sod_right .sod_info .sod_bsk_dvr:before {
        display: none !important;
        content: none !important;
    }

    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot li span {
        float: none;
        display: inline;
        margin: 0;
        font-weight: 600;
        color: var(--rx-text-secondary);
    }

    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot li strong {
        font-weight: 600;
        color: var(--rx-text);
    }

    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt {
        margin-top: 8px;
        padding-top: 14px;
        border-top: 1px solid var(--rx-border) !important;
    }

    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt span {
        font-size: 1rem;
        color: var(--rx-text);
    }

    body.rx-is-pc.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt strong,
    body.rx-is-pc.rx-is-order .sod_right #ct_tot_price {
        font-size: 1.5rem !important;
        font-weight: 800;
        letter-spacing: -0.03em;
        color: var(--rx-text) !important;
    }

    body.rx-is-pc.rx-is-order #sod_frm_pay {
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
    }

    body.rx-is-pc.rx-is-order #sod_frm_pay h2 {
        margin: 0 0 14px;
        padding: 0;
        border: 0;
        font-size: 1.0625rem;
    }

    body.rx-is-pc.rx-is-order .sod_right .pay_tbl {
        border: 0 !important;
        margin: 0 0 12px;
    }

    body.rx-is-pc.rx-is-order .sod_right .pay_tbl th,
    body.rx-is-pc.rx-is-order .sod_right .pay_tbl td {
        border-color: var(--rx-border) !important;
        background: transparent !important;
        color: var(--rx-text);
        padding: 10px 0;
    }

    body.rx-is-pc.rx-is-order #od_tot_price {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        margin: 8px 0 20px;
        padding: 16px 0;
        border-top: 1px solid var(--rx-border);
        border-bottom: 1px solid var(--rx-border);
        background: transparent !important;
        line-height: 1.2;
        text-align: left;
    }

    body.rx-is-pc.rx-is-order #od_tot_price span {
        float: none;
        font-size: 1rem;
        font-weight: 700;
        color: var(--rx-text);
    }

    body.rx-is-pc.rx-is-order #od_tot_price strong {
        font-size: 1.625rem !important;
        font-weight: 800;
        letter-spacing: -0.03em;
        color: var(--rx-accent) !important;
    }

    body.rx-is-pc.rx-is-order #od_pay_sl h3 {
        margin: 0 0 12px;
        font-size: 0.9375rem;
        font-weight: 700;
        color: var(--rx-text);
    }

    body.rx-is-pc.rx-is-order #sod_frm_paysel {
        margin: 0 0 16px;
        padding: 0;
        border: 0;
        background: transparent;
    }

    body.rx-is-pc.rx-is-order #sod_frm_paysel label {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        margin: 0 0 8px;
        padding: 12px 14px;
        border: 1px solid var(--rx-border);
        border-radius: 6px;
        background: #fff;
        color: var(--rx-text);
        font-weight: 600;
        box-sizing: border-box;
        cursor: pointer;
    }

    body.rx-is-pc.rx-is-order input[name="od_settle_case"]:checked + label {
        border-color: rgba(232, 93, 4, 0.45);
        background: rgba(232, 93, 4, 0.05);
        box-shadow: inset 0 0 0 1px rgba(232, 93, 4, 0.2);
    }

    body.rx-is-pc.rx-is-order #sod_frm_paysel input[name="od_settle_case"]:focus-visible + label {
        outline: 2px solid var(--rx-accent);
        outline-offset: 2px;
    }

    body.rx-is-pc.rx-is-order #display_pay_button {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin: 8px 0 0;
        padding: 0;
        border: 0 !important;
        background: transparent !important;
    }

    body.rx-is-pc.rx-is-order #display_pay_button .btn_submit {
        width: 100%;
        min-width: 0;
        height: 54px;
        border-radius: 6px;
        font-size: 1.0625rem;
        font-weight: 700;
    }

    body.rx-is-pc.rx-is-order #display_pay_button .btn01 {
        width: 100%;
        height: auto;
        line-height: 1.4;
        margin: 0;
        text-align: center;
    }

    /* Payment radios → chip labels (name/value untouched) */
    body.rx-is-pc.rx-is-order #sod_frm_paysel input[name="od_settle_case"] {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    body.rx-is-pc.rx-is-order #sod_frm_paysel .lb_icon {
        background-image: none !important;
        padding-left: 14px !important;
    }

    body.rx-is-pc.rx-is-order #sod_frm_paysel .lb_icon:before {
        display: none !important;
    }
}

/* Compact desktop product meta wrap */
@media (min-width: 1024px) and (max-width: 1279px) {
    body.rx-is-pc.rx-is-order {
        --rx-checkout-summary-w: 340px;
        --rx-checkout-gap: 32px;
        --rx-checkout-sticky-top: 200px;
    }

    body.rx-is-pc.rx-is-order #sod_list tbody tr {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(80px, 0.5fr));
    }

    body.rx-is-pc.rx-is-order #sod_list .td_prd {
        grid-column: 1 / -1;
    }
}

/* ===== Mobile checkout polish ===== */
@media (max-width: 1023px) {
    body.rx-is-mobile.rx-is-order #wrapper_title {
        padding: 18px 16px 6px;
        font-size: 1.5rem;
    }

    body.rx-is-mobile.rx-is-order #sod_frm,
    body.rx-is-mobile.rx-is-order .sod_frm_mobile {
        padding: 0 0 96px;
        background: var(--rx-bg);
    }

    body.rx-is-mobile.rx-is-order #sod_frm_orderer,
    body.rx-is-mobile.rx-is-order #sod_frm_taker,
    body.rx-is-mobile.rx-is-order #sod_frm_pay {
        margin: 10px 0 0;
        padding: 18px 16px;
        border: 0;
        border-top: 1px solid var(--rx-border);
        background: var(--rx-surface);
    }

    body.rx-is-mobile.rx-is-order #sod_frm .frm_input,
    body.rx-is-mobile.rx-is-order #sod_frm input[type="text"],
    body.rx-is-mobile.rx-is-order #sod_frm input[type="password"],
    body.rx-is-mobile.rx-is-order #sod_frm input[type="tel"],
    body.rx-is-mobile.rx-is-order #sod_frm input[type="email"],
    body.rx-is-mobile.rx-is-order #sod_frm select,
    body.rx-is-mobile.rx-is-order #sod_frm textarea {
        width: 100% !important;
        max-width: 100%;
        height: 48px;
        border: 1px solid #dddddd;
        border-radius: 5px;
        box-sizing: border-box;
    }

    body.rx-is-mobile.rx-is-order #sod_frm textarea,
    body.rx-is-mobile.rx-is-order #sod_frm #od_memo {
        height: auto;
        min-height: 100px;
        padding: 12px;
    }

    body.rx-is-mobile.rx-is-order #sod_frm .btn_address,
    body.rx-is-mobile.rx-is-order #sod_frm .btn_frmline {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 0 16px;
        background: #fff !important;
        color: var(--rx-text) !important;
        border: 1px solid var(--rx-border) !important;
        border-radius: var(--rx-radius-sm) !important;
        font-weight: 600;
    }

    body.rx-is-mobile.rx-is-order #m_sod_frm_paysel ul {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin: 0;
        padding: 0;
        list-style: none;
        border: 0 !important;
        background: transparent !important;
    }

    body.rx-is-mobile.rx-is-order #m_sod_frm_paysel li {
        float: none !important;
        width: 100% !important;
        height: auto !important;
        margin: 0;
        padding: 0;
    }

    body.rx-is-mobile.rx-is-order #m_sod_frm_paysel label {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        padding: 12px 14px;
        border: 1px solid var(--rx-border);
        border-radius: 6px;
        background: #fff;
        box-sizing: border-box;
        font-weight: 600;
        color: var(--rx-text);
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot .sod_bsk_cnt strong,
    body.rx-is-mobile.rx-is-order #ct_tot_price,
    body.rx-is-mobile.rx-is-order #od_tot_price strong {
        color: var(--rx-accent) !important;
        font-size: 1.35rem;
        font-weight: 800;
    }

    body.rx-is-mobile.rx-is-order .total_img img {
        width: 80px;
        height: 80px;
        object-fit: cover;
        border-radius: 6px;
    }

    body.rx-is-mobile.rx-is-order #display_pay_button {
        z-index: 950;
    }

    body.rx-is-mobile.rx-is-order #top_btn.rx-top-btn {
        bottom: calc(var(--rx-purchase-bar-h, 64px) + env(safe-area-inset-bottom, 0px) + 16px);
        z-index: 960;
    }
}

/* ===== REFSA CHECKOUT1R — Alignment / Form / Summary Precision ===== */
body.rx-is-order {
    --rx-checkout-summary-w: 372px;
    --rx-checkout-gap: 48px;
    --rx-checkout-sticky-top: 216px;
    --rx-checkout-input-h: 52px;
    --rx-checkout-input-border: #dedbd7;
}

/* Global label: block for field labels, NOT for choice/payment pairs */
body.rx-is-order #sod_frm label[for="ad_sel_addr_same"],
body.rx-is-order #sod_frm label[for="ad_sel_addr_def"],
body.rx-is-order #sod_frm label[for^="ad_sel_addr_"],
body.rx-is-order #sod_frm label[for="od_sel_addr_new"],
body.rx-is-order #sod_frm label[for="ad_default"],
body.rx-is-order #sod_frm .order_choice_place label,
body.rx-is-order #sod_frm_paysel label,
body.rx-is-order #m_sod_frm_paysel label {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    max-width: none;
    margin: 0 !important;
    white-space: nowrap;
    vertical-align: middle;
}

/* Hide legacy required.png corner mark — semantics unchanged */
body.rx-is-order #sod_frm .frm_input.required,
body.rx-is-order #sod_frm input.required,
body.rx-is-order #sod_frm textarea.required {
    background-image: none !important;
}

/* Unified checkout input system */
body.rx-is-order #sod_frm .frm_input,
body.rx-is-order #sod_frm input[type="text"],
body.rx-is-order #sod_frm input[type="password"],
body.rx-is-order #sod_frm input[type="tel"],
body.rx-is-order #sod_frm input[type="email"],
body.rx-is-order #sod_frm select {
    width: 100% !important;
    max-width: 100%;
    height: var(--rx-checkout-input-h) !important;
    padding: 0 16px !important;
    border: 1px solid var(--rx-checkout-input-border) !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 0.9375rem !important;
    line-height: 1.4;
    box-sizing: border-box !important;
}

body.rx-is-order #sod_frm textarea,
body.rx-is-order #sod_frm #od_memo,
body.rx-is-order #sod_frm #od_b_memo {
    width: 100% !important;
    min-height: 110px !important;
    height: auto !important;
    padding: 14px 16px !important;
    border: 1px solid var(--rx-checkout-input-border) !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 0.9375rem !important;
    box-sizing: border-box !important;
    resize: vertical;
}

body.rx-is-order #sod_frm .frm_input::placeholder,
body.rx-is-order #sod_frm input::placeholder,
body.rx-is-order #sod_frm textarea::placeholder {
    color: #aaa;
    opacity: 1;
}

body.rx-is-order #sod_frm .frm_input:focus,
body.rx-is-order #sod_frm input:focus,
body.rx-is-order #sod_frm select:focus,
body.rx-is-order #sod_frm textarea:focus {
    outline: none;
    border-color: #e85d04 !important;
    box-shadow: 0 0 0 3px rgba(232, 93, 4, 0.08) !important;
}

body.rx-is-order #sod_frm .frm_input:focus-visible,
body.rx-is-order #sod_frm input:focus-visible,
body.rx-is-order #sod_frm select:focus-visible,
body.rx-is-order #sod_frm textarea:focus-visible {
    outline: 2px solid transparent;
}

/* Field labels */
body.rx-is-order #sod_frm .tbl_frm01 th,
body.rx-is-order #sod_frm .tbl_frm01 th label {
    display: block !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: #3f3f3f !important;
    letter-spacing: -0.01em;
}

body.rx-is-order #sod_frm .tbl_frm01 tr {
    margin: 0 0 18px;
}

body.rx-is-order #sod_frm .tbl_frm01 td {
    margin: 0;
    padding: 0 !important;
}

body.rx-is-order #sod_frm_orderer h2,
body.rx-is-order #sod_frm_taker h2 {
    margin: 0 0 16px !important;
    padding: 0 0 12px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08) !important;
    font-size: 1.1875rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: #111;
}

/* ===== Same-as-buyer / address choice — single line ===== */
body.rx-is-order #sod_frm_taker .order_choice_place,
body.rx-is-order #sod_frm_taker .choice_place {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    min-height: 50px;
    margin: 0 0 8px !important;
    padding: 14px 16px !important;
    box-sizing: border-box;
    background: #faf8f5 !important;
    border: 1px solid rgba(20, 20, 20, 0.06) !important;
    border-radius: 8px !important;
}

body.rx-is-order #sod_frm_taker .order_choice_place input[type="checkbox"],
body.rx-is-order #sod_frm_taker .order_choice_place input[type="radio"],
body.rx-is-order #sod_frm_taker .choice_place input[type="checkbox"],
body.rx-is-order #sod_frm_taker .choice_place input[type="radio"],
body.rx-is-order #sod_frm #ad_default {
    flex: 0 0 auto;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #e85d04;
    vertical-align: middle;
    cursor: pointer;
}

body.rx-is-order #sod_frm_taker .order_choice_place label,
body.rx-is-order #sod_frm_taker .choice_place label {
    flex: 0 1 auto;
    white-space: nowrap !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #111 !important;
    line-height: 1.2;
    cursor: pointer;
}

/* Keep checkbox+label as adjacent pair (guest: single control) */
body.rx-is-order #sod_frm #ad_sel_addr_same,
body.rx-is-order #sod_frm #ad_sel_addr_def,
body.rx-is-order #sod_frm #od_sel_addr_new,
body.rx-is-order #sod_frm input[id^="ad_sel_addr_"] {
    margin-right: 0 !important;
}

body.rx-is-order #sod_frm #ad_sel_addr_same + label,
body.rx-is-order #sod_frm #ad_sel_addr_def + label,
body.rx-is-order #sod_frm #od_sel_addr_new + label,
body.rx-is-order #sod_frm input[id^="ad_sel_addr_"] + label {
    margin-right: 4px !important;
}

body.rx-is-order #sod_frm_taker .order_choice_place #order_address,
body.rx-is-order #sod_frm_taker .order_choice_place .btn_frmline {
    margin-left: auto;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 0.8125rem;
}

/* Address postcode + search row */
body.rx-is-order #sod_frm #sod_frm_addr,
body.rx-is-order #sod_frm td:has(> #od_zip),
body.rx-is-order #sod_frm td:has(> #od_b_zip) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
}

body.rx-is-order #sod_frm #od_zip,
body.rx-is-order #sod_frm #od_b_zip {
    width: 140px !important;
    max-width: 140px !important;
    flex: 0 0 140px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 !important;
}

body.rx-is-order #sod_frm .btn_address {
    flex: 0 0 auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 112px;
    height: var(--rx-checkout-input-h) !important;
    margin: 0 !important;
    padding: 0 16px !important;
    background: #fff !important;
    color: #111 !important;
    border: 1px solid var(--rx-checkout-input-border) !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    box-sizing: border-box;
    cursor: pointer;
}

body.rx-is-order #sod_frm #od_addr1,
body.rx-is-order #sod_frm #od_addr2,
body.rx-is-order #sod_frm #od_addr3,
body.rx-is-order #sod_frm #od_b_addr1,
body.rx-is-order #sod_frm #od_b_addr2,
body.rx-is-order #sod_frm #od_b_addr3,
body.rx-is-order #sod_frm .frm_address {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100%;
    margin: 0 !important;
}

body.rx-is-order #sod_frm #sod_frm_addr br,
body.rx-is-order #sod_frm td:has(> #od_zip) br,
body.rx-is-order #sod_frm td:has(> #od_b_zip) br {
    display: none;
}

/* ===== Summary value alignment — keep number+원 together ===== */
body.rx-is-order .sod_right {
    background: #fff !important;
    border: 1px solid rgba(20, 20, 20, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.035) !important;
    padding: 26px !important;
}

body.rx-is-order .sod_right #sod_bsk_tot li,
body.rx-is-order .sod_right #od_tot_price {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: baseline !important;
    gap: 0;
    width: 100% !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

body.rx-is-order .sod_right #sod_bsk_tot li span,
body.rx-is-order .sod_right #od_tot_price > span {
    flex: 1 1 auto;
    margin-right: auto !important;
    text-align: left !important;
    white-space: nowrap;
}

body.rx-is-order .sod_right #sod_bsk_tot li strong,
body.rx-is-order .sod_right #od_tot_price strong {
    flex: 0 0 auto;
    margin: 0 !important;
    text-align: right !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

/* Anonymous "원"/"점" text nodes stay adjacent after strong */
body.rx-is-order .sod_right #sod_bsk_tot li,
body.rx-is-order .sod_right #od_tot_price {
    font-size: 0.9375rem;
    color: #777;
}

body.rx-is-order .sod_right #sod_bsk_tot li strong {
    color: #111 !important;
    font-weight: 600;
}

body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt {
    margin-top: 12px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(20, 20, 20, 0.08) !important;
}

body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt span {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #111 !important;
}

body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt strong,
body.rx-is-order .sod_right #ct_tot_price {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: #111 !important;
    letter-spacing: -0.03em;
}

body.rx-is-order .sod_right #od_tot_price {
    margin: 12px 0 20px !important;
    padding: 18px 0 !important;
    border-top: 1px solid rgba(20, 20, 20, 0.08) !important;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08) !important;
    background: transparent !important;
}

body.rx-is-order .sod_right #od_tot_price > span {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #111 !important;
}

body.rx-is-order .sod_right #od_tot_price strong {
    font-size: 1.625rem !important;
    font-weight: 800 !important;
    color: #e85d04 !important;
    letter-spacing: -0.03em;
}

body.rx-is-order #sod_frm_pt_alert {
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    background: #faf8f5 !important;
    border: 0 !important;
    border-radius: 6px !important;
    color: #777 !important;
    font-size: 0.8125rem !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
}

body.rx-is-order #sod_frm_paysel label {
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(20, 20, 20, 0.08) !important;
    border-radius: 6px !important;
    background: #fff !important;
    white-space: normal !important;
}

body.rx-is-order #display_pay_button .btn_submit {
    height: 54px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
}

body.rx-is-order #display_pay_button .btn01 {
    background: transparent !important;
    border: 0 !important;
    color: #777 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}

/* Product numeric cells — right aligned tabular */
@media (min-width: 1024px) {
    body.rx-is-pc.rx-is-order #sod_list .td_num,
    body.rx-is-pc.rx-is-order #sod_list .td_numbig,
    body.rx-is-pc.rx-is-order #sod_list .td_dvr {
        text-align: right !important;
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
        white-space: nowrap;
    }

    body.rx-is-pc.rx-is-order #sod_list .td_num::before,
    body.rx-is-pc.rx-is-order #sod_list .td_numbig::before,
    body.rx-is-pc.rx-is-order #sod_list .td_dvr::before {
        text-align: right;
    }

    body.rx-is-pc.rx-is-order #sod_frm.sod_frm_pc,
    body.rx-is-pc.rx-is-order #sod_frm {
        grid-template-columns: minmax(0, 1fr) var(--rx-checkout-summary-w);
        gap: 28px var(--rx-checkout-gap);
    }

    body.rx-is-pc.rx-is-order #wrapper_title {
        font-size: 1.875rem;
    }

    body.rx-is-pc.rx-is-order .sod_right .pay_tbl table,
    body.rx-is-pc.rx-is-order .sod_right .pay_tbl tbody {
        display: block;
        width: 100%;
        border: 0;
    }

    body.rx-is-pc.rx-is-order .sod_right .pay_tbl tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: baseline;
        gap: 12px;
        width: 100%;
    }

    body.rx-is-pc.rx-is-order .sod_right .pay_tbl th,
    body.rx-is-pc.rx-is-order .sod_right .pay_tbl td {
        display: block;
        width: auto !important;
        border: 0 !important;
        padding: 8px 0 !important;
        background: transparent !important;
    }

    body.rx-is-pc.rx-is-order .sod_right .pay_tbl th {
        text-align: left;
        color: #777;
        font-weight: 600;
    }

    body.rx-is-pc.rx-is-order .sod_right .pay_tbl td {
        text-align: right;
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
        white-space: nowrap;
        color: #111;
        font-weight: 600;
    }
}

/* Mobile precision */
@media (max-width: 1023px) {
    body.rx-is-mobile.rx-is-order {
        --rx-checkout-input-h: 48px;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_taker .order_choice_place,
    body.rx-is-mobile.rx-is-order #sod_frm_taker .choice_place {
        flex-wrap: nowrap !important;
        gap: 8px;
        min-height: 48px;
        padding: 12px 14px !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_taker .order_choice_place label,
    body.rx-is-mobile.rx-is-order #sod_frm #ad_sel_addr_same + label {
        font-size: 0.8125rem !important;
        white-space: nowrap !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm #od_zip,
    body.rx-is-mobile.rx-is-order #sod_frm #od_b_zip {
        width: auto !important;
        max-width: none !important;
        flex: 1 1 auto;
        min-width: 0;
    }

    body.rx-is-mobile.rx-is-order #sod_frm .btn_address {
        flex: 0 0 auto;
        min-width: 96px;
        height: var(--rx-checkout-input-h) !important;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px 16px;
        align-items: baseline;
        margin: 0;
        padding: 18px 16px;
        background: #fff;
        border-top: 1px solid rgba(20, 20, 20, 0.08);
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dt {
        margin: 0;
        padding: 0;
        text-align: left;
        color: #777;
        font-weight: 600;
        white-space: nowrap;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd {
        margin: 0;
        padding: 0;
        text-align: right;
        color: #111;
        font-weight: 600;
        white-space: nowrap;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot .sod_bsk_cnt {
        padding-top: 10px;
        border-top: 1px solid rgba(20, 20, 20, 0.08);
        margin-top: 4px;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd.sod_bsk_cnt {
        padding-top: 10px;
        border-top: 1px solid rgba(20, 20, 20, 0.08);
        margin-top: 4px;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot .sod_bsk_cnt strong,
    body.rx-is-mobile.rx-is-order #ct_tot_price {
        color: #e85d04 !important;
        font-size: 1.35rem !important;
        font-weight: 800 !important;
    }
}

/* ===== REFSA CHECKOUT1R-3 — Summary Final Polish ===== */
body.rx-is-order {
    --rx-checkout-summary-w: 380px;
    --rx-checkout-gap: 48px;
}

/* Panel shell */
body.rx-is-order .sod_right {
    padding: 28px 30px 30px !important;
    background: #fff !important;
    border: 1px solid rgba(20, 20, 20, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.035) !important;
    box-sizing: border-box !important;
}

/* ---- Unified amount rows (#sod_bsk_tot) ---- */
body.rx-is-order .sod_right #sod_bsk_tot {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.rx-is-order .sod_right #sod_bsk_tot ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.rx-is-order .sod_right #sod_bsk_tot li,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_sell,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_coupon,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_dvr,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_point,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt {
    float: none !important;
    clear: none !important;
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(120px, 1fr) auto !important;
    align-items: center !important;
    column-gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 42px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: left !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

body.rx-is-order .sod_right #sod_bsk_tot li:after,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_coupon:before,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_dvr:before {
    display: none !important;
    content: none !important;
}

body.rx-is-order .sod_right #sod_bsk_tot li span {
    float: none !important;
    display: block !important;
    grid-column: 1;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    color: #777 !important;
}

body.rx-is-order .sod_right #sod_bsk_tot li strong {
    float: none !important;
    display: inline !important;
    grid-column: 2;
    justify-self: end;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    color: #111 !important;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

/* Keep anonymous 원/점 adjacent in col 2 via nested flex on value axis:
   grid places strong in col2; text node follows as anonymous — force row as flex instead */
body.rx-is-order .sod_right #sod_bsk_tot li {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 0 !important;
}

body.rx-is-order .sod_right #sod_bsk_tot li span {
    flex: 1 1 auto !important;
    margin-right: auto !important;
}

body.rx-is-order .sod_right #sod_bsk_tot li strong {
    flex: 0 0 auto !important;
}

/* Point row — kill legacy width/padding special-case */
body.rx-is-order #sod_frm .sod_right #sod_bsk_tot .sod_bsk_point,
body.rx-is-order #sod_frm #sod_bsk_tot .sod_bsk_point {
    width: 100% !important;
    clear: none !important;
    height: auto !important;
    padding: 10px 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

body.rx-is-order #sod_frm .sod_right #sod_bsk_tot .sod_bsk_point span {
    float: none !important;
    margin: 0 !important;
}

/* Total divider row */
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt {
    margin-top: 12px !important;
    padding-top: 20px !important;
    padding-bottom: 10px !important;
    border-top: 1px solid rgba(20, 20, 20, 0.08) !important;
}

body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt span {
    font-size: 1.0625rem !important;
    font-weight: 700 !important;
    color: #111 !important;
}

body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt strong,
body.rx-is-order .sod_right #ct_tot_price {
    font-size: 1.625rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em;
    color: #111 !important;
}

/* ---- pay_tbl / 추가배송비 ---- */
body.rx-is-order .sod_right .pay_tbl {
    margin: 8px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.rx-is-order .sod_right .pay_tbl table,
body.rx-is-order .sod_right .pay_tbl tbody {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    border-collapse: collapse !important;
}

body.rx-is-order .sod_right .pay_tbl tr {
    display: grid !important;
    grid-template-columns: minmax(120px, 1fr) auto !important;
    align-items: center !important;
    column-gap: 20px !important;
    row-gap: 6px !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

body.rx-is-order .sod_right .pay_tbl th {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    color: #777 !important;
    line-height: 1.4 !important;
}

body.rx-is-order .sod_right .pay_tbl td {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    color: #111 !important;
    line-height: 1.4 !important;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    height: auto !important;
}

/* 추가배송비: note must NOT expand value column — recreate note on full width */
body.rx-is-order .sod_right .pay_tbl tr:has(#od_send_cost2) {
    grid-template-rows: auto auto !important;
    align-items: center !important;
}

body.rx-is-order .sod_right .pay_tbl tr:has(#od_send_cost2) th {
    white-space: nowrap !important;
}

body.rx-is-order .sod_right .pay_tbl tr:has(#od_send_cost2) td {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

body.rx-is-order .sod_right .pay_tbl tr:has(#od_send_cost2) td strong,
body.rx-is-order .sod_right .pay_tbl tr:has(#od_send_cost2) #od_send_cost2 {
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: #111 !important;
    white-space: nowrap !important;
}

body.rx-is-order .sod_right .pay_tbl tr:has(#od_send_cost2) td strong::after {
    content: "원";
    color: #111;
    font-size: 0.9375rem;
    font-weight: 600;
}

body.rx-is-order .sod_right .pay_tbl tr:has(#od_send_cost2) td br {
    display: none !important;
}

body.rx-is-order .sod_right .pay_tbl tr:has(#od_send_cost2)::after {
    content: "지역에 따라 추가되는 도선료 등의 배송비입니다.";
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #8a8a8a !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: keep-all !important;
}

/* Coupon rows with buttons — keep value axis */
body.rx-is-order .sod_right .pay_tbl td .btn_frmline {
    display: inline-flex !important;
    align-items: center;
    height: 32px !important;
    margin-left: 8px !important;
    padding: 0 10px !important;
    vertical-align: middle;
}

/* ---- Final total box ---- */
body.rx-is-order .sod_right #od_tot_price {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 76px !important;
    margin: 20px 0 0 !important;
    padding: 22px 26px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(20, 20, 20, 0.10) !important;
    border-radius: 10px !important;
    background: #fff !important;
    line-height: 1.2 !important;
    float: none !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

body.rx-is-order .sod_right #od_tot_price > span {
    float: none !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #111 !important;
    white-space: nowrap !important;
}

body.rx-is-order .sod_right #od_tot_price strong {
    float: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em;
    color: #e85d04 !important;
    white-space: nowrap !important;
    background: transparent !important;
}

body.rx-is-order .sod_right #od_tot_price {
    color: #111;
    font-size: 0.9375rem;
    font-weight: 600;
}

/* ---- Payment section ---- */
body.rx-is-order .sod_right #sod_frm_pay {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.rx-is-order .sod_right #sod_frm_pay > h2 {
    display: none !important; /* avoid duplicate; summary already titled */
}

body.rx-is-order .sod_right #od_pay_sl {
    margin: 22px 0 0 !important;
    padding: 0 !important;
}

body.rx-is-order .sod_right #od_pay_sl h3 {
    margin: 0 0 12px !important;
    padding: 0 !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #111 !important;
}

body.rx-is-order .sod_right #sod_frm_pt_alert {
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    background: #faf8f5 !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #777 !important;
    font-size: 0.8125rem !important;
    line-height: 1.5 !important;
}

body.rx-is-order .sod_right #sod_frm_paysel {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.rx-is-order .sod_right #sod_frm_paysel label {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 0 8px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(20, 20, 20, 0.10) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #111 !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}

body.rx-is-order .sod_right input[name="od_settle_case"]:checked + label {
    border-color: rgba(232, 93, 4, 0.35) !important;
    background: rgba(232, 93, 4, 0.035) !important;
    box-shadow: none !important;
}

/* ---- CTA hierarchy ---- */
body.rx-is-order #display_pay_button {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.rx-is-order #display_pay_button .btn_submit,
body.rx-is-order .sod_right #display_pay_button .btn_submit {
    width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #e85d04 !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 56px !important;
    cursor: pointer;
}

body.rx-is-order #display_pay_button .btn_submit:hover {
    background: #d45303 !important;
}

/* Cancel = secondary button (element: a.btn01) — override underline text style */
body.rx-is-order #display_pay_button .btn01,
body.rx-is-order #display_pay_button a.btn01,
body.rx-is-order .sod_right #display_pay_button .btn01,
body.rx-is-order .sod_right #display_pay_button a.btn01,
body.rx-is-order #sod_frm #display_pay_button a.btn01 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(20, 20, 20, 0.14) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #444 !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-underline-offset: unset !important;
    cursor: pointer;
}

body.rx-is-order #display_pay_button .btn01:hover,
body.rx-is-order #display_pay_button a.btn01:hover {
    background: #faf8f5 !important;
    text-decoration: none !important;
    color: #111 !important;
}

/* Mobile summary polish */
@media (max-width: 1023px) {
    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot {
        display: grid !important;
        grid-template-columns: minmax(120px, 1fr) auto !important;
        column-gap: 20px !important;
        row-gap: 0 !important;
        padding: 18px 16px !important;
        background: #fff !important;
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dt,
    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd {
        float: none !important;
        width: auto !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 10px 0 !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dt {
        text-align: left !important;
        color: #777 !important;
        font-weight: 600 !important;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd {
        text-align: right !important;
        color: #111 !important;
        font-weight: 600 !important;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dt.sod_bsk_cnt,
    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd.sod_bsk_cnt {
        margin-top: 8px !important;
        padding-top: 18px !important;
        border-top: 1px solid rgba(20, 20, 20, 0.08) !important;
    }

    body.rx-is-mobile.rx-is-order #display_pay_button .btn01,
    body.rx-is-mobile.rx-is-order #display_pay_button a.btn01 {
        display: flex !important;
        width: 100% !important;
        height: 48px !important;
        border: 1px solid rgba(20, 20, 20, 0.14) !important;
        border-radius: 8px !important;
        background: #fff !important;
        color: #444 !important;
        text-decoration: none !important;
        font-weight: 600 !important;
    }

    body.rx-is-mobile.rx-is-order .pay_tbl th,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .pay_tbl th {
        white-space: nowrap !important;
        word-break: keep-all !important;
        width: auto !important;
        writing-mode: horizontal-tb !important;
    }
}

@media (min-width: 1024px) and (max-width: 1279px) {
    body.rx-is-pc.rx-is-order {
        --rx-checkout-summary-w: 360px;
    }
}

/* Mobile .odf_tbl — 추가배송비 / total rhythm */
@media (max-width: 1023px) {
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl table,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tbody {
        display: block !important;
        width: 100% !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr {
        display: grid !important;
        grid-template-columns: minmax(120px, 1fr) auto !important;
        align-items: center !important;
        column-gap: 16px !important;
        row-gap: 6px !important;
        width: 100% !important;
        min-height: 42px !important;
        padding: 10px 0 !important;
        border: 0 !important;
        box-sizing: border-box !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl th,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl td {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        line-height: 1.4 !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl th {
        grid-column: 1;
        text-align: left !important;
        color: #777 !important;
        font-weight: 600 !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl td {
        grid-column: 2;
        text-align: right !important;
        color: #111 !important;
        font-weight: 600 !important;
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_send_cost2) {
        grid-template-rows: auto auto !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_send_cost2) td {
        font-size: 0 !important;
        line-height: 0 !important;
        color: transparent !important;
        overflow: hidden !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_send_cost2) #od_send_cost2 {
        font-size: 0.9375rem !important;
        line-height: 1.4 !important;
        color: #111 !important;
        font-weight: 600 !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_send_cost2) #od_send_cost2::after {
        content: "원";
        color: #111;
        font-weight: 600;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_send_cost2)::after {
        content: "지역에 따라 추가되는 도선료 등의 배송비입니다.";
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        font-size: 0.8125rem !important;
        line-height: 1.5 !important;
        color: #8a8a8a !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: keep-all !important;
        font-weight: 400 !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_tot_price) th,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_tot_price) td {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_tot_price) {
        margin-top: 8px !important;
        padding: 14px 16px !important;
        border: 1px solid rgba(20, 20, 20, 0.10) !important;
        border-radius: 10px !important;
        background: #fff !important;
        box-sizing: border-box !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_tot_price) th {
        color: #111 !important;
        font-weight: 700 !important;
        font-size: 1rem !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #od_tot_price {
        font-size: 1.35rem !important;
        font-weight: 800 !important;
        color: #e85d04 !important;
    }
}

/* ===== REFSA CHECKOUT1R-4 — Option / Unit No-Wrap =====
   DOM (audited):
   - Option: #sod_list .sod_opt > ul > li  (full string in one li)
   - Summary: #sod_bsk_tot li > span + strong + textNode("원"|"점")
   - Total:   #od_tot_price > span + strong.print_price + textNode("원")
   Unit textNodes split onto next line under grid/flex → hide via font-size:0,
   recreate unit on strong::after (same element as number).
*/
body.rx-is-order {
    --rx-checkout-summary-w: 390px;
}

@media (min-width: 1024px) {
    body.rx-is-pc.rx-is-order #sod_list tbody tr {
        grid-template-columns: minmax(320px, 1.8fr) repeat(6, minmax(72px, auto)) !important;
        column-gap: 12px !important;
    }

    body.rx-is-pc.rx-is-order #sod_list .sod_opt,
    body.rx-is-pc.rx-is-order #sod_list .sod_opt ul,
    body.rx-is-pc.rx-is-order #sod_list .sod_opt li {
        max-width: 100%;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    body.rx-is-pc.rx-is-order #sod_list .sod_opt li {
        display: inline-flex !important;
        align-items: center;
        flex-wrap: nowrap !important;
        gap: 6px;
        box-sizing: border-box;
    }

    body.rx-is-pc.rx-is-order #sod_list .sod_opt li:before {
        flex: 0 0 auto;
        white-space: nowrap !important;
        background: var(--rx-surface-warm, #faf8f5) !important;
        color: #777 !important;
    }

    body.rx-is-pc.rx-is-order #sod_list .td_num,
    body.rx-is-pc.rx-is-order #sod_list .td_numbig,
    body.rx-is-pc.rx-is-order #sod_list .td_dvr {
        white-space: nowrap !important;
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
    }
}

@media (max-width: 1023px) {
    body.rx-is-mobile.rx-is-order .sod_opt li,
    body.rx-is-mobile.rx-is-order #sod_frm .sod_opt li {
        white-space: normal;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        line-height: 1.45;
    }
}

body.rx-is-order .sod_right #sod_bsk_tot li {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    font-size: 0 !important;
    line-height: 0 !important;
    white-space: nowrap !important;
}

body.rx-is-order .sod_right #sod_bsk_tot li span {
    flex: 1 1 auto !important;
    flex-shrink: 1 !important;
    min-width: 0;
    margin: 0 !important;
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
}

body.rx-is-order .sod_right #sod_bsk_tot li strong {
    display: inline-flex !important;
    align-items: baseline !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    flex-wrap: nowrap !important;
    gap: 2px;
    margin: 0 !important;
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_sell strong::after,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_coupon strong::after,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_dvr strong::after,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt strong::after {
    content: "원";
    flex: 0 0 auto;
    white-space: nowrap !important;
    font-size: 0.8125rem;
    font-weight: 600;
    color: inherit;
}

body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_point strong::after {
    content: "점";
    flex: 0 0 auto;
    white-space: nowrap !important;
    font-size: 0.8125rem;
    font-weight: 600;
    color: inherit;
}

body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt strong,
body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt #ct_tot_price {
    font-size: 1.625rem !important;
    font-weight: 800 !important;
}

body.rx-is-order .sod_right #sod_bsk_tot .sod_bsk_cnt strong::after {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #111;
}

body.rx-is-order .sod_right #od_tot_price {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    white-space: nowrap !important;
}

body.rx-is-order .sod_right #od_tot_price > span {
    flex: 1 1 auto !important;
    flex-shrink: 1 !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

body.rx-is-order .sod_right #od_tot_price strong {
    display: inline-flex !important;
    align-items: baseline !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    flex-wrap: nowrap !important;
    gap: 2px;
    font-size: 1.75rem !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

body.rx-is-order .sod_right #od_tot_price strong::after {
    content: "원";
    flex: 0 0 auto;
    white-space: nowrap !important;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #111;
    line-height: 1;
}

body.rx-is-order .sod_right .pay_tbl td {
    font-size: 0 !important;
    line-height: 0 !important;
    white-space: nowrap !important;
}

body.rx-is-order .sod_right .pay_tbl td strong,
body.rx-is-order .sod_right .pay_tbl td #od_send_cost2,
body.rx-is-order .sod_right .pay_tbl td #od_cp_price,
body.rx-is-order .sod_right .pay_tbl td #sc_cp_price {
    display: inline-flex !important;
    align-items: baseline !important;
    flex-wrap: nowrap !important;
    gap: 2px;
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    color: #111 !important;
    font-weight: 600 !important;
}

body.rx-is-order .sod_right .pay_tbl td strong::after,
body.rx-is-order .sod_right .pay_tbl td #od_cp_price::after,
body.rx-is-order .sod_right .pay_tbl td #sc_cp_price::after,
body.rx-is-order .sod_right .pay_tbl td #od_send_cost2::after {
    content: "원";
    flex: 0 0 auto;
    white-space: nowrap !important;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #111;
}

body.rx-is-order .sod_right .pay_tbl td .btn_frmline {
    font-size: 0.8125rem !important;
    line-height: 1 !important;
    vertical-align: middle;
}

@media (min-width: 1024px) and (max-width: 1279px) {
    body.rx-is-pc.rx-is-order {
        --rx-checkout-summary-w: 360px;
    }
}

@media (min-width: 1280px) {
    body.rx-is-pc.rx-is-order {
        --rx-checkout-summary-w: 390px;
    }
}

@media (max-width: 1023px) {
    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd,
    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd strong {
        white-space: nowrap !important;
        font-variant-numeric: tabular-nums;
        font-feature-settings: "tnum" 1;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd.sod_bsk_cnt {
        font-size: 0 !important;
        line-height: 0 !important;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd.sod_bsk_cnt strong,
    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot #ct_tot_price {
        display: inline-flex !important;
        align-items: baseline !important;
        gap: 2px;
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        color: #e85d04 !important;
        font-weight: 800 !important;
    }

    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot dd.sod_bsk_cnt strong::after,
    body.rx-is-mobile.rx-is-order #m_sod_bsk_tot #ct_tot_price::after {
        content: "원";
        flex: 0 0 auto;
        font-size: 0.875rem;
        font-weight: 700;
        color: #111;
        white-space: nowrap !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl td {
        font-size: 0 !important;
        line-height: 0 !important;
        white-space: nowrap !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #od_tot_price,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #od_send_cost2,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #od_cp_price,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #sc_cp_price {
        display: inline-flex !important;
        align-items: baseline !important;
        gap: 2px;
        font-size: 0.9375rem !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
        color: #111 !important;
        font-weight: 600 !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #od_tot_price {
        font-size: 1.35rem !important;
        font-weight: 800 !important;
        color: #e85d04 !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #od_tot_price::after,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #od_send_cost2::after,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #od_cp_price::after,
    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl #sc_cp_price::after {
        content: "원";
        flex: 0 0 auto;
        font-size: 0.8125rem;
        font-weight: 600;
        color: #111;
        white-space: nowrap !important;
    }

    body.rx-is-mobile.rx-is-order #sod_frm_pay .odf_tbl tr:has(#od_send_cost2) td {
        overflow: hidden !important;
    }
}

/* ===== REFSA CHECKOUT1R-6 — Unified Mobile Bottom Action Bar =====
   DOM (mobile PG orderform.2.php):
   #display_pay_button
     > #show_req_btn / #show_pay_btn > input.btn_submit
     > a.btn_cancel
   Target: [ 취소 | 주문하기 ] one fixed bar. CANCEL_IN_CONTENT_FLOW=NO
   FIXED_BOTTOM_UI_COUNT=1 (#display_pay_button only)
*/
@media (max-width: 1023px) {
    body.rx-is-mobile.rx-is-order {
        --rx-purchase-bar-h: 88px;
        --rx-order-cta-h: 56px;
        padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.rx-is-mobile.rx-is-order #display_pay_button,
    body.rx-is-mobile.rx-is-order #sod_frm #display_pay_button.btn_confirm {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 1000 !important;
        display: grid !important;
        grid-template-columns: minmax(92px, 0.36fr) minmax(0, 0.64fr) !important;
        grid-template-rows: auto !important;
        align-items: stretch !important;
        column-gap: 10px !important;
        row-gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        box-sizing: border-box !important;
        background: rgba(255, 255, 255, 0.96) !important;
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
        border: 0 !important;
        border-top: 1px solid rgba(20, 20, 20, 0.07) !important;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.055) !important;
    }

    /* Remove R5 chrome pseudo */
    body.rx-is-mobile.rx-is-order #display_pay_button::before {
        content: none !important;
        display: none !important;
    }

    /* Submit span → primary column */
    body.rx-is-mobile.rx-is-order #display_pay_button #show_req_btn,
    body.rx-is-mobile.rx-is-order #display_pay_button #show_pay_btn {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }

    body.rx-is-mobile.rx-is-order #display_pay_button #show_req_btn[style*="display: none"],
    body.rx-is-mobile.rx-is-order #display_pay_button #show_req_btn[style*="display:none"],
    body.rx-is-mobile.rx-is-order #display_pay_button #show_pay_btn[style*="display: none"],
    body.rx-is-mobile.rx-is-order #display_pay_button #show_pay_btn[style*="display:none"] {
        display: none !important;
    }

    body.rx-is-mobile.rx-is-order #display_pay_button .btn_submit,
    body.rx-is-mobile.rx-is-order #display_pay_button input.btn_submit {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        z-index: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: none !important;
        height: var(--rx-order-cta-h) !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: #e85d04 !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        box-sizing: border-box !important;
        cursor: pointer;
    }

    body.rx-is-mobile.rx-is-order #display_pay_button .btn_submit:hover,
    body.rx-is-mobile.rx-is-order #display_pay_button .btn_submit:active {
        filter: brightness(0.94);
    }

    body.rx-is-mobile.rx-is-order #display_pay_button .btn_submit:focus-visible {
        outline: 2px solid #e85d04;
        outline-offset: 2px;
    }

    /* Cancel → secondary column (first) */
    body.rx-is-mobile.rx-is-order #display_pay_button .btn_cancel,
    body.rx-is-mobile.rx-is-order #display_pay_button a.btn_cancel,
    body.rx-is-mobile.rx-is-order #sod_frm #display_pay_button a.btn_cancel,
    body.rx-is-mobile.rx-is-order #display_pay_button .btn01,
    body.rx-is-mobile.rx-is-order #display_pay_button a.btn01 {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        order: unset !important;
        width: 100% !important;
        height: var(--rx-order-cta-h) !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
        border: 1px solid rgba(20, 20, 20, 0.16) !important;
        border-radius: 8px !important;
        background: #fff !important;
        color: #333 !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        text-underline-offset: unset !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        box-shadow: none !important;
        cursor: pointer;
    }

    body.rx-is-mobile.rx-is-order #display_pay_button a.btn_cancel:hover,
    body.rx-is-mobile.rx-is-order #display_pay_button a.btn_cancel:active,
    body.rx-is-mobile.rx-is-order #display_pay_button a.btn01:hover,
    body.rx-is-mobile.rx-is-order #display_pay_button a.btn01:active {
        background: #faf8f5 !important;
        color: #111 !important;
        text-decoration: none !important;
    }

    body.rx-is-mobile.rx-is-order #display_pay_button a.btn_cancel:focus-visible,
    body.rx-is-mobile.rx-is-order #display_pay_button a.btn01:focus-visible {
        outline: 2px solid rgba(20, 20, 20, 0.35);
        outline-offset: 2px;
    }

    /* Kill CHECKOUT1 underline on cancel inside action bar */
    body.rx-is-mobile.rx-is-order #sod_frm #display_pay_button .btn_cancel,
    body.rx-is-mobile.rx-is-order #sod_frm #display_pay_button a.btn01 {
        background: #fff !important;
        border: 1px solid rgba(20, 20, 20, 0.16) !important;
        text-decoration: none !important;
    }

    /* Top button clears unified action bar */
    body.rx-is-mobile.rx-is-order #top_btn,
    body.rx-is-mobile.rx-is-order #top_btn.rx-top-btn {
        position: fixed !important;
        right: 16px !important;
        left: auto !important;
        top: auto !important;
        bottom: calc(
            var(--rx-purchase-bar-h) + env(safe-area-inset-bottom, 0px) + 16px
        ) !important;
        z-index: 1010 !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(20, 20, 20, 0.08) !important;
        background: #fff !important;
        color: #777 !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    }
}

/* Desktop: keep prior summary CTA; do not inherit mobile action bar */
@media (min-width: 1024px) {
    body.rx-is-pc.rx-is-order #top_btn.rx-top-btn,
    body.rx-is-pc.rx-is-order #top_btn {
        right: 28px;
        bottom: 28px;
    }
}

/* ===== REFSA HEADER SEARCH1 — Kill PC search “찜” ghost =====
   ROOT_CAUSE (audited):
   1) default_shop.css .hd_login { position:absolute; right:0; top:45px }
      → wishlist/actions overlay search submit area
   2) default_shop.css .hd_login>li a { color:#fff }
      specificity (0,1,2) beats .rx-pc-action (0,1,0)
      → white “찜” ghost; visible especially on hover/bg change
   DOM: ul.hd_login.rx-pc-bar__actions > li > a.rx-pc-action > span 찜
   Wishlist engine/link kept; presentation collision only.
*/
@media (min-width: 1024px) {
    /* Unfloat / un-absolute legacy .hd_login over search */
    #hd.rx-pc-hd .hd_login,
    #hd.rx-pc-hd ul.hd_login,
    #hd.rx-pc-hd .rx-pc-bar__actions.hd_login,
    #hd.rx-pc-hd #hd_wrapper .hd_login {
        position: static !important;
        float: none !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        z-index: auto !important;
    }

    #hd.rx-pc-hd .hd_login > li {
        float: none !important;
        position: relative !important;
        margin: 0 !important;
    }

    /* Beat legacy .hd_login>li a { color:#fff } */
    #hd.rx-pc-hd .hd_login > li a,
    #hd.rx-pc-hd .hd_login > li a:link,
    #hd.rx-pc-hd .hd_login > li a:visited,
    #hd.rx-pc-hd .hd_login > li a:hover,
    #hd.rx-pc-hd .hd_login > li a:focus,
    #hd.rx-pc-hd .hd_login > li a:active,
    #hd.rx-pc-hd .rx-pc-action,
    #hd.rx-pc-hd .rx-pc-action:hover,
    #hd.rx-pc-hd .rx-pc-action:focus,
    #hd.rx-pc-hd .rx-pc-action:active {
        color: var(--rx-text, #111) !important;
        text-decoration: none !important;
    }

    #hd.rx-pc-hd .rx-pc-action span {
        color: inherit !important;
    }

    /* Search submit: icon only — no value/label ghost */
    #hd.rx-pc-hd #hd_sch #sch_submit,
    #hd.rx-pc-hd #hd_sch button[type="submit"] {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        float: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 48px !important;
        height: 100% !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--rx-accent, #e85d04) !important;
        font-size: 0 !important;
        line-height: 0 !important;
        overflow: hidden !important;
        text-indent: 0 !important;
        z-index: 2;
        cursor: pointer;
    }

    #hd.rx-pc-hd #hd_sch #sch_submit i,
    #hd.rx-pc-hd #hd_sch button[type="submit"] i {
        font-size: 1.15rem !important;
        line-height: 1 !important;
        color: var(--rx-accent, #e85d04) !important;
        speak: normal;
    }

    #hd.rx-pc-hd #hd_sch #sch_submit:hover,
    #hd.rx-pc-hd #hd_sch #sch_submit:focus,
    #hd.rx-pc-hd #hd_sch #sch_submit:active,
    #hd.rx-pc-hd #hd_sch button[type="submit"]:hover,
    #hd.rx-pc-hd #hd_sch button[type="submit"]:focus,
    #hd.rx-pc-hd #hd_sch button[type="submit"]:active {
        color: var(--rx-accent, #e85d04) !important;
        background: transparent !important;
        font-size: 0 !important;
    }

    #hd.rx-pc-hd #hd_sch #sch_submit:focus-visible,
    #hd.rx-pc-hd #hd_sch button[type="submit"]:focus-visible {
        outline: 2px solid var(--rx-accent, #e85d04);
        outline-offset: -2px;
    }

    /* Ensure search field stays above any stray overlays */
    #hd.rx-pc-hd .rx-pc-bar__search,
    #hd.rx-pc-hd .hd_sch_wr,
    #hd.rx-pc-hd #hd_sch {
        position: relative;
        z-index: 2;
    }

    #hd.rx-pc-hd .rx-pc-bar__actions {
        position: relative;
        z-index: 1;
        flex: 0 0 auto;
    }
}

/* ===== REFSA HEADER ALIGN1 — PC logo / search / actions vertical axis =====
   ROOT_CAUSE (audited):
   1) default_shop.css #logo { float:left; padding:30px 0 0 }
      → asymmetric top padding shifts wordmark below row center
   2) default_shop.css #hd_wrapper:after { content:""; clearfix }
      → empty flex item on .rx-pc-bar, disturbs flex alignment
   3) brand / search wrappers not explicitly axis-aligned as flex children
   SVG viewBox vertical padding is symmetric (top=bottom=1.0) — no asset edit.
   Utility / catnav / sticky / engines / logo asset locked.
*/
@media (min-width: 768px) {
    #hd.rx-pc-hd #hd_wrapper.rx-pc-bar,
    #hd.rx-pc-hd .rx-pc-bar {
        display: flex;
        align-items: center;
        box-sizing: border-box;
    }

    /* Kill legacy clearfix pseudo as flex sibling */
    #hd.rx-pc-hd #hd_wrapper.rx-pc-bar::after,
    #hd.rx-pc-hd .rx-pc-bar::after {
        content: none !important;
        display: none !important;
    }

    /* Logo column — reset YoungCart #logo padding/float */
    #hd.rx-pc-hd #logo.rx-pc-bar__brand,
    #hd.rx-pc-hd #logo,
    #hd.rx-pc-hd .rx-pc-bar__brand {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        align-self: center;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative;
        top: auto;
        transform: none;
        line-height: 0;
        flex: 0 0 auto;
    }

    #hd.rx-pc-hd #logo .rx-brand,
    #hd.rx-pc-hd .rx-pc-bar__brand .rx-brand {
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        margin: 0;
        padding: 0;
        line-height: 0;
        transform: none;
        position: static;
        top: auto;
    }

    #hd.rx-pc-hd #logo img.rx-brand-logo,
    #hd.rx-pc-hd #logo img.rx-brand-logo--header,
    #hd.rx-pc-hd .rx-pc-bar__brand .rx-brand-logo,
    #hd.rx-pc-hd .rx-pc-bar__brand .rx-brand-logo--header {
        display: block;
        margin: 0;
        padding: 0;
        border: 0;
        vertical-align: middle;
        position: static;
        top: auto;
        transform: none;
        object-fit: contain;
        object-position: left center;
    }

    /* Search column */
    #hd.rx-pc-hd .rx-pc-bar__search,
    #hd.rx-pc-hd .hd_sch_wr.rx-pc-bar__search {
        display: flex;
        align-items: center;
        align-self: center;
        float: none !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0;
        padding-bottom: 0;
        top: auto;
        transform: none;
        flex: 1 1 auto;
    }

    #hd.rx-pc-hd #hd_sch {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        align-self: center;
        top: auto;
        transform: none;
    }

    /* Actions column */
    #hd.rx-pc-hd ul.hd_login.rx-pc-bar__actions,
    #hd.rx-pc-hd .rx-pc-bar__actions {
        display: flex;
        align-items: center;
        align-self: center;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        top: auto !important;
        transform: none;
        line-height: 1;
    }

    #hd.rx-pc-hd .rx-pc-bar__actions > li {
        display: flex;
        align-items: center;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        float: none !important;
    }

    #hd.rx-pc-hd .rx-pc-action {
        display: inline-flex;
        align-items: center;
        line-height: 1;
        align-self: center;
    }

    #hd.rx-pc-hd .rx-pc-action i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        align-self: center;
    }
}

@media (min-width: 1024px) {
    #hd.rx-pc-hd #hd_wrapper.rx-pc-bar,
    #hd.rx-pc-hd .rx-pc-bar {
        align-items: center;
        min-height: 88px;
    }
}

/* ===== REFSA FOOTER TYPO1 — Premium footer typography / spacing =====
   Structure / content / links / logo asset locked.
   Softens Phase10R body scale; label/value flex axis; quiet support links.
*/
@media (min-width: 768px) {
    #ft.rx-footer,
    body.rx-shop #ft.rx-footer,
    .rx-footer {
        padding: 40px 24px;
        color: rgba(20, 20, 20, 0.62);
    }

    #ft.rx-footer .rx-footer__inner,
    .rx-footer__inner {
        gap: 64px;
        align-items: start;
    }

    #ft.rx-footer .rx-footer__cols,
    .rx-footer__cols {
        gap: 56px;
    }

    #ft.rx-footer .rx-footer__brand .rx-brand,
    .rx-footer__brand .rx-brand {
        margin: 0;
        line-height: 0;
    }

    #ft.rx-footer .rx-footer__brand .rx-brand-logo--footer,
    .rx-footer__brand .rx-brand-logo--footer {
        /* keep approved footer wordmark size */
        height: 24px;
        max-width: 160px;
        width: auto;
    }

    #ft.rx-footer .rx-footer__copy,
    .rx-footer__copy {
        margin: 9px 0 0;
        font-size: 11.5px;
        font-weight: 400;
        line-height: 1.5;
        color: rgba(20, 20, 20, 0.48);
    }

    #ft.rx-footer .rx-footer__col h2,
    .rx-footer__col h2 {
        margin: 0 0 16px;
        font-size: 14.5px;
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: -0.01em;
        color: #202020;
    }

    #ft.rx-footer .rx-footer__col > ul:not(.rx-footer__links) > li,
    .rx-footer__col > ul:not(.rx-footer__links) > li {
        display: flex;
        align-items: flex-start;
        gap: 20px;
        margin: 0 0 9px;
        padding: 0;
        font-size: 12.5px;
        font-weight: 400;
        line-height: 1.6;
        color: rgba(20, 20, 20, 0.64);
    }

    #ft.rx-footer .rx-footer__col > ul:not(.rx-footer__links) > li > span,
    .rx-footer__col > ul:not(.rx-footer__links) > li > span {
        display: block;
        flex: 0 0 110px;
        width: 110px;
        min-width: 110px;
        max-width: 110px;
        margin: 0;
        font-size: 12.5px;
        font-weight: 600;
        line-height: 1.6;
        color: rgba(20, 20, 20, 0.52);
    }

    #ft.rx-footer .rx-footer__links > li,
    .rx-footer__links > li {
        margin: 0 0 10px;
        padding: 0;
        font-size: 12.5px;
        line-height: 1.55;
    }

    #ft.rx-footer .rx-footer__links a,
    .rx-footer__links a {
        display: inline-block;
        font-size: 12.5px;
        font-weight: 500;
        line-height: 1.55;
        color: rgba(20, 20, 20, 0.62);
        text-decoration: none;
        transition: color 0.15s ease;
    }

    #ft.rx-footer .rx-footer__links a:hover,
    .rx-footer__links a:hover {
        color: #202020;
        text-decoration: none;
    }
}

@media (min-width: 1024px) {
    #ft.rx-footer,
    body.rx-shop #ft.rx-footer,
    .rx-footer {
        padding: 40px 28px;
        margin-top: 56px;
    }

    #ft.rx-footer .rx-footer__inner,
    .rx-footer__inner {
        gap: 80px;
    }

    #ft.rx-footer .rx-footer__cols,
    .rx-footer__cols {
        gap: 72px;
    }
}

@media (max-width: 767px) {
    body.rx-shop #ft {
        padding: 28px 16px calc(24px + env(safe-area-inset-bottom, 0px));
        overflow-x: hidden;
    }

    body.rx-shop #ft h2 {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.3;
        color: #202020;
    }

    body.rx-shop #ft_company a {
        font-size: 12px;
        font-weight: 500;
        line-height: 1.55;
        color: rgba(20, 20, 20, 0.62);
    }

    body.rx-shop #ft p {
        font-size: 12px;
        line-height: 1.6;
        color: rgba(20, 20, 20, 0.60);
    }

    body.rx-shop #ft p > span {
        grid-template-columns: 92px minmax(0, 1fr);
        column-gap: 10px;
        margin-bottom: 7px;
    }

    body.rx-shop #ft p > span > b {
        font-size: 12px;
        font-weight: 600;
        color: rgba(20, 20, 20, 0.52);
    }
}

/* ===== REFSA MOBILE COMMERCE POLISH — list / cart / mypage =====
   Scoped to max-width 767 + body.rx-is-mobile. PC unchanged.
   Render paths audited: listtype.php+#listtype.sct_10, mobile cart.php,
   mobile mypage.php. Engines/URLs locked. */
:root {
    --rx-mobile-gutter: 16px;
}

@media (min-width: 390px) and (max-width: 767px) {
    :root {
        --rx-mobile-gutter: 18px;
    }
}

@media (max-width: 767px) {
    body.rx-is-mobile #container.rx-home,
    body.rx-is-mobile #container.rx-list-container,
    body.rx-is-mobile #container {
        overflow-x: hidden;
    }

    body.rx-is-mobile #listtype,
    body.rx-is-mobile .rx-list,
    body.rx-is-mobile .rx-home .rx-section,
    body.rx-is-mobile .rx-home .sct_wrap {
        padding-left: var(--rx-mobile-gutter);
        padding-right: var(--rx-mobile-gutter);
        box-sizing: border-box;
    }

    body.rx-is-mobile #container_title {
        padding-left: var(--rx-mobile-gutter);
        padding-right: var(--rx-mobile-gutter);
        box-sizing: border-box;
    }

    body.rx-is-mobile #container.rx-home .sct,
    body.rx-is-mobile #container.rx-home .sct_10,
    body.rx-is-mobile #listtype .sct,
    body.rx-is-mobile #listtype .sct_10,
    body.rx-is-mobile .rx-list .sct,
    body.rx-is-mobile .rx-list .sct_10,
    body.rx-is-mobile .rx-section .sct,
    body.rx-is-mobile .rx-section .sct_10 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 26px;
        margin: 0 !important;
        padding: 0 0 8px !important;
        float: none;
        width: 100%;
        box-sizing: border-box;
        list-style: none;
    }

    body.rx-is-mobile #container.rx-home .sct_li,
    body.rx-is-mobile #listtype .sct_li,
    body.rx-is-mobile .rx-list .sct_li,
    body.rx-is-mobile .rx-section .sct_li,
    body.rx-is-mobile .sct_10 .sct_li {
        float: none !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        clear: none !important;
        box-sizing: border-box;
    }

    body.rx-is-mobile .sct_10 .sct_clear {
        clear: none !important;
    }

    body.rx-is-mobile #listtype .sct_img,
    body.rx-is-mobile .rx-list .sct_img,
    body.rx-is-mobile .rx-home .sct_img,
    body.rx-is-mobile .rx-section .sct_img {
        position: relative;
        aspect-ratio: 3 / 4;
        overflow: hidden;
        margin-bottom: 8px;
        border-radius: 6px;
        background: #f3f1ef;
    }

    body.rx-is-mobile #listtype .sct_img img,
    body.rx-is-mobile .rx-list .sct_img img,
    body.rx-is-mobile .rx-home .sct_img img,
    body.rx-is-mobile .rx-section .sct_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    body.rx-is-mobile #listtype .sct_txt,
    body.rx-is-mobile .rx-list .sct_txt,
    body.rx-is-mobile .rx-home .sct_txt,
    body.rx-is-mobile .rx-section .sct_txt {
        margin: 0 0 6px;
        padding: 0;
        border-bottom: 0 !important;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.35;
    }

    body.rx-is-mobile #listtype .sct_txt a,
    body.rx-is-mobile .rx-list .sct_txt a,
    body.rx-is-mobile .rx-home .sct_txt a,
    body.rx-is-mobile .rx-section .sct_txt a {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        color: #202020;
        text-decoration: none;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.35;
    }

    body.rx-is-mobile #listtype .sct_cost,
    body.rx-is-mobile .rx-list .sct_cost,
    body.rx-is-mobile .rx-home .sct_cost,
    body.rx-is-mobile .rx-section .sct_cost {
        margin: 0;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.3;
    }

    body.rx-is-mobile #listtype .sct_price,
    body.rx-is-mobile .rx-list .sct_price,
    body.rx-is-mobile .rx-home .sct_price {
        font-size: 15px;
        font-weight: 700;
        color: #111;
    }

    body.rx-is-mobile #listtype .sct_basic,
    body.rx-is-mobile .rx-home .sct_basic,
    body.rx-is-mobile .rx-list .sct_basic {
        display: none;
    }

    body.rx-is-mobile.rx-is-cart #top_btn.rx-top-btn,
    body.rx-is-mobile.rx-is-cart #top_btn {
        bottom: calc(var(--rx-bottom-h, 56px) + var(--rx-cart-cta-h, 68px) + env(safe-area-inset-bottom, 0px) + 12px);
    }

    body.rx-is-mobile.rx-is-cart:not(:has(#sod_bsk_act)) #top_btn.rx-top-btn,
    body.rx-is-mobile.rx-is-cart:not(:has(#sod_bsk_act)) #top_btn {
        bottom: calc(var(--rx-bottom-h, 56px) + env(safe-area-inset-bottom, 0px) + 16px);
    }

    body.rx-is-mobile #smb_my.rx-mypage,
    body.rx-is-mobile .rx-mypage {
        padding: 12px var(--rx-mobile-gutter) 28px;
        background: var(--rx-bg);
    }

    body.rx-is-mobile .rx-mypage__summary,
    body.rx-is-mobile #smb_my_ov.rx-mypage__summary {
        position: static;
        margin: 0 0 14px;
        padding: 20px 16px 16px;
        background: #fff;
        border: 1px solid rgba(20, 20, 20, 0.06);
        border-radius: 12px;
    }

    body.rx-is-mobile .rx-mypage__hello {
        margin: 0 0 16px;
    }

    body.rx-is-mobile .rx-mypage__name {
        display: block;
        margin: 0 0 4px;
        font-size: 20px;
        font-weight: 700;
        letter-spacing: -0.02em;
        color: #111;
        line-height: 1.25;
    }

    body.rx-is-mobile .rx-mypage__sub {
        display: block;
        margin: 0;
        font-size: 13px;
        color: rgba(20, 20, 20, 0.55);
        line-height: 1.4;
    }

    body.rx-is-mobile #smb_my_ov .my_pocou,
    body.rx-is-mobile .rx-mypage__stats {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
        background: transparent;
        border: 1px solid rgba(20, 20, 20, 0.08);
        border-radius: 10px;
        overflow: hidden;
    }

    body.rx-is-mobile #smb_my_ov .my_pocou:after {
        content: none !important;
        display: none !important;
    }

    body.rx-is-mobile #smb_my_ov .my_pocou li,
    body.rx-is-mobile .rx-mypage__stats > li {
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-right: 1px solid rgba(20, 20, 20, 0.08) !important;
        border-bottom: 1px solid rgba(20, 20, 20, 0.08) !important;
        box-sizing: border-box;
    }

    body.rx-is-mobile #smb_my_ov .my_pocou li:nth-child(2n),
    body.rx-is-mobile .rx-mypage__stats > li:nth-child(2n) {
        border-right: 0 !important;
    }

    body.rx-is-mobile #smb_my_ov .my_pocou li:nth-child(n+3),
    body.rx-is-mobile .rx-mypage__stats > li:nth-child(n+3) {
        border-bottom: 0 !important;
    }

    body.rx-is-mobile #smb_my_ov .my_pocou li a,
    body.rx-is-mobile .rx-mypage__stats li a {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 92px;
        padding: 16px 12px !important;
        position: static !important;
        line-height: 1.2 !important;
        text-decoration: none;
        color: #202020;
        background: #fff;
        border: 0 !important;
        border-radius: 0 !important;
    }

    body.rx-is-mobile #smb_my_ov .my_pocou li a span,
    body.rx-is-mobile .rx-mypage__stat-label {
        display: block !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
        max-width: none !important;
        overflow: visible !important;
        white-space: nowrap !important;
        text-overflow: clip !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: rgba(20, 20, 20, 0.5) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
    }

    body.rx-is-mobile #smb_my_ov .my_pocou li a strong,
    body.rx-is-mobile .rx-mypage__stats strong {
        display: block;
        margin: 0;
        font-size: 22px;
        font-weight: 700;
        color: #111;
        line-height: 1.1;
    }

    body.rx-is-mobile .rx-mypage__menu {
        display: flex;
        flex-direction: column;
        margin: 0 0 16px;
        padding: 4px 0;
        background: #fff;
        border: 1px solid rgba(20, 20, 20, 0.06);
        border-radius: 12px;
        overflow: hidden;
    }

    body.rx-is-mobile .rx-mypage__menu-label {
        margin: 0;
        padding: 14px 16px 6px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.02em;
        color: rgba(20, 20, 20, 0.45);
        background: transparent;
    }

    body.rx-is-mobile .rx-mypage__menu a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 54px;
        padding: 0 16px;
        border-bottom: 1px solid rgba(20, 20, 20, 0.06);
        color: #202020;
        text-decoration: none;
        font-size: 15px;
        font-weight: 500;
        background: transparent;
    }

    body.rx-is-mobile .rx-mypage__menu a::after {
        content: "";
        width: 7px;
        height: 7px;
        margin-left: 12px;
        border-right: 1.5px solid rgba(20, 20, 20, 0.28);
        border-top: 1.5px solid rgba(20, 20, 20, 0.28);
        transform: rotate(45deg);
        flex: 0 0 auto;
    }

    body.rx-is-mobile .rx-mypage__menu a:last-child {
        border-bottom: 0;
    }

    body.rx-is-mobile .rx-mypage__logout {
        color: rgba(20, 20, 20, 0.55) !important;
    }

    body.rx-is-mobile .rx-mypage__leave {
        color: #c62828 !important;
        font-size: 14px !important;
    }

    body.rx-is-mobile .rx-mypage__section {
        margin: 0 0 14px;
        padding: 16px;
        background: #fff;
        border: 1px solid rgba(20, 20, 20, 0.06);
        border-radius: 12px;
    }

    body.rx-is-mobile .rx-mypage__section h2 {
        margin: 0 0 12px;
        font-size: 15px;
        font-weight: 700;
        color: #202020;
    }

    body.rx-is-mobile .rx-mypage .empty_list,
    body.rx-is-mobile .rx-mypage .empty_li,
    body.rx-is-mobile #smb_my_od .empty_table,
    body.rx-is-mobile #smb_my_od .empty_list {
        padding: 28px 8px !important;
        text-align: center;
        color: rgba(20, 20, 20, 0.5);
        font-size: 13px;
        background: transparent !important;
        border: 0 !important;
    }

    body.rx-is-mobile .rx-mypage .btn_more,
    body.rx-is-mobile .rx-mypage__more,
    body.rx-is-mobile #smb_my .btn_more {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: auto !important;
        min-height: 40px;
        margin: 12px 0 0 !important;
        padding: 0 4px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: rgba(20, 20, 20, 0.55) !important;
        font-size: 13px !important;
        font-weight: 600;
        line-height: 1.4 !important;
        text-decoration: none;
    }

    body.rx-is-mobile #smb_my_wish ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    /* Empty wishlist: do not trap message in a half-width grid cell */
    body.rx-is-mobile #smb_my_wish ul:has(> .empty_list),
    body.rx-is-mobile #smb_my_wish.wishlist ul:has(> .empty_list) {
        display: block !important;
        grid-template-columns: none !important;
    }

    body.rx-is-mobile #smb_my_wish .empty_list,
    body.rx-is-mobile #smb_my_wish li.empty_list {
        display: flex !important;
        align-items: center;
        justify-content: center;
        grid-column: 1 / -1;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        min-height: 96px;
        margin: 0 !important;
        padding: 24px 16px !important;
        box-sizing: border-box;
        text-align: center;
        white-space: nowrap;
        word-break: keep-all;
        overflow-wrap: normal;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.45;
        color: rgba(20, 20, 20, 0.5);
        background: transparent !important;
        border: 0 !important;
    }

    @media (max-width: 359px) {
        body.rx-is-mobile #smb_my_wish .empty_list,
        body.rx-is-mobile #smb_my_wish li.empty_list {
            white-space: normal;
        }
    }
}
