body.rakubi-wc-bridge {
    color: #57453b;
}

body.rakubi-wc-bridge #contents {
    max-width: 100%;
    background:
        radial-gradient(circle at top right, rgba(214, 191, 156, .18), transparent 26%),
        linear-gradient(to bottom, rgba(168, 139, 131, .55) 0, rgba(255, 249, 231, 0) 150px);
}

body.rakubi-wc-bridge .rakubi-wc-layout {
    max-width: 1120px;
    margin: 0 auto 56px;
}

body.rakubi-wc-bridge .rakubi-wc-titlearea {
    width: 100%;
    overflow: hidden;
    margin-bottom: 28px;
    box-shadow: 0 18px 38px rgba(88, 59, 32, .06);
}

body.rakubi-wc-bridge .rakubi-wc-titlearea .pagetitle {
    width: 265px;
    float: left;
    height: 320px;
    background: linear-gradient(180deg, #fff9ea 0%, #f9efd8 100%);
    box-shadow: inset 0 0 0 1px rgba(182, 151, 111, .25);
}

body.rakubi-wc-bridge .rakubi-wc-titlearea .pagetitle h2 {
    text-align: center;
    padding-top: 42%;
    color: #6e2f20;
    font-size: 31px;
    letter-spacing: .12em;
    line-height: 1.55;
}

body.rakubi-wc-bridge .rakubi-wc-titlearea .pagetitle h2 span {
    display: block;
    margin-top: 12px;
    color: #c39f13;
    font-size: 15px;
    letter-spacing: .28em;
    text-transform: uppercase;
}

body.rakubi-wc-bridge .rakubi-wc-titlearea .img {
    overflow: hidden;
    min-height: 320px;
    background: #e8e0d2;
    position: relative;
}

body.rakubi-wc-bridge .rakubi-wc-titlearea .img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 249, 234, .08) 0%, rgba(255, 249, 234, .02) 24%, rgba(61, 36, 16, .14) 100%);
    pointer-events: none;
}

body.rakubi-wc-bridge .rakubi-wc-titlearea .img img,
body.rakubi-wc-bridge .rakubi-wc-title-fallback {
    width: 100%;
    min-height: 320px;
    object-fit: cover;
    display: block;
}

body.rakubi-wc-bridge .rakubi-wc-title-fallback {
    background:
        linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,0)),
        linear-gradient(120deg, #efe4d1 0%, #d2c1ab 100%);
}

body.rakubi-wc-bridge .rakubi-wc-main {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

body.rakubi-wc-bridge .rakubi-wc-page > h2,
body.rakubi-wc-bridge .woocommerce-products-header__title.page-title {
    color: #904f44;
    font-size: 32px;
    text-align: center;
    padding: 12px 0 16px;
    border-bottom: rgba(122, 77, 9, .32) 2px dotted;
    margin: 0 10px 30px;
    letter-spacing: .1em;
}

body.rakubi-wc-bridge .rakubi-wc-page-row {
    background: linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,252,246,.98) 100%);
    border: 1px solid rgba(232, 218, 194, .9);
    box-shadow: 0 22px 46px rgba(87, 57, 33, .08), inset 0 0 0 1px rgba(255,255,255,.55);
    max-width: 100%;
    border-radius: 18px;
    overflow: hidden;
}

body.rakubi-wc-bridge .rakubi-wc-page-inner {
    padding: 34px;
}

body.rakubi-wc-bridge .rakubi-wc-breadcrumb {
    max-width: 1120px;
    margin: 0 auto;
    padding-top: 14px;
}

body.rakubi-wc-bridge .rakubi-wc-breadcrumb .twelve.columns {
    color: #b09c8d;
    font-size: 12px;
}

body.rakubi-wc-bridge .rakubi-wc-breadcrumb a {
    color: #b99564;
}

body.rakubi-wc-bridge .woocommerce,
body.rakubi-wc-bridge .woocommerce-page {
    background: transparent;
}

body.rakubi-wc-bridge .woocommerce:after,
body.rakubi-wc-bridge .woocommerce:before,
body.rakubi-wc-bridge .woocommerce ul.products:after,
body.rakubi-wc-bridge .woocommerce ul.products:before,
body.rakubi-wc-bridge .woocommerce div.product:after,
body.rakubi-wc-bridge .woocommerce div.product:before {
    content: "";
    display: table;
}

body.rakubi-wc-bridge .woocommerce:after,
body.rakubi-wc-bridge .woocommerce ul.products:after,
body.rakubi-wc-bridge .woocommerce div.product:after {
    clear: both;
}

body.rakubi-wc-bridge .woocommerce div.product,
body.rakubi-wc-bridge .woocommerce-page div.product,
body.rakubi-wc-bridge .woocommerce-cart-form,
body.rakubi-wc-bridge .cart-collaterals,
body.rakubi-wc-bridge .woocommerce-checkout,
body.rakubi-wc-bridge .woocommerce-account,
body.rakubi-wc-bridge .woocommerce-order {
    width: 100%;
}

body.rakubi-wc-bridge .woocommerce table.shop_table {
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e6d7bd;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 28px rgba(88, 54, 28, .05);
}

body.rakubi-wc-bridge .woocommerce table.shop_table th,
body.rakubi-wc-bridge .woocommerce table.shop_table td {
    padding: 16px 18px;
    border-bottom: 1px solid #efe5d6;
    vertical-align: middle;
}

body.rakubi-wc-bridge .woocommerce table.shop_table th {
    background: linear-gradient(180deg, #fbf4e6 0%, #f3e7cf 100%);
    color: #7f4b33;
    letter-spacing: .08em;
}

body.rakubi-wc-bridge .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.rakubi-wc-bridge .woocommerce ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0;
    border-radius: 22px;
    border: 1px solid rgba(225, 210, 187, .95);
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(253,247,238,.98) 100%);
    box-shadow: 0 18px 34px rgba(73, 44, 21, .08);
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease;
}

body.rakubi-wc-bridge .woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 42px rgba(73, 44, 21, .13);
}

body.rakubi-wc-bridge .woocommerce ul.products li.product > a {
    display: block;
    padding: 22px 22px 10px;
}

body.rakubi-wc-bridge .woocommerce ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    height: auto;
    border-radius: 14px;
    background: linear-gradient(180deg, #f2ece1 0%, #e8dfcf 100%);
    box-shadow: inset 0 0 0 1px rgba(175, 150, 114, .15);
}

body.rakubi-wc-bridge .woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #6f4430;
    font-size: 21px;
    line-height: 1.55;
    letter-spacing: .05em;
    min-height: 3.2em;
    margin: 18px 0 8px;
}

body.rakubi-wc-bridge .woocommerce ul.products li.product .price {
    display: block;
    padding: 0 22px 8px;
    font-size: 25px;
    color: #a67c31;
    font-weight: 700;
}

body.rakubi-wc-bridge .woocommerce ul.products li.product .button,
body.rakubi-wc-bridge .woocommerce ul.products li.product .added_to_cart {
    display: block;
    margin: 0 22px 24px !important;
    text-align: center;
}

body.rakubi-wc-bridge .woocommerce div.product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(380px, .98fr);
    gap: 30px;
    align-items: start;
    padding: 0;
    margin-bottom: 8px;
    background: transparent;
    box-shadow: none;
    border: 0;
}

body.rakubi-wc-bridge .woocommerce div.product div.images,
body.rakubi-wc-bridge .woocommerce div.product div.summary {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    position: relative;
    z-index: 1;
}

body.rakubi-wc-bridge .woocommerce div.product div.images {
    padding: 30px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(249,245,237,.98) 0%, rgba(242,234,219,.98) 100%);
    box-shadow: inset 0 0 0 1px rgba(212, 192, 159, .55), 0 16px 34px rgba(73, 44, 21, .05);
}

body.rakubi-wc-bridge .woocommerce div.product div.images::before {
    content: "SELECTED ITEM";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(172, 140, 97, .38);
    background: rgba(255, 252, 245, .92);
    color: #9b7b43;
    font-size: 12px;
    letter-spacing: .22em;
    margin-bottom: 18px;
}

body.rakubi-wc-bridge .woocommerce div.product div.images .woocommerce-product-gallery__image > a,
body.rakubi-wc-bridge .woocommerce div.product div.images .woocommerce-product-gallery__image img {
    display: block;
    border-radius: 18px;
    overflow: hidden;
}

body.rakubi-wc-bridge .woocommerce div.product div.images img {
    width: 100%;
    height: auto;
    object-fit: cover;
    background: rgba(255,255,255,.68);
}

body.rakubi-wc-bridge .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
body.rakubi-wc-bridge .woocommerce div.product div.images .woocommerce-product-gallery__image {
    background: #f7f2ea;
    border-radius: 18px;
}

body.rakubi-wc-bridge .woocommerce div.product div.images .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

body.rakubi-wc-bridge .woocommerce div.product div.images .flex-control-thumbs li {
    margin: 0 !important;
}

body.rakubi-wc-bridge .woocommerce div.product div.images .flex-control-thumbs img {
    border-radius: 12px;
    border: 1px solid rgba(198, 170, 130, .4);
}

body.rakubi-wc-bridge .woocommerce div.product div.summary {
    padding: 34px 36px 30px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(253,247,239,.98) 100%);
    border: 1px solid rgba(230, 217, 191, .95);
    box-shadow: 0 18px 36px rgba(83, 54, 28, .08);
}

body.rakubi-wc-bridge .woocommerce div.product div.summary::before {
    content: "";
    position: absolute;
    left: 36px;
    right: 36px;
    top: 0;
    height: 5px;
    background: linear-gradient(90deg, #d2b16d 0%, #a77a45 50%, #d6be8d 100%);
    border-radius: 0 0 6px 6px;
}

body.rakubi-wc-bridge .rakubi-wc-product-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

body.rakubi-wc-bridge .rakubi-wc-badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid rgba(194, 167, 125, .45);
    background: rgba(252, 247, 238, .95);
    color: #8a6541;
    font-size: 12px;
    letter-spacing: .16em;
}

body.rakubi-wc-bridge .rakubi-wc-badge-main {
    background: linear-gradient(180deg, #f7ebd1 0%, #efdfbb 100%);
    color: #7a512d;
}

body.rakubi-wc-bridge .rakubi-wc-badge-soft {
    color: #9a7a56;
}

body.rakubi-wc-bridge .woocommerce div.product .product_title {
    font-size: clamp(34px, 3.35vw, 54px);
    line-height: 1.2;
    letter-spacing: .06em;
    color: #2f241f;
    margin: 0 0 18px;
    word-break: break-word;
}

body.rakubi-wc-bridge .woocommerce div.product .price {
    margin: 0 0 18px;
    color: #a57b31;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.2;
}

body.rakubi-wc-bridge .woocommerce div.product .price .woocommerce-Price-currencySymbol {
    font-size: .72em;
    margin-right: .08em;
}

body.rakubi-wc-bridge .woocommerce div.product .price del {
    color: #b7a794;
    font-size: .62em;
    margin-right: 10px;
}

body.rakubi-wc-bridge .woocommerce div.product .price ins {
    text-decoration: none;
}

body.rakubi-wc-bridge .woocommerce div.product .woocommerce-product-details__short-description {
    color: #6f5d53;
    line-height: 2;
    margin: 0 0 4px;
    font-size: 14px;
}

body.rakubi-wc-bridge .woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin: 24px 0 18px;
    padding: 18px 0 0;
    border-top: 1px dashed rgba(165, 123, 49, .35);
}

body.rakubi-wc-bridge .woocommerce div.product form.cart .quantity {
    margin: 0 !important;
}

body.rakubi-wc-bridge .woocommerce div.product p.stock {
    color: #7d6b57;
    font-size: 13px;
    letter-spacing: .08em;
}

body.rakubi-wc-bridge .rakubi-wc-summary-note {
    margin-top: 16px;
    padding: 18px 20px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(250, 244, 233, .95) 0%, rgba(246, 236, 220, .98) 100%);
    border: 1px solid rgba(217, 194, 151, .55);
}

body.rakubi-wc-bridge .rakubi-wc-summary-note-head {
    color: #7a4d34;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .12em;
    margin-bottom: 10px;
}

body.rakubi-wc-bridge .rakubi-wc-feature-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

body.rakubi-wc-bridge .rakubi-wc-feature-list li {
    position: relative;
    margin: 0 0 8px;
    padding-left: 18px;
    color: #725e4f;
    line-height: 1.8;
}

body.rakubi-wc-bridge .rakubi-wc-feature-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .78em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #c3a063;
}

body.rakubi-wc-bridge .woocommerce div.product .product_meta {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(211, 194, 165, .7);
    color: #8c7867;
    font-size: 13px;
    line-height: 1.9;
}

body.rakubi-wc-bridge .woocommerce div.product .product_meta a {
    color: #a67c31;
}

body.rakubi-wc-bridge .rakubi-wc-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 24px;
    margin-top: 28px;
}

body.rakubi-wc-bridge .rakubi-wc-detail-card {
    padding: 28px;
    border-radius: 22px;
    background: rgba(255,255,255,.95);
    border: 1px solid rgba(229, 215, 191, .94);
    box-shadow: 0 14px 30px rgba(83, 54, 28, .05);
}

body.rakubi-wc-bridge .rakubi-wc-detail-card h3 {
    font-size: 22px;
    color: #7d4d34;
    border-bottom: 1px solid rgba(197, 173, 136, .45);
    padding-bottom: 12px;
    margin-bottom: 18px;
    letter-spacing: .08em;
}

body.rakubi-wc-bridge .rakubi-wc-richtext,
body.rakubi-wc-bridge .rakubi-wc-richtext p {
    color: #6d5a50;
    line-height: 2;
}

body.rakubi-wc-bridge .rakubi-wc-spec-list {
    margin: 0;
}

body.rakubi-wc-bridge .rakubi-wc-spec-list > div {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed rgba(190, 164, 122, .34);
}

body.rakubi-wc-bridge .rakubi-wc-spec-list > div:last-child {
    border-bottom: 0;
}

body.rakubi-wc-bridge .rakubi-wc-spec-list dt {
    color: #8a6541;
    font-weight: 700;
}

body.rakubi-wc-bridge .rakubi-wc-spec-list dd {
    margin: 0;
    color: #695950;
}

body.rakubi-wc-bridge .woocommerce .related.products,
body.rakubi-wc-bridge .woocommerce .up-sells,
body.rakubi-wc-bridge .woocommerce .woocommerce-tabs,
body.rakubi-wc-bridge .woocommerce .woocommerce-Reviews {
    clear: both;
    margin-top: 32px;
    padding: 28px;
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(229, 215, 191, .94);
    box-shadow: 0 14px 30px rgba(83, 54, 28, .05);
}

body.rakubi-wc-bridge .woocommerce .related.products > h2,
body.rakubi-wc-bridge .woocommerce .up-sells > h2,
body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs h2,
body.rakubi-wc-bridge .woocommerce #reviews h2,
body.rakubi-wc-bridge .woocommerce .cross-sells > h2 {
    font-size: 24px !important;
    color: #7d4d34 !important;
    border-bottom: 1px solid rgba(197, 173, 136, .45);
    padding-bottom: 12px;
    margin-bottom: 22px;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform: none !important;
    letter-spacing: .08em;
}

body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
}

body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs ul.tabs:before,
body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs ul.tabs:after {
    display: none;
}

body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs ul.tabs li:before,
body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs ul.tabs li:after {
    display: none;
}

body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: inline-block;
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px solid rgba(198, 170, 130, .65);
    background: #fbf4e6;
    color: #7c523b;
    font-weight: 500;
}

body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    background: linear-gradient(180deg, #8b6544 0%, #6f4a33 100%);
    color: #fff;
    border-color: #6f4a33;
}

body.rakubi-wc-bridge .woocommerce a.button,
body.rakubi-wc-bridge .woocommerce button.button,
body.rakubi-wc-bridge .woocommerce input.button,
body.rakubi-wc-bridge .woocommerce #respond input#submit,
body.rakubi-wc-bridge .woocommerce .button.alt,
body.rakubi-wc-bridge .wc-proceed-to-checkout a.checkout-button {
    background: linear-gradient(180deg, #8a6647 0%, #6e472f 100%);
    color: #fff;
    border: 1px solid rgba(96, 61, 38, .95);
    border-radius: 999px;
    padding: 14px 24px;
    line-height: 1.4;
    letter-spacing: .08em;
    box-shadow: 0 10px 22px rgba(81, 51, 27, .18);
    text-shadow: 0 1px 0 rgba(0,0,0,.12);
}

body.rakubi-wc-bridge .woocommerce a.button:hover,
body.rakubi-wc-bridge .woocommerce button.button:hover,
body.rakubi-wc-bridge .woocommerce input.button:hover,
body.rakubi-wc-bridge .woocommerce #respond input#submit:hover,
body.rakubi-wc-bridge .woocommerce .button.alt:hover,
body.rakubi-wc-bridge .wc-proceed-to-checkout a.checkout-button:hover {
    background: linear-gradient(180deg, #9a7351 0%, #7c5238 100%);
    color: #fff;
}

body.rakubi-wc-bridge .woocommerce .quantity .qty,
body.rakubi-wc-bridge .woocommerce form .form-row input.input-text,
body.rakubi-wc-bridge .woocommerce form .form-row textarea,
body.rakubi-wc-bridge .woocommerce form .form-row select {
    border: 1px solid #d7c3a5;
    min-height: 46px;
    background: linear-gradient(180deg, #fffdfa 0%, #fbf6ed 100%);
    border-radius: 12px;
    box-shadow: inset 0 2px 6px rgba(67, 41, 22, .04);
}

body.rakubi-wc-bridge .woocommerce .quantity .qty {
    width: 88px;
    text-align: center;
    font-size: 18px;
}

body.rakubi-wc-bridge .woocommerce-info,
body.rakubi-wc-bridge .woocommerce-message,
body.rakubi-wc-bridge .woocommerce-error {
    border-top-color: #9b7440;
    border-radius: 14px;
    background: rgba(255, 251, 243, .96);
    border: 1px solid rgba(219, 197, 157, .75);
    box-shadow: 0 10px 24px rgba(81, 51, 27, .08);
}

body.rakubi-wc-bridge .woocommerce-info::before,
body.rakubi-wc-bridge .woocommerce-message::before,
body.rakubi-wc-bridge .woocommerce-error::before {
    color: #9b7440;
}

body.rakubi-wc-bridge .woocommerce-cart-form,
body.rakubi-wc-bridge .cart-collaterals,
body.rakubi-wc-bridge .woocommerce-checkout,
body.rakubi-wc-bridge .woocommerce-order,
body.rakubi-wc-bridge .woocommerce-account {
    position: relative;
}

body.rakubi-wc-bridge .cart-collaterals .cart_totals,
body.rakubi-wc-bridge .woocommerce .col2-set .col-1,
body.rakubi-wc-bridge .woocommerce .col2-set .col-2,
body.rakubi-wc-bridge .woocommerce-checkout-review-order,
body.rakubi-wc-bridge .woocommerce-order,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-content,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation,
body.rakubi-wc-bridge .woocommerce form.login,
body.rakubi-wc-bridge .woocommerce form.register {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(230, 217, 191, .95);
    border-radius: 22px;
    box-shadow: 0 16px 34px rgba(83, 54, 28, .07);
    padding: 28px;
}

body.rakubi-wc-bridge .cart-collaterals .cart_totals,
body.rakubi-wc-bridge .woocommerce .col2-set .col-1,
body.rakubi-wc-bridge .woocommerce .col2-set .col-2 {
    width: 48%;
}

body.rakubi-wc-bridge .woocommerce .col2-set .col-1 {
    float: left;
}

body.rakubi-wc-bridge .woocommerce .col2-set .col-2,
body.rakubi-wc-bridge .cart-collaterals .cart_totals {
    float: right;
}

body.rakubi-wc-bridge .woocommerce-cart .cart-collaterals {
    margin-top: 28px;
}

body.rakubi-wc-bridge .woocommerce-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    gap: 28px;
}

body.rakubi-wc-bridge .woocommerce-checkout > * {
    width: auto !important;
    float: none !important;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: minmax(260px, .34fr) minmax(0, .66fr);
    gap: 28px;
    align-items: start;
}

body.rakubi-wc-bridge .rakubi-wc-account-nav-head {
    padding: 0 0 18px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(197, 173, 136, .35);
}

body.rakubi-wc-bridge .rakubi-wc-account-nav-kicker,
body.rakubi-wc-bridge .rakubi-wc-account-kicker {
    color: #b28a4c;
    font-size: 12px;
    letter-spacing: .28em;
    margin-bottom: 10px;
}

body.rakubi-wc-bridge .rakubi-wc-account-nav-head h3,
body.rakubi-wc-bridge .rakubi-wc-account-dashboard-intro h3 {
    color: #7d4d34;
    font-size: 26px;
    line-height: 1.4;
    margin-bottom: 10px;
    letter-spacing: .06em;
}

body.rakubi-wc-bridge .rakubi-wc-account-nav-head p,
body.rakubi-wc-bridge .rakubi-wc-account-dashboard-intro p {
    color: #6f5d53;
    line-height: 1.9;
    margin: 0;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 0 10px;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 0 18px;
    border-radius: 14px;
    color: #6c4d39;
    background: linear-gradient(180deg, #fffdf8 0%, #faf3e8 100%);
    border: 1px solid rgba(220, 202, 172, .7);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: #fff;
    background: linear-gradient(180deg, #8b6544 0%, #6f4a33 100%);
    border-color: #6f4a33;
    box-shadow: 0 12px 24px rgba(81, 51, 27, .16);
    transform: translateY(-1px);
}

body.rakubi-wc-bridge .rakubi-wc-account-dashboard-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr);
    gap: 20px;
    align-items: center;
    margin-bottom: 24px;
    padding: 26px 28px;
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(215, 192, 160, .26), transparent 42%),
        linear-gradient(180deg, rgba(252, 247, 238, .98) 0%, rgba(247, 236, 220, .98) 100%);
    border: 1px solid rgba(220, 199, 163, .8);
}

body.rakubi-wc-bridge .rakubi-wc-quicklinks {
    display: grid;
    gap: 12px;
}

body.rakubi-wc-bridge .rakubi-wc-quicklinks a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(200, 171, 127, .52);
    color: #7d583b;
    font-weight: 700;
    letter-spacing: .06em;
}

body.rakubi-wc-bridge .rakubi-wc-quicklinks a:hover {
    background: linear-gradient(180deg, #8b6544 0%, #6f4a33 100%);
    color: #fff;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
    margin-top: 0;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-content p {
    line-height: 1.9;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-Addresses,
body.rakubi-wc-bridge .woocommerce-account .addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-Address,
body.rakubi-wc-bridge .woocommerce-account .addresses .col-1,
body.rakubi-wc-bridge .woocommerce-account .addresses .col-2 {
    float: none !important;
    width: auto !important;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(251,245,236,.98) 100%);
    border: 1px solid rgba(220, 202, 172, .8);
    border-radius: 18px;
    padding: 22px;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-orders-table,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-table {
    margin-top: 6px;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-orders-table td,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-table td {
    background: rgba(255,255,255,.92);
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-form-login,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-form-register,
body.rakubi-wc-bridge .woocommerce-account .u-columns {
    margin-top: 0;
}

body.rakubi-wc-bridge .woocommerce-account .u-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

body.rakubi-wc-bridge .woocommerce-account .u-columns .col-1,
body.rakubi-wc-bridge .woocommerce-account .u-columns .col-2 {
    width: auto !important;
    float: none !important;
}

body.rakubi-wc-bridge .woocommerce-account h2,
body.rakubi-wc-bridge .woocommerce-checkout h3,
body.rakubi-wc-bridge .woocommerce-cart h2 {
    color: #7d4d34;
    font-size: 24px;
    letter-spacing: .06em;
    margin-bottom: 18px;
}

body.rakubi-wc-bridge .woocommerce-checkout-review-order-table,
body.rakubi-wc-bridge .shop_table_responsive {
    margin-bottom: 0;
}

body.rakubi-wc-bridge .woocommerce-checkout #payment {
    background: transparent;
}

body.rakubi-wc-bridge .woocommerce-checkout #payment div.payment_box {
    background: rgba(250, 243, 233, .96);
    border-radius: 14px;
    border: 1px solid rgba(214, 191, 156, .42);
}

body.rakubi-wc-bridge .woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: rgba(214, 191, 156, .7);
}

body.rakubi-wc-bridge .woocommerce-pagination {
    margin-top: 28px;
    text-align: center;
}

body.rakubi-wc-bridge .woocommerce nav.woocommerce-pagination ul {
    border: 0;
}

body.rakubi-wc-bridge .woocommerce nav.woocommerce-pagination ul li {
    border: 0;
    margin: 0 4px;
}

body.rakubi-wc-bridge .woocommerce nav.woocommerce-pagination ul li span,
body.rakubi-wc-bridge .woocommerce nav.woocommerce-pagination ul li a {
    border-radius: 999px;
    min-width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(198, 170, 130, .65);
    color: #7c523b;
    background: #fbf4e6;
}

body.rakubi-wc-bridge .woocommerce nav.woocommerce-pagination ul li span.current {
    color: #fff;
    background: linear-gradient(180deg, #8b6544 0%, #6f4a33 100%);
    border-color: #6f4a33;
}

@media only screen and (max-width: 1156px) {
    body.rakubi-wc-bridge .rakubi-wc-titlearea .pagetitle {
        display: none;
    }

    body.rakubi-wc-bridge .rakubi-wc-titlearea .img img,
    body.rakubi-wc-bridge .rakubi-wc-title-fallback {
        min-height: 250px;
    }
}

@media only screen and (max-width: 980px) {
    body.rakubi-wc-bridge .rakubi-wc-page-inner {
        padding: 24px;
    }

    body.rakubi-wc-bridge .woocommerce div.product,
    body.rakubi-wc-bridge .rakubi-wc-detail-grid,
    body.rakubi-wc-bridge .woocommerce-checkout,
    body.rakubi-wc-bridge .woocommerce-account .woocommerce,
    body.rakubi-wc-bridge .rakubi-wc-account-dashboard-intro,
    body.rakubi-wc-bridge .woocommerce-account .u-columns,
    body.rakubi-wc-bridge .woocommerce-account .woocommerce-Addresses,
    body.rakubi-wc-bridge .woocommerce-account .addresses {
        grid-template-columns: 1fr;
    }

    body.rakubi-wc-bridge .woocommerce .col2-set .col-1,
    body.rakubi-wc-bridge .woocommerce .col2-set .col-2,
    body.rakubi-wc-bridge .cart-collaterals .cart_totals {
        width: 100%;
        float: none;
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 768px) {
    body.rakubi-wc-bridge .rakubi-wc-page > h2,
    body.rakubi-wc-bridge .woocommerce-products-header__title.page-title {
        font-size: 24px;
        margin: 0 0 20px;
    }

    body.rakubi-wc-bridge .woocommerce div.product {
        padding: 10px;
        gap: 20px;
    }

    body.rakubi-wc-bridge .woocommerce div.product div.images,
    body.rakubi-wc-bridge .woocommerce div.product div.summary,
    body.rakubi-wc-bridge .rakubi-wc-detail-card,
    body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation,
    body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-content,
    body.rakubi-wc-bridge .woocommerce form.login,
    body.rakubi-wc-bridge .woocommerce form.register {
        padding: 20px;
    }

    body.rakubi-wc-bridge .woocommerce div.product .product_title {
        font-size: 32px;
    }

    body.rakubi-wc-bridge .woocommerce div.product .price {
        font-size: 30px;
    }

    body.rakubi-wc-bridge .woocommerce div.product form.cart {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    body.rakubi-wc-bridge .woocommerce a.button,
    body.rakubi-wc-bridge .woocommerce button.button,
    body.rakubi-wc-bridge .woocommerce input.button,
    body.rakubi-wc-bridge .woocommerce #respond input#submit,
    body.rakubi-wc-bridge .woocommerce .button.alt,
    body.rakubi-wc-bridge .wc-proceed-to-checkout a.checkout-button {
        width: 100%;
        text-align: center;
    }

    body.rakubi-wc-bridge .woocommerce table.shop_table,
    body.rakubi-wc-bridge .woocommerce table.shop_table thead,
    body.rakubi-wc-bridge .woocommerce table.shop_table tbody,
    body.rakubi-wc-bridge .woocommerce table.shop_table tr,
    body.rakubi-wc-bridge .woocommerce table.shop_table td,
    body.rakubi-wc-bridge .woocommerce table.shop_table th {
        font-size: 14px;
    }
}


body.rakubi-wc-bridge .rakubi-wc-no-product-image .woocommerce div.product {
    grid-template-columns: 1fr;
}

body.rakubi-wc-bridge .rakubi-wc-no-product-image .woocommerce div.product div.images {
    display: none !important;
}

body.rakubi-wc-bridge .woocommerce img[src*='placeholder'],
body.rakubi-wc-bridge .woocommerce img.woocommerce-placeholder,
body.rakubi-wc-bridge .woocommerce .woocommerce-product-gallery__image--placeholder,
body.rakubi-wc-bridge .woocommerce .attachment-woocommerce_thumbnail[src=''] {
    display: none !important;
}

body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs,
body.rakubi-wc-bridge .woocommerce .related.products,
body.rakubi-wc-bridge .woocommerce .up-sells,
body.rakubi-wc-bridge .woocommerce .woocommerce-Reviews,
body.rakubi-wc-bridge .rakubi-wc-detail-grid {
    grid-column: 1 / -1;
}

body.rakubi-wc-bridge .rakubi-wc-detail-grid {
    margin-top: 10px;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation {
    position: sticky;
    top: 24px;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(218, 195, 158, .18), transparent 46%),
        linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(249,242,231,.98) 100%);
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation::before {
    content: "";
    display: block;
    height: 4px;
    margin: -28px -28px 24px;
    background: linear-gradient(90deg, #dbc18a 0%, #9a7348 45%, #dfcc9e 100%);
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    gap: 12px;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    position: relative;
    min-height: 60px;
    padding: 0 52px 0 20px;
    border-radius: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 8px 18px rgba(85, 56, 31, .05);
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(160, 122, 72, .55);
    margin-right: 12px;
    flex: 0 0 auto;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a::after {
    content: "›";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    line-height: 1;
    color: #b28a4c;
    transition: transform .18s ease, color .18s ease;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover::after,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::after {
    color: #fff;
    transform: translateY(-50%) translateX(2px);
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    transform: none;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
    background: rgba(255,255,255,.92);
    box-shadow: 0 0 0 4px rgba(255,255,255,.18);
}

body.rakubi-wc-bridge .rakubi-wc-account-nav-head {
    position: relative;
    padding: 0 0 22px;
    margin-bottom: 20px;
}

body.rakubi-wc-bridge .rakubi-wc-account-nav-head::after {
    content: "会員専用メニュー";
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin-top: 14px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(202, 175, 129, .52);
    background: rgba(255, 250, 242, .92);
    color: #9b7a4c;
    font-size: 11px;
    letter-spacing: .16em;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-content {
    min-height: 100%;
}

body.rakubi-wc-bridge .woocommerce div.product div.images {
    padding: 26px;
}

body.rakubi-wc-bridge .woocommerce div.product div.summary {
    padding: 32px 34px 28px;
}

body.rakubi-wc-bridge .woocommerce div.product div.summary::before {
    left: 34px;
    right: 34px;
}

body.rakubi-wc-bridge .woocommerce div.product .product_title {
    font-size: clamp(32px, 3.05vw, 50px);
}

@media only screen and (max-width: 980px) {
    body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation {
        position: static;
    }
}


/* v0.3.2 stability fixes */
body.rakubi-wc-bridge.rakubi-wc-single .rakubi-wc-page-row {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
}

body.rakubi-wc-bridge.rakubi-wc-single .rakubi-wc-page-inner {
    padding: 24px 0 8px;
}

body.rakubi-wc-bridge .woocommerce div.product {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 30px;
}

body.rakubi-wc-bridge .woocommerce div.product > div.images,
body.rakubi-wc-bridge .woocommerce div.product > div.summary {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
}

body.rakubi-wc-bridge .woocommerce div.product > div.images {
    flex-basis: calc(52% - 15px);
}

body.rakubi-wc-bridge .woocommerce div.product > div.summary {
    flex-basis: calc(48% - 15px);
}

body.rakubi-wc-bridge .rakubi-wc-detail-grid,
body.rakubi-wc-bridge .woocommerce div.product .woocommerce-tabs,
body.rakubi-wc-bridge .woocommerce .related.products,
body.rakubi-wc-bridge .woocommerce .up-sells,
body.rakubi-wc-bridge .woocommerce .woocommerce-Reviews {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    clear: both;
}

body.rakubi-wc-bridge .rakubi-wc-detail-grid {
    align-items: stretch;
    margin-top: 22px;
}

body.rakubi-wc-bridge.rakubi-wc-no-product-image .woocommerce div.product > div.summary {
    flex-basis: 100%;
}

body.rakubi-wc-bridge.rakubi-wc-no-product-image .rakubi-wc-detail-grid {
    margin-top: 18px;
}

body.rakubi-wc-bridge .woocommerce-product-gallery--without-images,
body.rakubi-wc-bridge .woocommerce-product-gallery__image--placeholder,
body.rakubi-wc-bridge .woocommerce img[src*='woocommerce-placeholder'],
body.rakubi-wc-bridge .woocommerce img.woocommerce-placeholder {
    display: none !important;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 28px;
    border-radius: 24px;
    border: 1px solid rgba(219, 200, 167, .96);
    box-shadow: 0 18px 34px rgba(84, 56, 31, .08);
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul {
    gap: 14px;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    min-height: 62px;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,240,226,.98) 100%);
    border: 1px solid rgba(220, 202, 172, .9);
    color: #7d5234;
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: linear-gradient(135deg, #9f7245 0%, #7b4a34 100%);
    color: #fff;
    border-color: rgba(125, 74, 52, .95);
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover::before,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
    background: rgba(255,255,255,.95);
}

body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover::after,
body.rakubi-wc-bridge .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::after {
    color: #fff;
}

@media only screen and (max-width: 980px) {
    body.rakubi-wc-bridge .woocommerce div.product > div.images,
    body.rakubi-wc-bridge .woocommerce div.product > div.summary {
        flex-basis: 100%;
    }

    body.rakubi-wc-bridge.rakubi-wc-single .rakubi-wc-page-inner {
        padding: 18px 0 6px;
    }
}


/* v0.3.3 title refinement */
body.rakubi-wc-bridge .rakubi-wc-page-heading {
    text-align: center;
    margin: 0 10px 34px;
    padding: 10px 0 14px;
    border-bottom: rgba(122, 77, 9, .26) 2px dotted;
}

body.rakubi-wc-bridge .rakubi-wc-page-heading-kicker,
body.rakubi-wc-bridge .rakubi-wc-titlearea .pagetitle h2 span {
    font-family: "Noto Serif JP", "YuMincho", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif !important;
}

body.rakubi-wc-bridge .rakubi-wc-page-heading-kicker {
    color: #b68d4b;
    font-size: 12px;
    letter-spacing: .32em;
    margin-bottom: 10px;
}

body.rakubi-wc-bridge .rakubi-wc-page > h2,
body.rakubi-wc-bridge .rakubi-wc-page-heading h2,
body.rakubi-wc-bridge .woocommerce-products-header__title.page-title,
body.rakubi-wc-bridge .woocommerce div.product .product_title,
body.rakubi-wc-bridge .rakubi-wc-titlearea .pagetitle h2,
body.rakubi-wc-bridge .rakubi-wc-detail-card h3,
body.rakubi-wc-bridge .rakubi-wc-account-nav-head h3,
body.rakubi-wc-bridge .rakubi-wc-account-dashboard-intro h3 {
    font-family: "Noto Serif JP", "YuMincho", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif !important;
    font-weight: 500;
}

body.rakubi-wc-bridge .rakubi-wc-page > h2,
body.rakubi-wc-bridge .rakubi-wc-page-heading h2,
body.rakubi-wc-bridge .woocommerce-products-header__title.page-title {
    color: #8b5848;
    font-size: clamp(26px, 2.25vw, 36px);
    line-height: 1.45;
    letter-spacing: .12em;
    padding: 0;
    border-bottom: 0;
    margin: 0;
}

body.rakubi-wc-bridge .rakubi-wc-titlearea {
    box-shadow: 0 14px 30px rgba(88, 59, 32, .05);
    margin-bottom: 34px;
}

body.rakubi-wc-bridge .rakubi-wc-titlearea .pagetitle {
    background: linear-gradient(180deg, #fffaf0 0%, #f6ead4 100%);
}

body.rakubi-wc-bridge .rakubi-wc-titlearea .pagetitle h2 {
    padding-top: 46%;
    color: #73382a;
    font-size: 28px;
    line-height: 1.75;
    letter-spacing: .16em;
}

body.rakubi-wc-bridge .woocommerce div.product .product_title {
    font-size: clamp(30px, 2.9vw, 46px);
    line-height: 1.34;
    letter-spacing: .045em;
    color: #3f2d24;
    margin: 2px 0 20px;
}

body.rakubi-wc-bridge.rakubi-wc-single .rakubi-wc-page-inner {
    padding-top: 8px;
}

body.rakubi-wc-bridge.rakubi-wc-single .rakubi-wc-page-heading {
    margin-bottom: 22px;
}

@media only screen and (max-width: 768px) {
    body.rakubi-wc-bridge .rakubi-wc-page-heading {
        margin: 0 0 24px;
        padding: 6px 0 12px;
    }

    body.rakubi-wc-bridge .rakubi-wc-page-heading-kicker {
        font-size: 11px;
        letter-spacing: .24em;
    }

    body.rakubi-wc-bridge .rakubi-wc-page > h2,
    body.rakubi-wc-bridge .rakubi-wc-page-heading h2,
    body.rakubi-wc-bridge .woocommerce-products-header__title.page-title {
        font-size: 22px;
        line-height: 1.5;
    }

    body.rakubi-wc-bridge .woocommerce div.product .product_title {
        font-size: 28px;
        line-height: 1.42;
    }
}
