@charset "utf-8";
/* CSS Document */

/* =item_single.php
-------------------------------------------------------------- */

/*---- item_page_title ---*/
.item_page_title {
	font-size: 1.14286em;
	margin: 0 0 .625em;
	line-height: 1.25em;
}

/*---- img-box ---*/
#itempage #img-box {
	margin-bottom: 1.66667em;
}
#itempage .itemimg {
	text-align: center;
}
#itempage .itemimg a {
	display: block;
}
#img-box .itemimg img {
	width: 100%;
	height: auto;
}
#itempage .itemsubimg {
	margin: 3% -3% 0 0;
	overflow: hidden;
}
#itempage .itemsubimg a {
	display: inline-block;
	width: 22%;
	float: left;
	margin: 0 3% 3% 0;
	text-align: center;
}
#itempage .itemsubimg img {
	width: 100%;
	height: auto;
	vertical-align: middle;	
}

/*---- item-info ---*/
#itempage .item-info {
	padding-top: 2.5em;
}

/*---- itemcode ---*/
#itempage .itemcode {
	margin-bottom: 1.42857em;
	padding-bottom: .357143em;
	border-bottom: 1px solid #ccc;
}

/*---- sku-name ---*/
.item-info .skuname {
	font-weight: bold;
	min-height: 30px;
	margin-bottom: 1.42857em;
	padding: .357143em;
	background-color: #dedede;
}

/*---- skuform ---*/
.item-info form {
	clear: both;
}
.item-info .skuform {
	margin-bottom: 2.142856em;
}
.item-info form .skuform:last-child {
	margin-bottom: 0;
}
.item-info .skuform form {
	clear: both;
}

/*---- zaikostatus ---*/
.item-info .zaikostatus {
	float: left;
}

/*---- field ---*/
.item-info .field {
	padding: 0 0 .357143em;
	overflow: hidden;
}

/*---- price ---*/
.item-info .field_price {
	font-size: 1.42857em;
	font-weight: bold;
	float: right; 
}
.item-info .field_cprice {
	color: #999;
	font-size: .6em;
	font-weight: normal;
	margin-right: .666667em;
	text-decoration: line-through;
}
.item-info .field_price em {
	font-size: .5em;
}

/*---- itemGpExp ---*/
.item-info .itemGpExp {
	margin: 1.42857em 0;
	padding: 1.42857em .357143em .714286em;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.item-info .itemGpExp dt {
	font-weight: bold;
}
.item-info .itemGpExp .price {
	font-size: 1.14286em;
	font-weight: bold;
	padding: 0 0 0 .625em;	
}
.item-info .itemGpExp em {
	font-size: .5em;
}

/*---- item-option ---*/
.item-info .item-option {
	clear: both;
	margin-bottom: 1.42857em;
	padding: 1.42857em .357143em .714286em;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.item-info .item-option dt {
	font-weight: bold;
}
.item-info .item-option dd {	
	margin: 0 0 .714286em;
}
.item-info .item-option select option {
	background-color: #fff;
}
.item-info .item-option input[type="text"] {
	width: 60%;
}
.item-info .item-option .iopt_radio_label {
	display: block;
}
.item-info .item-option textarea {
	width: 100%;
	height: 100px;
}

/*---- c-box ---*/
.item-info .c-box {
	clear: both;
	padding: 0;
	text-align: right;
}

/*---- quantity ---*/
.item-info .quantity {
	display: inline-block;
	margin-bottom: 5px;
}
.item-info .quantity input.skuquantity {
	width: 60px !important;
	height: 40px;	
	margin: 0 .357143em;
	padding: .357143em;
	border: 1px solid #ccc;
	text-align: center;
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
}

/*---- cart-btn ---*/
.item-info .skubutton {
	color: #fff;
	font-family: FontAwesome;	
	font-weight: bold;
	padding: .714286em 2.142856em;
	background-color: #ff8c00;
	border: none;
	letter-spacing: 1px;
	text-align: center;
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
}
.item-info .skubutton:hover {
	cursor: pointer;
	background-color: #ffa500;
}

/*---- incart-btn ---*/
.item-info .incart-btn {
	text-align: left;
}

/*---- itemsoldout ---*/
.item-info .itemsoldout {
	color: #ff8c00;
	font-weight: bold;
	text-align: right;
	letter-spacing: 0.5px;
}

/*---- item_custom_field ---*/
.item-info ul.item_custom_field {
	margin-bottom: 2.142856em;
	float: right;
	line-height: 200%;
}
.item-info ul.item_custom_field li {
	padding: 0 .357143em;
	border-bottom: 1px dotted #999;
}

/*---- item-info table ---*/
.item-info table.item_custom_field {
	margin-bottom: 2.142856em;
	border: 1px solid #ccc;
	border-collapse: collapse;
	float: right;
}
.item-info .item_custom_field th {
	width: 40%;
	padding: .357143em;
	background-color: #eee;
	border: 1px solid #ccc;
}
.item-info .item_custom_field td {
	border: 1px solid #ccc;
	padding: .357143em;
}

/*---- assistance_item ---*/
.assistance_item h3 {
	color: #000;
	margin: 1.42857em 0 0;
	border-bottom: 3px solid #eee;	
}
.assistance_item ul {
	overflow: hidden;
	letter-spacing: -.5em;
}
.assistance_item li {
	display: inline-block;
	width: 46%;
	margin-right: 8%;
	padding: 1.42857em 0 0;
	letter-spacing: normal;
	vertical-align: text-top;
}
.assistance_item li:nth-child(even) {
	margin-right: 0;
}
.assistance_item li .slit a {
	display: block;
	margin-bottom: .357143em;
}
.assistance_item li .slit img {
	width: 100%;
	height: auto;
}
.assistance_item li .detail h4 {
	font-weight: normal;
	height: 43px;
	margin: 0;
	overflow: hidden;
}
.assistance_item li .detail p {
	height: 60px;
	overflow: hidden;
}
.assistance_item li .detail .assist_price {
	font-weight: bold;
	height: 22px;	
	text-align: right;
}

/*---- .date sku-form ---*/
.date .item-info .skuform {
	border: none;
}

/*---- dlseller ---*/
.item-info .frequency {
	text-align: right;
    margin-bottom: .714286em;
	
}
.item-info .field_frequency {
	display: inline-block;
    color: #fff;
	font-size: 13px;
    font-weight: bold;
	background-color: #d3222a;
	padding: 0 20px;
	letter-spacing: 1px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;	
	border-radius: 3px;
}
#itempage table.dlseller {
	width: 100%;
	margin: 1.42857em 0 0;
}
#itempage table.dlseller th {
	width: 50%;
	padding: .714286em;
	background-color: #eee;
	border: 1px solid #ccc;
}
#itempage table.dlseller td {
	padding: .714286em;
	border: 1px solid #ccc;
}


/* =wc_search_page.php
-------------------------------------------------------------- */

section#usces-cart .navigation {
	clear: both;
	line-height: 300%;
	letter-spacing: normal;
}
section#usces-cart form {
	letter-spacing: normal;
}
section#usces-cart form .outlabel {
	display: block;
	padding: 1.42857em 0 .714286em;
}
#searchbox fieldset {
	margin-bottom: 1.42857em;
	padding: .7142857em 1.42857em;
	border: 1px solid #e0e0e0;
}
#searchbox legend {
	padding: 0 .7142857em;
}
#searchbox input.usces_search_button {
	display: block;
	margin: 0 auto;	
	padding: 1.071428em 3em;
	background-color: #eee;
	border: none;
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
}


/* =cart
-------------------------------------------------------------- */

#main #content.cart-page {
	float: none;
}

/*---- page-title ---*/
.cart_page_title {
	font-size: 1.1428545em;
	margin: 0 0 1.25em;
	line-height: 1.25em;
}

/*---- usccart_navi ---*/
div.cart_navi ul {
	list-style: none;
	overflow: hidden;
}
div.cart_navi li {
	display: block;
	color: #262626;
	font-size: 11px;
	font-weight: bold;
	padding: 0 .909095em 0 1.81818em;
	background: #dedede;
	float: left;
	text-decoration: none;
	text-align: center;
	line-height: 40px;
}
div.cart_navi li:before {
	display: block;
	width: 20px;
	height: 20px;
	margin: 0 -20px -20px auto;
	float: right;
	content: " ";
	-webkit-transform: skew(20deg);
	background: #dedede;
	border-right: 4px solid #fff;
	-moz-transform: skew(20deg);
	-o-transform: skew(20deg);
	transform: skew(20deg);
}
div.cart_navi li:after {
	display: block;
	width: 20px;
	height: 20px;
	margin: -20px -20px 0 auto;
	background: #dedede;
	border-right: 4px solid #fff;
	position: relative;
	content: " ";
	-webkit-transform: skew(-20deg);
	-moz-transform: skew(-20deg);
	-o-transform: skew(-20deg);
	transform: skew(-20deg);	
}
div.cart_navi li:last-child:before,
div.cart_navi li:last-child:after {
	border: none;
}
div.cart_navi li.current,
div.cart_navi li.current:before,
div.cart_navi li.current:after {
	color: #fff;
	background-color: #161616;
}

/*---- send ---*/
.cart-page .send {
	padding-top: .714286em;
	text-align: center;
}
.send input.to_customerinfo_button,
.send input.to_memberlogin_button,
.send input.to_deliveryinfo_button,
.send input.to_confirm_button,
.send input#purchase_button {
	color: #fff;
	background-color: #ff8c00;
}
.send input.to_customerinfo_button:hover,
.send input.to_memberlogin_button:hover,
.send input.to_deliveryinfo_button:hover,
.send input.to_confirm_button:hover,
.send input#purchase_button:hover {
	background-color: #ffa500;
}

/*---- header_explanation ---*/
div.header_explanation {
	margin: 1.42857em 0 1.42857em;
}

/*---- footer_explanation ---*/
div.footer_explanation {
	margin-top: 1.42857em;
}


/*---- cart_table ---*/
#cart_table {
	width: 100%;
	border: 1px dotted #ccc;
	border-collapse: collapse;
}
#cart_table th {
	padding: .357143em;
	background-color: #efefef;
	border: 1px solid #ccc;
	text-align: center;
}
#cart_table td {
	padding: .357143em;
	border: 1px solid #ccc;
	text-align: center;
	vertical-align: middle;
}
#cart_table .aleft {
	text-align: left;
}
#cart_table .aright {
	text-align: right;
}
#cart_table td.productname {
	text-align: left;
}
#cart_table .amount {
	font-size: 16px;
	padding: .3125em .3125em .3125em 10px;
	letter-spacing: 1px;
}
#cart_table .subtotal {
	white-space: nowrap;
}
#cart_table em.tax {
	font-style: normal;
}
#cart_table .num,
#cart_table .thumbnail,
#cart_table .stock {
	display: none;
}
#cart_table .thumbnail img {
	height: auto;
}
#cart_table .quantity {
	width: 50px;
	text-align: center;
}
#cart_table .quantity input {
	width: 45px;
	padding: 0 5px;
	border: 1px solid #aaa;
	text-align: center;
	-webkit-border-radius: 0;  
	-moz-border-radius: 0;  
	border-radius: 0; 
}
#cart .action {
    width: 40px;
    text-align: center;
    white-space: nowrap;
}
#cart .action input.delButton {
	display: block;
	padding: .557143em .714286em;
}


/*---- customer_form ---*/
.customer_form {
	width: 100%;
}
.customer_form tr {
	display: block;
	margin-bottom: 1.071428em;
	padding: 0 .5714285em 1.071428em;
	border-bottom: 2px solid #efefef;
}
.customer_form th {	
	display: block;
	width: auto;
	margin-bottom: .357143em;
	padding: 0;
	background: none;
	border: none;
}
.customer_form th em {
	color: #ff3366;
	font-weight: bold; 
}
.customer_form td {
	color: #666;
	display: block;
	font-size: 1em;
	margin-bottom: 0;
	padding: 0;
	border: none;
}
.customer_form td label {
	color: black;
}
.customer_form tr.inp1 td {
	width: 45%;
	display: inline-block;
}
.customer_form input#mailaddress1,
.customer_form input#mailaddress2 {
	width: 70%;
}
.customer_form input#zipcode {
	margin-right: 0;
}
.customer_form input#search_zipcode {
	margin: .5714285em;
	padding: 5px 20px;
}
.customer_form input[type="password"] {
	display: block;
	margin-right: .5em;
}
.customer_form tr.inp1 input {
	width: 70%;
	margin-left: .5em;
	margin-right: 0;
}
.customer_form input[type="text"] {
	margin-right: .5em;
}


/* =wc_cart_page.php
-------------------------------------------------------------- */

#wc_cart #cart .upbutton {
	padding: 0 0 .714286em;
	text-align: right;
}
#wc_cart #cart .upbutton input {
	color: #ff8c00;
	margin-left: 5px;
	padding: 3px 15px;
	background-color: #fff;
	border: 1px solid #ff8c00;
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;
}
#wc_cart #cart .upbutton input:hover {
	color: #e28619;
    background-color: #fdffd3;
}
#wc_cart .currency_code {
	padding: .357143em 0;
}
#wc_cart .no_cart {
	font-weight: bold;
	padding: 3em 0;
	text-align: center;
}

/*--- PayPal Style ---*/

.ui-dialog {
	width: 95% !important;
	font-size: 1em;
}
.ui-dialog #paypal_dialog {
	padding: 10px;
}
#paypal_dialog #paypal_confirm td {
	text-align: right;
}
#paypal_dialog #paypal_shipping select {
	width: 100%;
}
#paypal_dialog #paypal_point table {
	border: none;
}
#paypal_dialog #paypal_point table th,
#paypal_dialog #paypal_point table td {
	border: 1px solid #e6e6e6;
}
#paypal_dialog #paypal_point tr:last-child td {
	text-align: center;
	border: none;
	padding: .83334em 0 0;
}
#paypal_dialog #paypal_use_point {
	width: auto;
    color: #ff8c00;
    background-color: #fff;
    border: 1px solid #ff8c00;	
}
#paypal_dialog #paypal_use_point:hover {
    color: #e28619;
    background-color: #fdffd3;	
}

/* =wc_customer_page.php
-------------------------------------------------------------- */

#customer-info h5 {
	color: #000;
	margin: 1.42857em 0;
	padding: .357143em 0 .357143em .357143em ;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #ccc;	
}
#wc_customer .send input.to_reganddeliveryinfo_button {
	color: #fff;
	margin-top: .714286em;
	background-color: #ff8c00;
}
#wc_customer .send input.to_reganddeliveryinfo_button:hover {
	background-color: #ffa500;
}
#wc_customer .liwpp_area {
	padding: .714286em 0 0;
	text-align: center;
}


/* =wc_delivery_page.php
-------------------------------------------------------------- */

#wc_delivery .customer_form dt {
	font-weight: bold;
	padding: .714286em 0;
}
#wc_delivery .customer_form dd {
	color: #262626;
	margin-left: 1.42857em;
}

/*---　credit style　---*/
#wc_delivery #zeus select,
#wc_delivery #remise select,
#wc_delivery #escott select,
#wc_delivery #welcart select {
	width: auto;
	margin-right: 0.25em;
}

/*---　DL Seller　---*/

#dlseller_terms .dlseller_terms {
	font-size: 12px;
	padding: .833334em;
	height: 200px;
	border: 1px solid #ccc;
	overflow-y: scroll;
}


/* =wc_confirm_page.php
-------------------------------------------------------------- */

#wc_confirm div.usccart_navi li.usccart_confirm {
	background: none;
	background-color: #262626;
}

/*---- info-confirm ---*/
#info-confirm .confiem_notice {
	padding-bottom: 5px;
}

/*---- cart_table ---*/
#wc_confirm #cart_table {
	margin-bottom: 1.4286em;
}
#wc_confirm #cart_table td.unitprice,
#wc_confirm #cart_table td.subtotal {
	text-align: right;
}

/*---- point_table ---*/
#cart #point_table {
	width: 100%;
	margin: 0 auto 1.42857em !important;
	float: none;
}
#point_table td {
	width: 50%;
	padding: .357143em;
	border: 1px solid #ccc;	
	text-align: center;
}
#point_table td.c-point,
#point_table td.u-point {
	font-weight: bold;
	background-color: #efefef;
}
#point_table .point-btn {
	border: none;
	text-align: center;
	padding: .83334em 0 0;
}
#point_table td span.point {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 1px;
	padding-right: .3125em;
}
#point_table td input[type="text"] {
	width: 80px;
	margin: 0 .357143em;
	border: 1px solid #aaa;
	-webkit-border-radius: 0;  
	-moz-border-radius: 0;  
	border-radius: 0; 
	text-align: center;
}
#point_table td input.use_point_button {
	color: #ff8c00;;
	background-color: #fff;
    border: 1px solid #ff8c00;
}
#point_table td input.use_point_button:hover {
    color: #e28619;
    background-color: #fdffd3;
}

/*---- wcex_coupon ---*/
#cart #coupon_table {
	width: 100% !important;
	margin: 0 auto 1.42857em;
	float: none;
}
#cart #coupon_table th {
	font-weight: bold;
	width: 50%;
	padding: .357143em;
	background-color: #efefef;	
	border: 1px solid #ccc;	
	text-align: center;
}
#cart #coupon_table td {
	width: 50%;
	height: auto !important;
	padding: .357143em;
	border: 1px solid #ccc;	
	text-align: center;
}
#cart #coupon_table tr:first-child td:first-child {
	font-weight: bold;
	background-color: #efefef;
}
#cart #coupon_table tr:last-child td {
	border: none;
	padding: .714286em 0 0;	
}
#cart #coupon_table td .use_coupon_button {
    color: #ff8c00;
	margin-right: 5px;
    background-color: #fff;
    border: 1px solid #ff8c00;
}
#cart #coupon_table td .use_coupon_button:hover {
    color: #e28619;
    background-color: #fdffd3;
}

/*---- confirm_table ---*/
#confirm_table {
	width: 100%;
	border-collapse: collapse;
}
#confirm_table th {
	color: #262626;
	font-size: 1em;
	font-weight: bold;
	width: auto;
	padding: .357143em;
	background-color: #efefef;
	border: 1px solid #ccc;
}
#confirm_table td {
	padding: .357143em;
	border: 1px solid #ccc;
}
#confirm_table tr.ttl td {
	background-color: #efefef;
}
#wc_confirm table .action {
	display: none;
}
#confirm_table .ttl h3 {
	color: #000;
	letter-spacing: .05em;
}
#wc_confirm .currency_code {
	padding-bottom: .357143em;
}

/*---- send ---*/
#wc_confirm .send input#back_button {
	margin-bottom: .714286em;
}


/* =wc_completion_page.php
-------------------------------------------------------------- */

#wc_ordercompletion h3 {
	margin: 1.785715em 0;
	text-align: center;
}
#wc_ordercompletion .header_explanation {
	text-align: center;	
}
#wc_ordercompletion .send a {
	padding: 10px 20px;
	background-color: #efefef;
	border: none;
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;	
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
	}
#wc_ordercompletion .send a:hover {
	background-color: #ddd;
	text-decoration: none;
}

/*　wc_templates dlseller　*/
#wc_ordercompletion .dllist {
	text-align: center;
}
#wc_ordercompletion .dllist li {
	margin-bottom: 1.4286em;	
}
#wc_ordercompletion .dllist li:last-child {
	margin-bottom: 0;
}
#wc_ordercompletion .dllist .thumb {
	margin-bottom: 1.4286em;
	padding: .714286em 0;
	border-top: 1px solid #e0e0e0;
	border-bottom: 1px solid #e0e0e0;
	text-align: center;
}
#wc_ordercompletion .dllist .thumb img {
	height: auto;
}
#wc_ordercompletion .dllist table {
	margin: 0 auto 1.4286em;
	border: 1px solid #ccc;
	border-collapse: collapse;
}
#wc_ordercompletion .dllist th {
	width: 30%;
	padding: .714286em;
	background-color: #f0f0f0;
	border: 1px solid #ccc;
}
#wc_ordercompletion .dllist td {
	padding: .714286em;
	border: 1px solid #ccc;	
}
#wc_ordercompletion .item_info_list p {
	text-align: center;
}
#wc_ordercompletion a.redownload_button {
	display: inline-block;
    color: #fff;
    margin-bottom: 1em;
    padding: .714286em;
    background-color: #ff8c00;
    border: none;
	text-decoration: none;
    -webkit-transition: .3s ease all;
    -moz-transition: .3s ease all;
    -o-transition: .3s ease all;
    transition: .3s ease all;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}
#wc_ordercompletion a.redownload_button:hover {
	background-color: #ffa500;
}


/* =member
-------------------------------------------------------------- */

#main #content.member-page {
	width: 100%;
	float: none;
}

/*---- page-title ---*/
.member_page_title {
	font-size: 1.14286em;
	margin: 0 0 1.25em;
	line-height: 1.25em;
}

/*---- send ---*/
.member-page .send {
	padding-top: 0.714286em;
	text-align: center;
}
.member-page .send input {
	color: #fff;
	background-color: #ff8c00; 
}
.member-page .send input:hover {
	background-color: #ffa500;
}


/* =wc_login_page.php
-------------------------------------------------------------- */

#wc_login .loginbox,
#wc_member .loginbox {
	padding: .714286em 2.142856em;
	text-align: left;
}
#wc_login .loginbox label,
#wc_member .loginbox label {
	line-height: 180%;
}
#wc_login .loginbox input,
#wc_memebr.login .loginbox input {
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;
}
#wc_login .loginbox input.loginmail,
#wc_login .loginbox input.loginpass,
#wc_member .loginbox input.loginmail,
#wc_member .loginbox input.loginpass {
	width: 100%;
	margin-bottom: .714286em;
	border: 1px solid #ccc;
}
.loginbox .submit {
	padding: .714286em 0;
}
#wc_login .loginbox #member_login,
#wc_member .loginbox #member_login {
	color: #fff;
	background-color: #ff8c00;
	border: none;
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
}
#wc_login .loginbox #member_login:hover,
#wc_member .loginbox #member_login:hover {
	background-color: #ffa500;
}
#wc_login .loginbox .new-entry,
#wc_member .loginbox .new-entry {
	margin: 10px 0;
	padding: 20px;
	background-color: #efefef;
}
#wc_login .loginbox .new-entry #nav,
#wc_member .loginbox .new-entry #nav {
	margin-top: .833338em;
	text-align: center;	
}
#wc_login .loginbox .new-entry #nav a,
#wc_member .loginbox .new-entry #nav a {
	display: inline-block;
	color: #fff;
	padding: .714286em 1.42857em;
	background-color: #ff8c00;
	border: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;	
}
#wc_login .loginbox .new-entry #nav a:hover,
#wc_member .loginbox .new-entry #nav a:hover {
	background-color: #ffa500;
	text-decoration: none;
}
#wc_member .loginbox a {
	padding: 0;
	background: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;	
	border-radius: 0;
}
#wc_member .loginbox a:hover {
	background: none;
	text-decoration: underline;
}
#wc_login .footer_explanation,
#wc_member .footer_explanation {
	clear: both;
}
#wc_login .liwpp_area,
#wc_member .liwpp_area {
	text-align: center;
}


/* =wc_changepassword_page.php
-------------------------------------------------------------- */

wc_changepassword .whitebox {
	text-align: center;	
}
#wc_changepassword .loginbox {
	font-size: .85714em;
	padding: .8333em 2.5em;
	text-align: left;
}
#wc_changepassword .loginbox label {
	line-height: 180%;
}
#wc_changepassword .loginbox input.loginpass {
	width: 100%;
	margin-bottom: .714286em;
	padding: .35714em;
	border: 1px solid #ccc;
}
#wc_changepassword #member_login {
	color: #FFF;
	width: 60%;
	padding: .714286em 0;
	background-color: #ff8c00;
	border: none;
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;
}
#wc_changepassword #member_login:hover {
	background-color: #ffa500;
}


/* =wc_lostpassword_page.php
-------------------------------------------------------------- */

#wc_lostmemberpassword .whitebox {
	text-align: center;
}
#wc_lostmemberpassword .loginbox {
	padding: .714286em 2.142856em;
	text-align: left;
}
#wc_lostmemberpassword .loginbox label {
	line-height: 180%;
}
#wc_lostmemberpassword input,
#wc_lostmemberpassword a {
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;
	-webkit-border-radius: 0;  
	-moz-border-radius: 0;  
	border-radius: 0;  
}
#wc_lostmemberpassword .loginbox input.loginmail {
	width: 100%;
	margin-bottom: .714286em;
}
#wc_lostmemberpassword #member_login {
	color: #FFF;
	margin-bottom: .714286em;
	padding: .714286em 1.42857em;
	background-color: #ff8c00;
	border: none;
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
}
#wc_lostmemberpassword #member_login:hover {
	background-color: #ffa500;
}
#wc_lostmemberpassword #nav a {
	display: inline-block;
	color: #262626;
	padding: .714286em 1.42857em;
	background-color: #efefef;
	text-align: center;
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
}
#wc_lostmemberpassword #nav a:hover {
	background-color: #ddd;
	text-decoration: none;
}
#wc_lostmemberpassword .error_message {
	margin: 0 auto 10px;
	text-align: left;
}


/* =wc_member_completion_page.php
-------------------------------------------------------------- */

#wc_newcompletion #memberpages,
#wc_lostcompletion #memberpages,
#wc_changepasscompletion #memberpages {
	text-align: center;
}
#wc_newcompletion #memberpages p a,
#wc_lostcompletion #memberpages p a,
#wc_changepasscompletion #memberpages p a {
	display: inline-block;
	margin: 1.071428em 0 0;
	padding: .714286em 1.42857em;
	background-color: #efefef;
	border: none;	
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
}
#wc_newcompletion #memberpages p a:hover,
#wc_lostcompletion #memberpages p a:hover,
#wc_changepasscompletion #memberpages p a:hover {
	background-color: #ddd;
	text-decoration: none;
}
#wc_newcompletion .send a,
#wc_lostcompletion .send input,
#wc_lostcompletion .send a,
#wc_changepasscompletion .send a {
	display: inline-block;
	padding: .714286em 1.42857em;
	background-color: #efefef;
	border: none;
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
}
#wc_newcompletion #memberpages a:hover,
#wc_lostcompletion #memberpages input:hover,
#wc_lostcompletion #memberpages a:hover,
#wc_changepasscompletion #memberpages a:hover {
	background-color: #ddd;
	text-decoration: none;
}


/* =wc_member_page.php
-------------------------------------------------------------- */

/*---- h3 ---*/
#wc_member h3,
#wc_editmemberform h3 {
	color: #000;
	margin: 1.42857em 0;
	padding: .357143em;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #ccc;
}
#wc_member h3 a,
#wc_editmemberform h3 a {
	background: none;
	padding: 0;
}

/*---- table ---*/
#memberinfo table {
	display: block;
	width: 100%;
	margin-bottom: .714286em;
	border: none;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
#memberinfo table tbody,
#memberinfo table tr {
	display: block;	
}
#memberinfo th {
	display: block;
	font-weight: normal;
	width: auto;
	padding: .357143em;
	background-color: #efefef;
	border: none;
	border-bottom: 1px solid #ccc;
}
#memberinfo td {
	display: block;
	padding: .357143em;
	border: none;
	border-bottom: 1px solid #ccc;
}
#memberinfo .space {
	display: none;
}
#memberinfo .button {
	text-align: center;
}
#memberinfo td img {
	max-width: 100%;
	height: auto;
}

/*---- member_submenu ---*/
.member_submenu {
	margin: 0;
}
.member_submenu li {
	margin-bottom: .714286em;
	list-style: none;
	text-align: center;
}
.member_submenu a {
	display: inline-block;
	padding: .714286em 1.42857em;
	width: 100%;
	background-color: #efefef;
	color: #262626;
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;	
	-webkit-border-radius: 3px;  
	-moz-border-radius: 3px;  
	border-radius: 3px;  
}
.member_submenu a:hover {
	background-color: #ddd;
	text-decoration: none;
}

/*---- history-area ---*/
#memberinfo .history-area table .aleft {
	text-align: left;
}
#memberinfo .history-area table .rightnum {
	text-align: right;
} 

/*---- .retail + #history_head  ---*/
#memberinfo .retail tbody,
#memberinfo #history_head tbody {
	display: table-row-group;
}
#memberinfo .retail tr,
#memberinfo #history_head tr {
	display: table-row;
}
#memberinfo #history_head th,
#memberinfo .retail th {
	display: table-cell;
	font-size: 11px;
	font-weight: normal;
	padding: 5px 3px;
	background-color: #efefef;
	border: 1px solid #ccc;
	line-height: 1.2em;
	text-align: center;
	vertical-align: middle;
}
#memberinfo #history_head td,
#memberinfo .retail td {
	display: table-cell;	
	font-size: 11px;
	padding: 5px;
	border: 1px solid #ccc;
	line-height: 1.2em;
	vertical-align: middle;
}

/*---- history_head ---*/
#memberinfo #history_head {
	display: table;
	width: 100%;
	margin-bottom: .8333em;
	border-collapse: collapse;
}

/*---- customer_form ---*/
#memberinfo .customer_form {
	margin-bottom: 0;
	border: none;
}
#memberinfo .customer_form th {
    font-weight: bold;
    width: auto;
    margin-bottom: .357143em;
    padding: 0;
    background: none;
    border: none;
}
#memberinfo .customer_form td {
    display: block;
    color: #666;
    font-size: 1em;
    padding: 0;
    border: none;
}
#memberinfo .customer_form tr.inp1 td {
	display: inline-block;
}

/*---- send ---*/
.member-page #memberinfo .send input.top,
.member-page #memberinfo .send input.deletemember {
	color: #262626;
    background-color: #efefef;
    -webkit-transition: .3s ease all;
    -moz-transition: .3s ease all;
    -o-transition: .3s ease all;
    transition: .3s ease all;	
}
.member-page #memberinfo .send input.deletemember {
	margin-top: .714286em;
}
.member-page #memberinfo .send input.top:hover,
.member-page #memberinfo .send input.deletemember:hover {
	background-color: #ddd;
}


/*-------------------------------------------
　WCEX DL Seller　*/

#memberinfo #history_head td.retail a {
	color: #0F9ABB;
	padding: 0;
	background: none;
}
#memberinfo #history_head td.retail a:hover {
	text-decoration: underline;
}

/*---- retail ---*/
#memberinfo .retail {
	display: table;
	width: 100%;
	margin-bottom: 1.666666em;
	border-collapse: collapse;
}
#memberinfo .retail td.cartrownum,
#memberinfo .retail td.thumbnail {
	text-align: center;
}
#memberinfo .retail .quantity {
	white-space: nowrap;
}
#memberinfo table.retail .redownload_link {
	text-align: center;
	margin: .714286em 0;
}
#memberinfo table.retail .redownload_link a {
    color: #fff;
    padding: .714286em;
    background-color: #ff8c00;
    border: none;
	text-decoration: none;
    -webkit-transition: .3s ease all;
    -moz-transition: .3s ease all;
    -o-transition: .3s ease all;
    transition: .3s ease all;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}
#memberinfo table.retail .redownload_link a:hover {
	background-color: #ffa500;
}


/* =ZEUS
-------------------------------------------------------------- */

/*--- wc_member_page.php ---*/
.gotoedit,
.gotoedit {
	margin: 10px 0;
	text-align: center;
}

.gotoedit a,
.gotoedit a {
	display: inline-block;
	color: #262626;
	padding: .714286em 1.42857em;
	background-color: #efefef;
	border: none;
	-webkit-transition: .3s ease all;
	-moz-transition: .3s ease all;
	-o-transition: .3s ease all;
	transition: .3s ease all;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;	
}

.gotoedit a:hover,
.gotoedit a:hover {
	background-color: #ddd;
	text-decoration: none;	
}

/*---　#wc_member_update_settlement　---*/
#wc_member_update_settlement h3 {
    color: #000;
    margin: 1.53846em 0;
    padding: .384615em 0 .384615em .23076em;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #ccc;	
}
#wc_member_update_settlement .send {
	text-align: center;
}
#wc_member_update_settlement .send input:last-child {
	margin-top: 10px;
}
#wc_member_update_settlement td select {
	width: auto;
}


/* =wc_new_member_page.php + wc_customer.php
-------------------------------------------------------------- */

.agree_member_area {
	width: 90%;
	margin: 1.42857em auto 0;
}
.agree_member_area .at_exp_text {
	margin-bottom: .714286em;		
}
.agree_member_area textarea {
	resize: none;
	color: #565656;
	font-size: 13px;
	width: 100%;
	height: 150px;
	margin-bottom: .41666em;
	padding: .769231em;
	border: 1px solid #ccc;
	line-height: 180%;
}
.agree_member_area .at_check_area {
	text-align: center;
}


/**
 * 16.1 Mobile Large 620px
 */
@media screen and (min-width: 38.75em) {
	/* =item-single.php
	-------------------------------------------------------------- */
	.item_page_title {
		font-size: 1.285714em;
		margin: 0 0 2.22222em;
		line-height: 1.285714em;
	}
	#itempage #img-box {
		width: 40%;
		float: left;
		margin-bottom: 0;
	}
	#img-box .itemsubimg a {
		width: 30.333%;
	}
	.detail-box {
		width: 55%;
		float: right;
	}
	#itempage .item-info {
		clear: both;
	}
	.item-info .skuform {
		margin: 0 0 2.85714em;
	}
	.item-info .skubutton {
		padding: 1.071428em 2.142856em;
	}
	.item-info .field {
		text-align: right;
	}
	.item-info .zaikostatus,
	.item-info .field_price {
		margin-bottom: .357143em;
		float: none;
	}
	.assistance_item li {
		width: 22%;
		margin-right: 4%;
		padding: 1.42857em 0 0;
	}
	.assistance_item li:nth-child(even) {
		margin-right: 4%;
	}
	.assistance_item li:nth-child(4n) {
		margin-right: 0;
	}

	/* =cart
	-------------------------------------------------------------- */
	.cart_page_title {
		font-size: 1.285714em;
		margin: 0 0 2.22222em;
		line-height: 1.285714em;
	}
	div.cart_navi li {
		width: 24.5%;
		font-size: 1em;
	}
	#cart_table .thumbnail {
		display: table-cell;
	}	
	
	/* =wc_cart_page.php
	-------------------------------------------------------------- */
	.ui-dialog {
		width: 400px !important;
	}

	/* =wc_confirm_page.php
	-------------------------------------------------------------- */
	#wc_confirm .send input#back_button {
		margin-bottom: 0;
	}

	/* =member
	-------------------------------------------------------------- */
	.member_page_title {
		line-height: 1.285714em;
		margin: 0 0 2.22222em;
		font-size: 1.285714em;
	}
	#wc_login .error_message,
	#wc_member .error_message,
	#wc_changepassword .loginbox,
	#wc_changepassword .error_message,
	#wc_lostmemberpassword .loginbox,
	#wc_lostmemberpassword .error_message {
		width: 50%;
	}
	#wc_login .loginbox,
	#wc_changepassword .loginbox,
	#wc_lostmemberpassword .loginbox {
		margin: 0 auto;
		padding: .714286em 2.14285em;
		font-size: 1em;
	}
	.loginbox .submit,
	#wc_lostmemberpassword #nav a {
		font-size: 1em;
	}
	#wc_newcompletion #memberpages p a,
	#wc_lostcompletion #memberpages p a, 
	#wc_changepasscompletion #memberpages p a {
		font-size: 1em;
		margin: 1.0714em 0 0;
		padding: .714286em 1.42857em;
	}
	
	/* =wc_member_page.php
	-------------------------------------------------------------- */
	.member_submenu a {
		width: auto;
	}
	.member-page .send {
		padding-top: 1.42857em;
	}		
	#memberinfo table {
		display: table;
		font-size: 1em;
		font-weight: normal;
	}
	#memberinfo table tbody {
		display: table-row-group;
	} 
	#memberinfo table tr	{
		display: table-row;
	}
	#memberinfo th {
		display: table-cell;
		font-weight: bold;
		border: 1px solid #ccc;
	}
	#memberinfo td {
		display: table-cell;
		border: 1px solid #ccc;
	}
	#memberinfo .space {
		display: table-cell;
	}
	#memberinfo #history_head {
		font-size: 1em;
	}
	#memberinfo #history_head th {
		font-size: 1em;
		white-space: nowrap;
	}
	#memberinfo #history_head td,
	#memberinfo .retail th,
	#memberinfo .retail td {
		font-size: 1em;
		padding: .35715em;
	}
	.member-page #memberinfo .send input.editmember {
		margin: 0;
	}
	.member-page #memberinfo .send input.deletemember {
		margin-top: 0;	
	}	
	#memberinfo .customer_form th {
		display: table-cell;
		width: 30%;
		padding: .35715em 1.0714em;
		background-color: #efefef;
		border: 1px solid #ccc;
		vertical-align: middle;
	}
	#memberinfo .customer_form td {
		display: table-cell;
		padding: .35715em 1.0714em;
		border: 1px solid #e0e0e0;
	}
	#memberinfo .customer_form tr.inp1 td {
		display: table-cell;
	}
}


/**
 * 16.2 Tablet Small 740px
 */
@media screen and (min-width: 46.25em) {


	/* =item-single.php
	-------------------------------------------------------------- */

	.item-info .item-option dt,
	.item-info .itemGpExp dt {
		width: 25%;
		display: inline-block;
		margin-bottom: .714286em;
		vertical-align: top;
	}
	.item-info .item-option dd,
	.item-info .itemGpExp dd {
		width: 65%;
		display: inline-block;
		margin-bottom: .714286em;
		padding-left: 3%;
		border-left: 1px solid #ccc;
	}
	.item-info .field {
		padding-bottom: 0;
	}


	/* =cart
	-------------------------------------------------------------- */
	
	/*--- cart_table ---*/
	.cart-page .send {
		padding-top: 1.42857em;
	}
	#cart_table .stock {
		display: table-cell;
		white-space: nowrap;
	}
	
	/*---- customer_form ---*/
	.customer_form {
		margin-bottom: 1.071428em;
	}
	.customer_form tr {
		display: table-row;
		margin-bottom: 0;
		padding: 0;
		border: none;
	}
	.customer_form th {
		display: table-cell;
		width: 25%;
		padding: .357143em 1.071428em;
		background-color: #f6f6f6;
		border: 1px solid #ccc;
		vertical-align: middle;
	}
	.customer_form td {
		display: table-cell;
		color: #6e6e6e;
		padding: .357143em 1.071428em;
		border: 1px solid #ccc;
	}
	.customer_form tr.inp1 td {
		display: table-cell;
		width: auto;
		margin-bottom: 0;
	}
	.customer_form input[type="password"] {
		display: inline-block;
	}


	/* =wc_confirm_page.php
	-------------------------------------------------------------- */
	
	/*---- confirm_table ---*/
	#confirm_table th {
		display: table-cell;
		width: 30%;
		padding: .357143em 1.071428em;
		background-color: #efefef;
		border: 1px solid #ccc;
		vertical-align: middle;
	}
	#confirm_table td {
		display: table-cell;
		padding: .357143em 1.071428em;
		border: 1px solid #ccc;
	}
	#confirm_table .ttl h3 {
		background: none;
		margin: 0;
		padding: 0;
	}

	
	/* =wc_new_member_page.php + wc_customer.php
	-------------------------------------------------------------- */
	
	.agree_member_area {
		width: 70%;
		margin: 1.42857em auto 0;
	}

}


/**
 * 16.3 Tablet Large 880px
 */
@media screen and (min-width: 55em) {
	/* =cart
	-------------------------------------------------------------- */
	#cart_table .num {
		display: table-cell;
	}

	/* =wc_login_page.php
	-------------------------------------------------------------- */
	#wc_login .loginbox {
		width: 50%;
	}
}


/**
 * 16.4 Desktop Small 1000px
 */
@media screen and (min-width: 62.5em) {


	/* =item-single.php
	-------------------------------------------------------------- */
	
	/*---- imgblock ---*/
	#itempage #img-box {
		width: 300px;
		margin-bottom: 2.142856em;
	}
	#itempage .item-description {
		margin-bottom: 2.142856em;
	}

	/*---- item-option ---*/
	.item-info .item-option select[multiple] {
		width: 100%;
	}
	
	/*---- assistance_item ---*/
	.assistance_item h3 {
		margin: 2.142856em 0 0;
	}

	/* =member
	-------------------------------------------------------------- */		
	#memberinfo h3 {
		font-size: 1em;
		margin: 2.142856em 0 1.42857em;
		padding: 0;
		background: none;
	}
	#memberinfo th {
		padding: .714286em;
	}
	#memberinfo td {
		padding: .357143em 1.071428em;
	}

	/*---- history-area ---*/
	#memberinfo .history-area {
		max-height: 500px;
		margin-bottom: 2.85714em;
		padding: 1.42857em 1.42857em 0 0;
		overflow-y: scroll;
		border-top: 1px solid #ddd;
		border-bottom: 1px solid #ddd;	
	}
	
	/*--- wc_login  ---*/	
	#wc_login .loginbox .new-entry #nav a, 
	#wc_member .loginbox .new-entry #nav a,
	#wc_lostmemberpassword #member_login,
	#wc_lostmemberpassword #nav a,
	#wc_newcompletion #memberpages p a,
	#wc_lostcompletion #memberpages p a,
	#wc_changepasscompletion #memberpages p a,
	#wc_newcompletion .send a,
	#wc_lostcompletion .send input,
	#wc_lostcompletion .send a,
	#wc_changepasscompletion .send a {
		padding: 1.071428em 2.14286em;
	}
}
/* v0.27 St.poupee cart flow — preview-aligned */
body,
#primary.site-content,
#content.cart-page,
#wc_cart,
#wc_customer,
#wc_delivery,
#wc_confirm,
#wc_completion {
  background: #fffcf7;
}

#primary.site-content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 92px 20px 96px;
  color: #333;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
}

#content.cart-page {
  float: none !important;
  width: 100% !important;
  max-width: 960px;
  margin: 0 auto;
}

.cart_page_title,
.member_page_title {
  margin: 0 0 30px;
  padding-bottom: 18px;
  border-bottom: 1px solid #ddd;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.6;
}

/* Step navigation */
div.cart_navi {
  margin: 0 auto 34px;
  max-width: 860px;
}
div.cart_navi ul {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  border: 1px solid #ede7de;
  background: #f4efe7;
}
div.cart_navi li {
  float: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 8px 10px !important;
  border: none !important;
  border-right: 1px solid #fff !important;
  background: #f4efe7 !important;
  color: #a29a91 !important;
  font-size: 13px;
  letter-spacing: .06em;
  line-height: 1.5 !important;
  text-align: center;
}
div.cart_navi li:last-child { border-right: 0 !important; }
div.cart_navi li.current {
  background: #c4171b !important;
  color: #fff !important;
}
div.cart_navi li:before,
div.cart_navi li:after {
  display: none !important;
}

.header_explanation,
.footer_explanation,
.error_message {
  line-height: 1.9;
}
.error_message {
  margin: 0 0 18px;
  color: #c4171b;
}
.error_message:empty { display: none; }

/* Cart table */
#cart .upbutton {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
  margin: 0 0 16px;
  padding: 12px 0;
  color: #555;
  font-size: 15px;
  line-height: 1.8;
  text-align: right;
}
#cart .upbutton input {
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid #d8a44a;
  background: #fffdf8;
  color: #d08a00;
  font-family: inherit;
  font-weight: 700;
  letter-spacing: .08em;
  cursor: pointer;
}

#cart_table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid #ded6ca !important;
  background: #fffdf8;
  font-size: 15px;
}
#cart_table th,
#cart_table td {
  border: 1px solid #ded6ca !important;
  vertical-align: middle !important;
}
#cart_table th {
  padding: 16px 14px !important;
  background: #f4efe7 !important;
  color: #2f2a25;
  font-weight: 700;
  text-align: center;
  letter-spacing: .06em;
}
#cart_table td {
  padding: 18px 14px !important;
  background: #fffdf8;
  text-align: center;
  line-height: 1.7;
}
#cart_table .num,
#cart_table .thumbnail,
#cart_table .stock {
  display: none !important;
}
#cart_table .productname,
#cart_table td.productname,
#cart_table .aleft {
  text-align: left !important;
}
#cart_table .unitprice,
#cart_table .subtotal,
#cart_table .amount {
  white-space: nowrap;
}
#cart_table input[type="text"],
#cart_table input[type="number"],
#cart_table .quantity input {
  width: 54px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 1px solid #d9d0c3 !important;
  background: #fff !important;
  text-align: center;
  font-family: inherit;
  font-size: 15px;
}
#cart_table input[type="submit"],
#cart_table .delButton,
#cart_table .delbutton,
#cart_table .delButton input {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #ded6ca !important;
  background: #f8f5ef !important;
  color: #777 !important;
  font-family: inherit;
  cursor: pointer;
}
#cart_table tfoot th,
#cart_table tfoot td,
#cart_table tfoot .amount {
  background: #f4efe7 !important;
  font-size: 18px;
  font-weight: 700;
}
#cart_table tfoot .aright {
  text-align: right !important;
}
.currency_code {
  margin: 20px 0 0;
  color: #555;
  font-size: 15px;
}
.no_cart {
  padding: 50px 30px;
  border: 1px solid #ded6ca;
  background: #fffdf8;
  text-align: center;
}

/* Buttons */
.cart-page .send,
.send {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-top: 34px;
  padding-top: 0 !important;
  text-align: center;
}
.cart-page .send input,
.cart-page .send button,
.cart-page .send a,
.send input,
.send button,
.send a {
  min-width: 220px;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 0 !important;
  font-family: inherit;
  font-size: 15px;
  letter-spacing: .12em;
  cursor: pointer;
  text-align: center;
  transition: .25s;
  text-decoration: none;
}
.send input.to_customerinfo_button,
.send input.to_deliveryinfo_button,
.send input.to_confirm_button,
.send input#purchase_button,
.send input[name="purchase"],
.send input[name="deliveryinfo"],
.send input[name="confirm"],
.send input[name="customerinfo"],
.cart-page .send input:last-child {
  border: 1px solid #c4171b !important;
  background: #c4171b !important;
  color: #fff !important;
}
.send input.to_customerinfo_button:hover,
.send input.to_deliveryinfo_button:hover,
.send input.to_confirm_button:hover,
.send input#purchase_button:hover {
  background: #a0131a !important;
}
.send input[name="backCart"],
.send input[name="previous"],
.send input.back_cart_button,
.send input.continue_shopping_button,
.cart-page .send a:first-child,
.send a {
  border: 1px solid #ded6ca !important;
  background: #fffdf8 !important;
  color: #333 !important;
}

/* Customer/delivery form pages */
.customer_form,
#customer-info,
#delivery-info,
#wc_customer table,
#wc_delivery table,
#wc_confirm table {
  background: #fffdf8;
}
#wc_customer table,
#wc_delivery table,
#wc_confirm table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ded6ca;
}
#wc_customer th,
#wc_customer td,
#wc_delivery th,
#wc_delivery td,
#wc_confirm th,
#wc_confirm td {
  border: 1px solid #ded6ca;
  padding: 14px 16px;
  line-height: 1.8;
}
#wc_customer th,
#wc_delivery th,
#wc_confirm th {
  background: #f4efe7;
  font-weight: 700;
}
#wc_customer input[type="text"],
#wc_customer input[type="email"],
#wc_customer input[type="tel"],
#wc_delivery input[type="text"],
#wc_delivery input[type="email"],
#wc_delivery input[type="tel"],
#wc_delivery select,
#wc_delivery textarea {
  min-height: 42px;
  border: 1px solid #d9d0c3;
  background: #fff;
  font-family: inherit;
}

@media (max-width: 760px) {
  #primary.site-content {
    padding: 82px 20px 78px;
  }
  div.cart_navi ul {
    grid-template-columns: repeat(2, 1fr);
  }
  div.cart_navi li {
    min-height: 48px;
    font-size: 12px;
  }
  #cart .upbutton {
    display: block;
    text-align: right;
  }
  #cart .upbutton input {
    margin-top: 10px;
  }
  #cart_table {
    font-size: 13px;
  }
  #cart_table th,
  #cart_table td {
    padding: 12px 8px !important;
  }
  #cart_table .action {
    width: 62px;
  }
  .cart-page .send,
  .send {
    flex-direction: column;
  }
  .cart-page .send input,
  .cart-page .send button,
  .cart-page .send a,
  .send input,
  .send button,
  .send a {
    width: 100%;
    min-width: 0;
  }
  
}

/* 商品説明エリア */
.stp-product-description {
  margin-top: 56px;
  color: #333;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  line-height: 2;
  letter-spacing: 0.04em;
}

.stp-product-section {
  margin-top: 42px;
}

.stp-product-section h2 {
  position: relative;
  margin: 0 0 24px;
  padding: 13px 18px 13px 22px;
  background: #f5f8f3;
  border-left: 4px solid #2f8a57;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.stp-product-section p {
  margin: 0 0 18px;
  font-size: 14px;
}

.stp-product-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  font-size: 14px;
  background: #fff;
}

.stp-product-table th,
.stp-product-table td {
  border: 1px solid #e5dfd4;
  padding: 15px 18px;
  vertical-align: top;
}

.stp-product-table th {
  width: 28%;
  background: #f8f5ee;
  color: #555;
  font-weight: 600;
}

.stp-product-table td {
  background: #fff;
}

@media (max-width: 767px) {
  .stp-product-description {
    margin-top: 40px;
    line-height: 1.9;
  }

  .stp-product-section h2 {
    font-size: 16px;
  }

  .stp-product-table th,
  .stp-product-table td {
    display: block;
    width: 100%;
  }

  .stp-product-table th {
    border-bottom: none;
  }
}
/* =============================================================
   v0.47: St.poupee checkout preview parity
   Scope: cart/customer pages only. Welcart processing is untouched.
   ============================================================= */
.stp-checkout-page,
.stp-checkout-page #content,
.stp-checkout-page .cart-page {
  background: #fffcf7;
  color: #333;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}
.stp-checkout__container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px 80px;
}
.stp-checkout__breadcrumb {
  padding: 22px 0 16px;
  margin: 0 0 42px;
  border-bottom: 1px solid #e6e0d8;
  color: #999;
  font-size: 13px;
  letter-spacing: .03em;
}
.stp-checkout__breadcrumb a { color: #999; }
.stp-checkout__heading {
  margin: 0 0 42px;
  padding-bottom: 28px;
  border-bottom: 1px solid #d8d2ca;
}
.stp-checkout__heading .cart_page_title {
  margin: 0;
  font-size: 28px;
  line-height: 1.35;
  letter-spacing: .12em;
  font-weight: 700;
}
.stp-checkout__heading .cart_page_title small {
  display: block;
  margin-top: 8px;
  color: #999;
  font-size: 13px;
  letter-spacing: .12em;
  font-weight: 400;
}
.stp-checkout-steps {
  margin: 0 auto 46px;
  max-width: 700px;
}
.stp-checkout-steps ul {
  list-style: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}
.stp-checkout-steps li {
  position: relative;
  flex: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  float: none !important;
  padding: 0 !important;
  background: transparent !important;
  color: #b9b4ae !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  text-align: center;
}
.stp-checkout-steps li::before,
.stp-checkout-steps li::after { display: none !important; }
.stp-checkout-steps li:not(:last-child)::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  top: 50%;
  left: calc(50% + 20px);
  width: calc(100% - 40px);
  height: 1px;
  background: #ded8cf;
  transform: translateY(-50%);
  z-index: 0;
}
.stp-checkout-steps__num {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #dfdbd4;
  color: #aaa;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.stp-checkout-steps li.current .stp-checkout-steps__num {
  background: #c9171d;
  color: #fff;
}
.stp-checkout-steps li.is-done .stp-checkout-steps__num {
  background: #4a8c5c;
  color: #fff;
}
.stp-checkout-steps li.current,
.stp-checkout-steps li.is-done { color: #555 !important; }
.stp-checkout__notice {
  margin: 0 0 28px;
  padding: 13px 18px;
  border: 1px solid #e8bd72;
  background: #fff7e8;
  color: #b17700;
  font-size: 13px;
  line-height: 1.8;
}
.stp-checkout__notice:empty { display: none; }
.stp-checkout__notice p { margin: 0; }
.stp-checkout__error { color: #c9171d; margin: 0 0 18px; }
.stp-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  align-items: start;
}
.stp-checkout-main { min-width: 0; }
.stp-checkout-summary {
  background: #faf7f1;
  padding: 28px;
  position: sticky;
  top: 90px;
}
.stp-checkout-summary__title {
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #d8d2ca;
  font-size: 16px;
  letter-spacing: .08em;
}
.stp-checkout-summary__row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 7px 0;
  font-size: 14px;
  line-height: 1.7;
}
.stp-checkout-summary__row strong { font-weight: 700; }
.stp-checkout-summary__row--total {
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px solid #d8d2ca;
  font-size: 17px;
  font-weight: 700;
}
.stp-checkout-summary__note {
  margin: 8px 0 0;
  color: #8f8880;
  font-size: 12px;
  line-height: 1.8;
}
.stp-checkout-backlink {
  display: inline-block;
  margin-top: 26px;
  color: #777;
  font-size: 13px;
  text-decoration: underline;
}
.stp-checkout-backlink--summary {
  display: block;
  margin: 14px auto 0;
  text-align: center;
}
.stp-checkout-primary-button,
.stp-cart-send input.to_customerinfo_button,
.stp-customer-send input.to_deliveryinfo_button,
.stp-customer-send input.to_reganddeliveryinfo_button,
.stp-customer-send input.to_memberlogin_button {
  display: block !important;
  width: 100% !important;
  min-height: 50px;
  margin: 22px 0 0 !important;
  padding: 15px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #c9171d !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  cursor: pointer;
}
.stp-checkout-primary-button:hover,
.stp-cart-send input.to_customerinfo_button:hover,
.stp-customer-send input.to_deliveryinfo_button:hover,
.stp-customer-send input.to_reganddeliveryinfo_button:hover,
.stp-customer-send input.to_memberlogin_button:hover { background: #a91217 !important; }
.stp-checkout-secondary-button,
.stp-customer-send input.back_to_cart_button,
.stp-customer-send input.back_cart_button {
  display: inline-block !important;
  width: auto !important;
  margin: 16px 10px 0 0 !important;
  padding: 10px 16px !important;
  border: 1px solid #cfc8bf !important;
  background: #fff !important;
  color: #777 !important;
  font-family: inherit !important;
  font-size: 13px !important;
}

/* Cart table */
.stp-cart-update {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  margin: 0 0 16px;
  padding: 0 !important;
  color: #777;
  font-size: 13px;
  text-align: right;
}
.stp-cart-update input {
  color: #c99437 !important;
  border: 1px solid #e8bd72 !important;
  background: #fff !important;
  padding: 8px 16px !important;
  border-radius: 0 !important;
  cursor: pointer;
}
.stp-cart-table {
  width: 100% !important;
  border: 0 !important;
  border-collapse: collapse !important;
  font-size: 14px;
}
.stp-cart-table th {
  padding: 14px 16px !important;
  background: #f8f4ed !important;
  border: 0 !important;
  border-bottom: 1px solid #d8d2ca !important;
  color: #333;
  font-weight: 700;
  text-align: left !important;
}
.stp-cart-table td {
  padding: 18px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid #e3ddd5 !important;
  background: transparent !important;
  vertical-align: middle !important;
}
.stp-cart-table .num,
.stp-cart-table .stock,
.stp-cart-table th.num,
.stp-cart-table th.stock,
.stp-cart-table td.num,
.stp-cart-table td.stock { display: none !important; }
.stp-cart-table .thumbnail {
  display: table-cell !important;
  width: 88px;
}
.stp-cart-table .thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
}
.stp-cart-table .productname { text-align: left !important; }
.stp-cart-table td.productname a {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
}
.stp-cart-table td.productname p,
.stp-cart-table td.productname .sku { color: #888; font-size: 12px; margin-top: 3px; }
.stp-cart-table .unitprice,
.stp-cart-table .subtotal,
.stp-cart-table .amount { text-align: right !important; white-space: nowrap; }
.stp-cart-table .quantity { text-align: center !important; width: 100px; }
.stp-cart-table .quantity input[type="text"],
.stp-cart-table .quantity input[type="number"] {
  width: 50px !important;
  height: 32px !important;
  padding: 4px 6px !important;
  border: 1px solid #cfc8bf !important;
  border-radius: 0 !important;
  text-align: center !important;
  background: #fff !important;
}
.stp-cart-table .action { width: 42px; text-align: center !important; }
.stp-cart-table .action input,
.stp-cart-table input.delButton {
  width: 28px !important;
  height: 28px !important;
  overflow: hidden;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  position: relative;
  cursor: pointer;
}
.stp-cart-table .action input::after,
.stp-cart-table input.delButton::after {
  content: "×";
  color: #b9b4ae;
  font-size: 22px;
  line-height: 28px;
}
.stp-cart-table tfoot th,
.stp-cart-table tfoot td {
  background: #f8f4ed !important;
  border-bottom: 0 !important;
  font-weight: 700;
}
.stp-cart-currency { display: none; }
.stp-cart-notes {
  margin: 22px 0 0;
  color: #8f8880;
  font-size: 12px;
  line-height: 1.9;
}
.stp-cart-notes p { margin: 0 0 4px; }
.stp-cart-empty {
  padding: 60px 20px !important;
  text-align: center;
  border: 1px solid #e3ddd5;
  background: #fff;
}

/* Customer form */
.stp-checkout-section-title {
  margin: 0 0 24px;
  padding: 12px 16px;
  border-left: 4px solid #4a8c5c;
  background: #f8f4ed;
  font-size: 16px;
  letter-spacing: .08em;
}
.stp-customer-form {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 14px !important;
}
.stp-customer-form tr {
  display: table-row !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.stp-customer-form th,
.stp-customer-form td {
  display: table-cell !important;
  padding: 12px 14px !important;
  border: 0 !important;
  vertical-align: top;
}
.stp-customer-form th {
  width: 180px !important;
  color: #555;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  background: transparent !important;
}
.stp-customer-form th em {
  color: #c9171d;
  font-style: normal;
  margin-right: 4px;
}
.stp-customer-form td { color: #555; font-size: 14px; }
.stp-customer-form input[type="text"],
.stp-customer-form input[type="email"],
.stp-customer-form input[type="tel"],
.stp-customer-form input[type="password"],
.stp-customer-form select,
.stp-customer-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px;
  padding: 9px 12px !important;
  border: 1px solid #cfc8bf !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-family: inherit !important;
  font-size: 14px !important;
}
.stp-customer-form input:focus,
.stp-customer-form select:focus,
.stp-customer-form textarea:focus {
  outline: none;
  border-color: #4a8c5c !important;
  box-shadow: 0 0 0 2px rgba(74,140,92,.12);
}
.stp-customer-form input#search_zipcode {
  width: auto !important;
  min-height: 36px;
  margin-top: 8px;
  padding: 7px 14px !important;
}
.stp-customer-send {
  margin-top: 26px;
  text-align: left !important;
}

@media (max-width: 900px) {
  .stp-checkout-layout { grid-template-columns: 1fr; gap: 30px; }
  .stp-checkout-summary { position: static; }
}
@media (max-width: 767px) {
  .stp-checkout__container { padding: 0 14px 60px; }
  .stp-checkout__heading .cart_page_title { font-size: 23px; }
  .stp-checkout-steps { margin-bottom: 32px; }
  .stp-checkout-steps__label { display: none; }
  .stp-checkout-steps li:not(:last-child)::after { left: calc(50% + 14px); width: calc(100% - 28px); }
  .stp-checkout-steps__num { width: 24px; height: 24px; font-size: 12px; }
  .stp-cart-update { display: block; text-align: left; }
  .stp-cart-update input { margin-top: 8px; }
  .stp-cart-table { display: block; overflow-x: auto; white-space: nowrap; }
  .stp-cart-table th, .stp-cart-table td { padding: 12px 10px !important; }
  .stp-cart-table .thumbnail { width: 64px; }
  .stp-cart-table .thumbnail img { width: 56px !important; height: 56px !important; }
  .stp-customer-form,
  .stp-customer-form tbody,
  .stp-customer-form tr,
  .stp-customer-form th,
  .stp-customer-form td { display: block !important; width: 100% !important; }
  .stp-customer-form tr { margin-bottom: 16px !important; }
  .stp-customer-form th { padding: 0 0 6px !important; }
  .stp-customer-form td { padding: 0 !important; }
}

/* =============================================================
   v0.48: Cart preview layout correction
   Scope: CSS only. Do not touch Welcart PHP / form / cart session.
   Fixes: narrow centered cart area, vertical step labels, shifted cart table.
   ============================================================= */
body .stp-checkout-page,
body #primary.site-content.stp-checkout-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-top: 72px !important;
  background: #fffcf7 !important;
}

body .stp-checkout-page #content.cart-page,
body .stp-checkout-page #content.stp-checkout,
body #content.cart-page.stp-checkout {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
}

body .stp-checkout__container {
  width: min(calc(100% - 150px), 1000px) !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 0 0 88px !important;
  box-sizing: border-box !important;
}

body .stp-checkout__breadcrumb {
  width: 100% !important;
}

body .stp-checkout__heading {
  margin-bottom: 42px !important;
}

/* Step navigation: force horizontal preview style and disable legacy Welcart skew rules. */
body .stp-checkout-steps,
body div.cart_navi.stp-checkout-steps {
  width: 100% !important;
  max-width: 700px !important;
  margin: 0 auto 46px !important;
  padding: 0 !important;
  overflow: visible !important;
}

body .stp-checkout-steps > ul,
body div.cart_navi.stp-checkout-steps > ul {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
  overflow: visible !important;
}

body .stp-checkout-steps > ul > li,
body div.cart_navi.stp-checkout-steps > ul > li {
  position: relative !important;
  display: flex !important;
  flex: 0 0 20% !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 28px !important;
  float: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #b9b4ae !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  writing-mode: horizontal-tb !important;
}

body .stp-checkout-steps > ul > li::before,
body div.cart_navi.stp-checkout-steps > ul > li::before,
body .stp-checkout-steps > ul > li::after,
body div.cart_navi.stp-checkout-steps > ul > li::after {
  display: none !important;
  content: none !important;
}

body .stp-checkout-steps > ul > li:not(:last-child)::after,
body div.cart_navi.stp-checkout-steps > ul > li:not(:last-child)::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: calc(50% + 20px) !important;
  width: calc(100% - 40px) !important;
  height: 1px !important;
  border: 0 !important;
  background: #ded8cf !important;
  transform: translateY(-50%) !important;
  z-index: 0 !important;
}

body .stp-checkout-steps__num {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #dfdbd4 !important;
  color: #aaa !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}

body .stp-checkout-steps__label {
  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  writing-mode: horizontal-tb !important;
}

body .stp-checkout-steps li.current .stp-checkout-steps__num {
  background: #c9171d !important;
  color: #fff !important;
}

/* Layout: keep cart table and summary at preview width. */
body .stp-checkout-layout,
body .stp-cart-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 36px !important;
  align-items: start !important;
  width: 100% !important;
}

body .stp-checkout-main,
body .stp-cart-main,
body .stp-cart-box,
body #cart {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

body .stp-checkout-summary,
body .stp-cart-summary {
  width: 300px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Cart table: disable old column skew/width and make product column readable. */
body .stp-cart-table,
body #cart_table.stp-cart-table,
body #cart_table {
  width: 100% !important;
  min-width: 560px !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
  border: 0 !important;
  font-size: 14px !important;
}

body .stp-cart-table th,
body .stp-cart-table td,
body #cart_table th,
body #cart_table td {
  writing-mode: horizontal-tb !important;
  word-break: keep-all !important;
  box-sizing: border-box !important;
}

body .stp-cart-table th.num,
body .stp-cart-table td.num,
body .stp-cart-table th.stock,
body .stp-cart-table td.stock,
body .stp-cart-table th.thumbnail,
body .stp-cart-table td.thumbnail,
body #cart_table th.num,
body #cart_table td.num,
body #cart_table th.stock,
body #cart_table td.stock,
body #cart_table th.thumbnail,
body #cart_table td.thumbnail {
  display: none !important;
}

body .stp-cart-table th.productname,
body .stp-cart-table td.productname,
body #cart_table th.productname,
body #cart_table td.productname {
  display: table-cell !important;
  width: auto !important;
  min-width: 210px !important;
  max-width: none !important;
  text-align: left !important;
  white-space: normal !important;
  color: #333 !important;
  visibility: visible !important;
}

body .stp-cart-table td.productname *,
body #cart_table td.productname * {
  color: inherit !important;
  visibility: visible !important;
  opacity: 1 !important;
  white-space: normal !important;
}

body .stp-cart-table th.unitprice,
body .stp-cart-table td.unitprice,
body #cart_table th.unitprice,
body #cart_table td.unitprice {
  width: 90px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body .stp-cart-table th.quantity,
body .stp-cart-table td.quantity,
body #cart_table th.quantity,
body #cart_table td.quantity {
  width: 76px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body .stp-cart-table th.subtotal,
body .stp-cart-table td.subtotal,
body #cart_table th.subtotal,
body #cart_table td.subtotal,
body .stp-cart-table .amount,
body #cart_table .amount {
  width: 105px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body .stp-cart-table th.action,
body .stp-cart-table td.action,
body #cart_table th.action,
body #cart_table td.action {
  width: 34px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body .stp-cart-table thead th,
body #cart_table thead th {
  padding: 14px 12px !important;
  background: #f8f4ed !important;
  border: 0 !important;
  border-bottom: 1px solid #d8d2ca !important;
  font-weight: 700 !important;
}

body .stp-cart-table tbody td,
body #cart_table tbody td {
  padding: 18px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #e3ddd5 !important;
  background: transparent !important;
  vertical-align: middle !important;
}

body .stp-cart-table tfoot th,
body .stp-cart-table tfoot td,
body #cart_table tfoot th,
body #cart_table tfoot td {
  padding: 15px 12px !important;
  background: #f8f4ed !important;
  border: 0 !important;
  font-weight: 700 !important;
}

body .stp-cart-table .quantity input,
body #cart_table .quantity input {
  display: inline-block !important;
  width: 42px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 4px 6px !important;
  text-align: center !important;
}

body .stp-cart-update {
  width: 100% !important;
}

/* Responsive: preserve function with horizontal scroll instead of broken columns. */
@media (max-width: 900px) {
  body .stp-checkout__container {
    width: min(calc(100% - 36px), 760px) !important;
  }
  body .stp-checkout-layout,
  body .stp-cart-layout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  body .stp-checkout-summary,
  body .stp-cart-summary {
    width: 100% !important;
    position: static !important;
  }
}

@media (max-width: 767px) {
  body .stp-checkout__container {
    width: calc(100% - 28px) !important;
    padding-bottom: 64px !important;
  }
  body .stp-checkout-steps__label {
    display: none !important;
  }
  body .stp-checkout-steps > ul > li,
  body div.cart_navi.stp-checkout-steps > ul > li {
    flex-basis: 20% !important;
  }
  body .stp-cart-box {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body .stp-cart-table,
  body #cart_table.stp-cart-table,
  body #cart_table {
    min-width: 560px !important;
  }
}

/* =============================================================
   v0.49: Cart product thumbnail and name visibility fix
   Scope: CSS only. Keep Welcart cart rows / update / delete / next-step intact.
   ============================================================= */
body .stp-cart-table th.thumbnail,
body .stp-cart-table td.thumbnail,
body #cart_table.stp-cart-table th.thumbnail,
body #cart_table.stp-cart-table td.thumbnail,
body #cart_table th.thumbnail,
body #cart_table td.thumbnail {
  display: table-cell !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 78px !important;
  min-width: 78px !important;
  max-width: 78px !important;
  padding: 14px 10px !important;
  text-align: center !important;
  vertical-align: middle !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
body .stp-cart-table thead th.thumbnail,
body #cart_table thead th.thumbnail {
  background: #f8f4ed !important;
  border-bottom: 1px solid #d8d2ca !important;
}
body .stp-cart-table td.thumbnail a,
body #cart_table td.thumbnail a,
body .stp-cart-table td.thumbnail img,
body #cart_table td.thumbnail img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .stp-cart-table td.thumbnail img,
body #cart_table td.thumbnail img {
  width: 58px !important;
  height: 58px !important;
  max-width: 58px !important;
  max-height: 58px !important;
  object-fit: cover !important;
  margin: 0 auto !important;
  border: 0 !important;
  background: #f8f4ed !important;
}
body .stp-cart-table th.productname,
body .stp-cart-table td.productname,
body #cart_table.stp-cart-table th.productname,
body #cart_table.stp-cart-table td.productname,
body #cart_table th.productname,
body #cart_table td.productname,
body #cart_table td.aleft {
  display: table-cell !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  min-width: 190px !important;
  max-width: none !important;
  padding-left: 12px !important;
  text-align: left !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  white-space: normal !important;
  word-break: break-word !important;
  writing-mode: horizontal-tb !important;
}
body .stp-cart-table td.productname *,
body #cart_table td.productname *,
body #cart_table td.aleft * {
  visibility: visible !important;
  opacity: 1 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  white-space: normal !important;
  writing-mode: horizontal-tb !important;
}
body .stp-cart-table td.productname a,
body #cart_table td.productname a,
body #cart_table td.aleft a {
  display: inline !important;
  color: #333 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body .stp-cart-table td.productname small,
body .stp-cart-table td.productname .sku,
body .stp-cart-table td.productname p,
body #cart_table td.productname small,
body #cart_table td.productname .sku,
body #cart_table td.productname p {
  display: block !important;
  margin: 2px 0 0 !important;
  color: #8f8880 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
body .stp-cart-table,
body #cart_table.stp-cart-table,
body #cart_table {
  min-width: 650px !important;
}
@media (max-width: 767px) {
  body .stp-cart-table,
  body #cart_table.stp-cart-table,
  body #cart_table {
    min-width: 650px !important;
  }
  body .stp-cart-table th.thumbnail,
  body .stp-cart-table td.thumbnail,
  body #cart_table th.thumbnail,
  body #cart_table td.thumbnail {
    width: 66px !important;
    min-width: 66px !important;
    max-width: 66px !important;
    padding: 12px 8px !important;
  }
  body .stp-cart-table td.thumbnail img,
  body #cart_table td.thumbnail img {
    width: 50px !important;
    height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
  }
  body .stp-cart-table th.productname,
  body .stp-cart-table td.productname,
  body #cart_table th.productname,
  body #cart_table td.productname {
    min-width: 170px !important;
  }
}

/* =============================================================
   v0.50: Cart rows use Welcart product master name/image.
   Scope: display only. Quantity/delete/checkout remain Welcart native.
   ============================================================= */
body #cart_table td.thumbnail,
body .stp-cart-table td.thumbnail {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  text-align: center !important;
  vertical-align: middle !important;
}
body #cart_table .stp-cart-thumb-link,
body .stp-cart-table .stp-cart-thumb-link {
  display: block !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  background: #f8f4ed !important;
}
body #cart_table .stp-cart-thumb-img,
body .stp-cart-table .stp-cart-thumb-img {
  display: block !important;
  width: 58px !important;
  height: 58px !important;
  max-width: 58px !important;
  max-height: 58px !important;
  object-fit: cover !important;
  margin: 0 !important;
  border: 0 !important;
}
body #cart_table .stp-cart-thumb-empty,
body .stp-cart-table .stp-cart-thumb-empty {
  display: block !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 auto !important;
  background: #f8f4ed !important;
  border: 1px solid #e5dfd4 !important;
}
body #cart_table td.productname,
body .stp-cart-table td.productname,
body #cart_table td.aleft {
  color: #333 !important;
  text-align: left !important;
  vertical-align: middle !important;
  min-width: 210px !important;
  white-space: normal !important;
}
body #cart_table .stp-cart-item-name,
body .stp-cart-table .stp-cart-item-name {
  display: block !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  letter-spacing: .03em !important;
}
body #cart_table .stp-cart-item-sku,
body .stp-cart-table .stp-cart-item-sku {
  display: block !important;
  margin-top: 2px !important;
  color: #8f8880 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* =============================================================
   v0.51: Cart product cell alignment fix
   - Render product image inside the 商品 column
   - Hide the separate thumbnail column consistently
   - Hide SKU/type text
   - Stabilize borders/row height
   ============================================================= */
body #cart_table.stp-cart-table,
body .stp-cart-table {
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}

body #cart_table th.thumbnail,
body #cart_table td.thumbnail,
body .stp-cart-table th.thumbnail,
body .stp-cart-table td.thumbnail {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body #cart_table th.productname,
body #cart_table td.productname,
body .stp-cart-table th.productname,
body .stp-cart-table td.productname {
  width: auto !important;
  min-width: 250px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  text-align: left !important;
  vertical-align: middle !important;
  overflow: visible !important;
}

body #cart_table .stp-cart-product,
body .stp-cart-table .stp-cart-product {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  width: 100% !important;
  color: #333 !important;
  writing-mode: horizontal-tb !important;
}

body #cart_table .stp-cart-product-thumb,
body .stp-cart-table .stp-cart-product-thumb,
body #cart_table .stp-cart-product-noimage,
body .stp-cart-table .stp-cart-product-noimage {
  display: block !important;
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  overflow: hidden !important;
  background: #f8f4ed !important;
  border: 1px solid #e5dfd4 !important;
  box-sizing: border-box !important;
}

body #cart_table .stp-cart-product-img,
body .stp-cart-table .stp-cart-product-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body #cart_table .stp-cart-product-text,
body .stp-cart-table .stp-cart-product-text {
  display: block !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body #cart_table .stp-cart-item-name,
body .stp-cart-table .stp-cart-item-name {
  display: block !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  letter-spacing: .02em !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body #cart_table .stp-cart-item-sku,
body .stp-cart-table .stp-cart-item-sku,
body #cart_table td.productname small,
body #cart_table td.productname .sku,
body .stp-cart-table td.productname small,
body .stp-cart-table td.productname .sku {
  display: none !important;
}

body #cart_table thead th,
body .stp-cart-table thead th,
body #cart_table tbody td,
body .stp-cart-table tbody td,
body #cart_table tfoot th,
body .stp-cart-table tfoot th,
body #cart_table tfoot td,
body .stp-cart-table tfoot td {
  border-left: 0 !important;
  border-right: 0 !important;
}

body #cart_table tbody td,
body .stp-cart-table tbody td {
  min-height: 86px !important;
}

body #cart_table th.unitprice,
body #cart_table td.unitprice,
body .stp-cart-table th.unitprice,
body .stp-cart-table td.unitprice {
  width: 92px !important;
}

body #cart_table th.quantity,
body #cart_table td.quantity,
body .stp-cart-table th.quantity,
body .stp-cart-table td.quantity {
  width: 70px !important;
}

body #cart_table th.subtotal,
body #cart_table td.subtotal,
body .stp-cart-table th.subtotal,
body .stp-cart-table td.subtotal,
body #cart_table .amount,
body .stp-cart-table .amount {
  width: 112px !important;
}

body #cart_table th.action,
body #cart_table td.action,
body .stp-cart-table th.action,
body .stp-cart-table td.action {
  width: 36px !important;
}

@media (max-width: 767px) {
  body #cart_table.stp-cart-table,
  body .stp-cart-table {
    min-width: 650px !important;
  }
  body #cart_table th.productname,
  body #cart_table td.productname,
  body .stp-cart-table th.productname,
  body .stp-cart-table td.productname {
    min-width: 230px !important;
  }
}

/* =============================================================
   v0.52: Cart table final alignment + quantity +/- controls
   Scope: CSS only for layout. Welcart cart/session/form logic remains native.
   ============================================================= */
body .stp-checkout__container {
  width: min(calc(100% - 150px), 1100px) !important;
  max-width: 1100px !important;
}

body .stp-checkout-layout,
body .stp-cart-layout {
  display: grid !important;
  grid-template-columns: minmax(640px, 1fr) 290px !important;
  gap: 34px !important;
  align-items: start !important;
}

body .stp-cart-main,
body .stp-cart-box,
body #cart {
  min-width: 0 !important;
  width: 100% !important;
}

body #cart_table.stp-cart-table,
body .stp-cart-table,
body #cart_table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

/* Keep only: 商品 / 単価 / 数量 / 小計 / 削除 */
body #cart_table th.num,
body #cart_table td.num,
body #cart_table th.thumbnail,
body #cart_table td.thumbnail,
body #cart_table th.stock,
body #cart_table td.stock,
body .stp-cart-table th.num,
body .stp-cart-table td.num,
body .stp-cart-table th.thumbnail,
body .stp-cart-table td.thumbnail,
body .stp-cart-table th.stock,
body .stp-cart-table td.stock {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body #cart_table thead th,
body .stp-cart-table thead th {
  padding: 13px 12px !important;
  background: #f8f4ed !important;
  border: 0 !important;
  border-bottom: 1px solid #d8d2ca !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  vertical-align: middle !important;
  writing-mode: horizontal-tb !important;
}

body #cart_table tbody td,
body .stp-cart-table tbody td {
  padding: 16px 12px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #e2dcd3 !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  vertical-align: middle !important;
  writing-mode: horizontal-tb !important;
}

body #cart_table tfoot th,
body #cart_table tfoot td,
body .stp-cart-table tfoot th,
body .stp-cart-table tfoot td {
  padding: 15px 12px !important;
  background: #f8f4ed !important;
  border: 0 !important;
  color: #333 !important;
  font-weight: 700 !important;
  vertical-align: middle !important;
}

body #cart_table th.productname,
body #cart_table td.productname,
body .stp-cart-table th.productname,
body .stp-cart-table td.productname {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: hidden !important;
}

body #cart_table th.unitprice,
body #cart_table td.unitprice,
body .stp-cart-table th.unitprice,
body .stp-cart-table td.unitprice {
  width: 90px !important;
  max-width: 90px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body #cart_table th.quantity,
body #cart_table td.quantity,
body .stp-cart-table th.quantity,
body .stp-cart-table td.quantity {
  width: 112px !important;
  max-width: 112px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body #cart_table th.subtotal,
body #cart_table td.subtotal,
body .stp-cart-table th.subtotal,
body .stp-cart-table td.subtotal,
body #cart_table .amount,
body .stp-cart-table .amount {
  width: 108px !important;
  max-width: 108px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body #cart_table th.action,
body #cart_table td.action,
body .stp-cart-table th.action,
body .stp-cart-table td.action {
  width: 32px !important;
  max-width: 32px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Product cell: image and name stay inside the 商品 column. */
body #cart_table .stp-cart-product,
body .stp-cart-table .stp-cart-product {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

body #cart_table .stp-cart-product-thumb,
body .stp-cart-table .stp-cart-product-thumb,
body #cart_table .stp-cart-product-noimage,
body .stp-cart-table .stp-cart-product-noimage {
  flex: 0 0 54px !important;
  width: 54px !important;
  height: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;
  display: block !important;
  overflow: hidden !important;
  background: #f8f4ed !important;
  border: 1px solid #e5dfd4 !important;
  box-sizing: border-box !important;
}

body #cart_table .stp-cart-product-img,
body .stp-cart-table .stp-cart-product-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body #cart_table .stp-cart-product-text,
body .stp-cart-table .stp-cart-product-text {
  display: block !important;
  min-width: 0 !important;
  max-width: calc(100% - 66px) !important;
  flex: 1 1 auto !important;
}

body #cart_table .stp-cart-item-name,
body .stp-cart-table .stp-cart-item-name {
  display: block !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  letter-spacing: .02em !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

body #cart_table .stp-cart-item-sku,
body .stp-cart-table .stp-cart-item-sku,
body #cart_table td.productname small,
body #cart_table td.productname .sku,
body .stp-cart-table td.productname small,
body .stp-cart-table td.productname .sku {
  display: none !important;
}

/* Quantity +/- control. JS only changes the existing Welcart quantity input value. */
body #cart_table .stp-cart-qty-control,
body .stp-cart-table .stp-cart-qty-control {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 30px !important;
  border: 1px solid #cfc8bf !important;
  background: #fff !important;
  vertical-align: middle !important;
}

body #cart_table .stp-cart-qty-btn,
body .stp-cart-table .stp-cart-qty-btn {
  appearance: none !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f8f4ed !important;
  color: #555 !important;
  font-size: 15px !important;
  line-height: 28px !important;
  text-align: center !important;
  cursor: pointer !important;
  font-family: inherit !important;
}

body #cart_table .stp-cart-qty-btn:hover,
body .stp-cart-table .stp-cart-qty-btn:hover {
  background: #eee7dc !important;
  color: #c4171b !important;
}

body #cart_table .quantity .stp-cart-qty-control input,
body .stp-cart-table .quantity .stp-cart-qty-control input {
  width: 34px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 4px !important;
  margin: 0 !important;
  border: 0 !important;
  border-left: 1px solid #cfc8bf !important;
  border-right: 1px solid #cfc8bf !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 13px !important;
  line-height: 28px !important;
  text-align: center !important;
  box-shadow: none !important;
}

body #cart_table input.delButton,
body .stp-cart-table input.delButton {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  padding: 0 !important;
}

@media (max-width: 900px) {
  body .stp-checkout__container {
    width: min(calc(100% - 36px), 760px) !important;
  }
  body .stp-checkout-layout,
  body .stp-cart-layout {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  body .stp-checkout-summary,
  body .stp-cart-summary {
    width: 100% !important;
    position: static !important;
  }
  body .stp-cart-main {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body #cart_table.stp-cart-table,
  body .stp-cart-table,
  body #cart_table {
    min-width: 640px !important;
  }
}


/* =============================================================
   v0.53: Cart 4-column table + quantity input auto update
   Scope: CSS only for layout. Welcart cart/session/form logic remains native.
   Visible columns: 商品 / 単価 / 数量 / 小計(税込)
   ============================================================= */
body .stp-cart-update {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 0 18px !important;
  text-align: center !important;
}

body .stp-cart-update__text {
  color: #555 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

body .stp-cart-update input[name="upButton"],
body .stp-cart-update button[name="upButton"],
body input[name="upButton"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
}

body #cart_table.stp-cart-table,
body .stp-cart-table,
body #cart_table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

/* Four visible columns only. */
body #cart_table th.num,
body #cart_table td.num,
body #cart_table th.thumbnail,
body #cart_table td.thumbnail,
body #cart_table th.stock,
body #cart_table td.stock,
body #cart_table th.action,
body #cart_table td.action,
body .stp-cart-table th.num,
body .stp-cart-table td.num,
body .stp-cart-table th.thumbnail,
body .stp-cart-table td.thumbnail,
body .stp-cart-table th.stock,
body .stp-cart-table td.stock,
body .stp-cart-table th.action,
body .stp-cart-table td.action {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body #cart_table thead th,
body .stp-cart-table thead th {
  padding: 14px 14px !important;
  background: #f8f4ed !important;
  border: 0 !important;
  border-bottom: 1px solid #d8d2ca !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  vertical-align: middle !important;
  writing-mode: horizontal-tb !important;
}

body #cart_table tbody td,
body .stp-cart-table tbody td {
  padding: 18px 14px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #e2dcd3 !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  vertical-align: middle !important;
  writing-mode: horizontal-tb !important;
}

body #cart_table tfoot th,
body #cart_table tfoot td,
body .stp-cart-table tfoot th,
body .stp-cart-table tfoot td {
  padding: 16px 14px !important;
  background: #f8f4ed !important;
  border: 0 !important;
  color: #333 !important;
  font-weight: 700 !important;
  vertical-align: middle !important;
}

body #cart_table th.productname,
body #cart_table td.productname,
body .stp-cart-table th.productname,
body .stp-cart-table td.productname {
  width: 50% !important;
  max-width: 50% !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
}

body #cart_table th.unitprice,
body #cart_table td.unitprice,
body .stp-cart-table th.unitprice,
body .stp-cart-table td.unitprice {
  width: 17% !important;
  max-width: 17% !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body #cart_table th.quantity,
body #cart_table td.quantity,
body .stp-cart-table th.quantity,
body .stp-cart-table td.quantity {
  width: 14% !important;
  max-width: 14% !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body #cart_table th.subtotal,
body #cart_table td.subtotal,
body .stp-cart-table th.subtotal,
body .stp-cart-table td.subtotal,
body #cart_table .amount,
body .stp-cart-table .amount {
  width: 19% !important;
  max-width: 19% !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body #cart_table .stp-cart-product,
body .stp-cart-table .stp-cart-product {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body #cart_table .stp-cart-product-thumb,
body .stp-cart-table .stp-cart-product-thumb,
body #cart_table .stp-cart-product-noimage,
body .stp-cart-table .stp-cart-product-noimage {
  flex: 0 0 54px !important;
  width: 54px !important;
  height: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;
  display: block !important;
  overflow: hidden !important;
  background: #f8f4ed !important;
  border: 1px solid #e5dfd4 !important;
  box-sizing: border-box !important;
}

body #cart_table .stp-cart-product-img,
body .stp-cart-table .stp-cart-product-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body #cart_table .stp-cart-product-text,
body .stp-cart-table .stp-cart-product-text {
  display: block !important;
  min-width: 0 !important;
  max-width: calc(100% - 66px) !important;
  flex: 1 1 auto !important;
}

body #cart_table .stp-cart-item-name,
body .stp-cart-table .stp-cart-item-name {
  display: block !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  letter-spacing: .02em !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

body #cart_table .stp-cart-qty-control,
body .stp-cart-table .stp-cart-qty-control {
  display: contents !important;
}

body #cart_table .stp-cart-qty-btn,
body .stp-cart-table .stp-cart-qty-btn {
  display: none !important;
}

body #cart_table td.quantity input,
body .stp-cart-table td.quantity input,
body #cart_table .quantity .stp-cart-qty-input,
body .stp-cart-table .quantity .stp-cart-qty-input,
body #cart_table .quantity .stp-cart-qty-control input,
body .stp-cart-table .quantity .stp-cart-qty-control input {
  width: 48px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 6px !important;
  margin: 0 auto !important;
  border: 1px solid #cfc8bf !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 13px !important;
  line-height: 30px !important;
  text-align: center !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  body #cart_table.stp-cart-table,
  body .stp-cart-table,
  body #cart_table {
    min-width: 560px !important;
  }
  body #cart_table th.productname,
  body #cart_table td.productname,
  body .stp-cart-table th.productname,
  body .stp-cart-table td.productname {
    width: 46% !important;
    max-width: 46% !important;
  }
}

/* =============================================================
   v0.55: Stable visual cart table
   The native Welcart table remains in the form for update/delete/checkout,
   but is hidden visually. A clean 4-column visual table is generated by JS.
   ============================================================= */
body.stp-welcart-cart #cart_table,
body.stp-welcart-cart #cart_table.stp-cart-table,
body.stp-welcart-cart .stp-cart-table {
  display: none !important;
}

body.stp-welcart-cart .stp-cart-main,
body.stp-welcart-cart .stp-checkout-main {
  min-width: 0 !important;
  overflow: visible !important;
}

body.stp-welcart-cart .stp-cart-layout,
body.stp-welcart-cart .stp-checkout-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 260px !important;
  gap: 36px !important;
  align-items: start !important;
}

body.stp-welcart-cart .stp-cart-summary,
body.stp-welcart-cart .stp-checkout-summary {
  width: 260px !important;
  max-width: 260px !important;
  background: #faf7f1 !important;
}

body.stp-welcart-cart .stp-cart-visual {
  width: 100% !important;
  margin: 0 0 18px !important;
  border: 0 !important;
  background: transparent !important;
  color: #333 !important;
}

body.stp-welcart-cart .stp-cart-visual__head,
body.stp-welcart-cart .stp-cart-visual__row {
  display: grid !important;
  grid-template-columns: minmax(250px, 1.7fr) 92px 70px 116px !important;
  align-items: center !important;
  column-gap: 0 !important;
  width: 100% !important;
}

body.stp-welcart-cart .stp-cart-visual__head {
  background: #f8f4ed !important;
  border-bottom: 1px solid #d8d2ca !important;
}

body.stp-welcart-cart .stp-cart-visual__head > div {
  padding: 14px 14px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: #333 !important;
}

body.stp-welcart-cart .stp-cart-visual__head > div:nth-child(2),
body.stp-welcart-cart .stp-cart-visual__head > div:nth-child(4) {
  text-align: right !important;
}

body.stp-welcart-cart .stp-cart-visual__head > div:nth-child(3) {
  text-align: center !important;
}

body.stp-welcart-cart .stp-cart-visual__row {
  position: relative !important;
  min-height: 86px !important;
  border-bottom: 1px solid #e2dcd3 !important;
  background: transparent !important;
}

body.stp-welcart-cart .stp-cart-visual__product,
body.stp-welcart-cart .stp-cart-visual__unit,
body.stp-welcart-cart .stp-cart-visual__qty,
body.stp-welcart-cart .stp-cart-visual__subtotal {
  padding: 16px 14px !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

body.stp-welcart-cart .stp-cart-visual__unit,
body.stp-welcart-cart .stp-cart-visual__subtotal {
  text-align: right !important;
  white-space: nowrap !important;
}

body.stp-welcart-cart .stp-cart-visual__qty {
  text-align: center !important;
}

body.stp-welcart-cart .stp-cart-visual__qty-input {
  display: inline-block !important;
  width: 44px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 5px !important;
  margin: 0 !important;
  border: 1px solid #cfc8bf !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #333 !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 30px !important;
  text-align: center !important;
  box-shadow: none !important;
}

body.stp-welcart-cart .stp-cart-product {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.stp-welcart-cart .stp-cart-product-thumb,
body.stp-welcart-cart .stp-cart-product-noimage {
  width: 58px !important;
  height: 58px !important;
  display: block !important;
  overflow: hidden !important;
  background: #f8f4ed !important;
  border: 1px solid #e5dfd4 !important;
  box-sizing: border-box !important;
}

body.stp-welcart-cart .stp-cart-product-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.stp-welcart-cart .stp-cart-product-text {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.stp-welcart-cart .stp-cart-item-name {
  display: block !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  color: #333 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body.stp-welcart-cart .stp-cart-visual__remove {
  position: absolute !important;
  top: 50% !important;
  right: -22px !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #aaa !important;
  font-size: 18px !important;
  line-height: 20px !important;
  cursor: pointer !important;
}

body.stp-welcart-cart .stp-cart-visual__remove:hover {
  color: #c4171b !important;
}

body.stp-welcart-cart .stp-cart-visual__total {
  display: grid !important;
  grid-template-columns: 1fr 130px !important;
  align-items: center !important;
  margin-top: 0 !important;
  background: #f8f4ed !important;
}

body.stp-welcart-cart .stp-cart-visual__total-label,
body.stp-welcart-cart .stp-cart-visual__total-amount {
  padding: 16px 18px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #333 !important;
}

body.stp-welcart-cart .stp-cart-visual__total-label {
  text-align: right !important;
}

body.stp-welcart-cart .stp-cart-visual__total-amount {
  text-align: right !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  body.stp-welcart-cart .stp-cart-layout,
  body.stp-welcart-cart .stp-checkout-layout {
    display: block !important;
  }
  body.stp-welcart-cart .stp-cart-summary,
  body.stp-welcart-cart .stp-checkout-summary {
    width: 100% !important;
    max-width: none !important;
    margin-top: 28px !important;
  }
  body.stp-welcart-cart .stp-cart-main,
  body.stp-welcart-cart .stp-checkout-main {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.stp-welcart-cart .stp-cart-visual {
    min-width: 560px !important;
  }
  body.stp-welcart-cart .stp-cart-visual__head,
  body.stp-welcart-cart .stp-cart-visual__row {
    grid-template-columns: minmax(240px, 1fr) 84px 62px 104px !important;
  }
}
   v0.56: Customer page order summary preview parity
   Scope: customer page only. Welcart form / shipping calculation remain plugin-owned.
   ============================================================= */
body .stp-customer-page .stp-checkout-steps {
  margin-top: 0 !important;
  margin-bottom: 46px !important;
}
body .stp-customer-page .stp-checkout-summary {
  width: 100% !important;
  padding: 28px 28px 24px !important;
  background: #faf7f1 !important;
}
body .stp-customer-page .stp-checkout-summary__title {
  margin-bottom: 18px !important;
}
body .stp-customer-page .stp-customer-summary-items {
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #d8d2ca !important;
}
body .stp-customer-page .stp-customer-summary-item {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) auto !important;
  gap: 11px !important;
  align-items: center !important;
  padding: 8px 0 !important;
}
body .stp-customer-page .stp-customer-summary-item__thumb,
body .stp-customer-page .stp-cart-product-thumb {
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  overflow: hidden !important;
  background: #f3eee7 !important;
  border: 1px solid #e3ddd5 !important;
}
body .stp-customer-page .stp-customer-summary-item__thumb img,
body .stp-customer-page .stp-cart-product-thumb img,
body .stp-customer-page .stp-cart-product-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
}
body .stp-customer-page .stp-customer-summary-item__thumb--empty {
  position: relative !important;
}
body .stp-customer-page .stp-customer-summary-item__thumb--empty::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  margin: 14px auto;
  background: #d7d1c8;
}
body .stp-customer-page .stp-customer-summary-item__body {
  min-width: 0 !important;
}
body .stp-customer-page .stp-customer-summary-item__name {
  margin: 0 0 3px !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  letter-spacing: .03em !important;
}
body .stp-customer-page .stp-customer-summary-item__qty {
  margin: 0 !important;
  color: #8f8880 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
body .stp-customer-page .stp-customer-summary-item__price {
  color: #555 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  text-align: right !important;
}
body .stp-customer-page .stp-checkout-summary__row {
  padding: 8px 0 !important;
  border-bottom: 0 !important;
}
body .stp-customer-page .stp-checkout-summary__row--total {
  border-top: 1px solid #d8d2ca !important;
  margin-top: 8px !important;
  padding-top: 14px !important;
}
body .stp-customer-page .stp-checkout-summary__note {
  margin-top: 8px !important;
  padding-left: 0 !important;
}
body .stp-customer-page .stp-customer-main {
  min-width: 0 !important;
}
body .stp-customer-page .stp-checkout-section-title {
  margin-top: 0 !important;
}
body .stp-customer-page .stp-customer-send {
  text-align: center !important;
}
body .stp-customer-page .stp-customer-send input.to_deliveryinfo_button,
body .stp-customer-page .stp-customer-send input.to_reganddeliveryinfo_button,
body .stp-customer-page .stp-customer-send input.to_memberlogin_button,
body .stp-customer-page .stp-customer-send .stp-checkout-primary-button {
  max-width: 360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 900px) {
  body .stp-customer-page .stp-customer-summary-item {
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
  }
}
@media (max-width: 600px) {
  body .stp-customer-page .stp-customer-summary-item {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }
  body .stp-customer-page .stp-customer-summary-item__price {
    grid-column: 2 / 3 !important;
    text-align: left !important;
  }
  body .stp-customer-page .stp-customer-summary-item__thumb,
  body .stp-customer-page .stp-cart-product-thumb {
    width: 48px !important;
    height: 48px !important;
  }
}

/* =============================================================
   v0.58: Customer Info form restore / Welcart standard priority
   - Show customer_form generated by Welcart standard functions.
   - Do not affect cart visual table or product pages.
   ============================================================= */
body .stp-customer-page .stp-checkout-layout,
body.stp-welcart-cart .stp-customer-page .stp-checkout-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 36px !important;
  align-items: start !important;
  width: 100% !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .stp-customer-page .stp-checkout-main,
body.stp-welcart-cart .stp-customer-page .stp-checkout-main,
body .stp-customer-page .stp-customer-main {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .stp-customer-page form[name="customer_form"],
body .stp-customer-page form[name="customer_loginform"] {
  display: block !important;
  width: 100% !important;
  margin: 0 0 34px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .stp-customer-page .stp-customer-form,
body .stp-customer-page .customer_form {
  display: table !important;
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: transparent !important;
  margin: 0 0 22px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .stp-customer-page .stp-customer-form tbody,
body .stp-customer-page .customer_form tbody { display: table-row-group !important; }
body .stp-customer-page .stp-customer-form tr,
body .stp-customer-page .customer_form tr {
  display: table-row !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .stp-customer-page .stp-customer-form th,
body .stp-customer-page .stp-customer-form td,
body .stp-customer-page .customer_form th,
body .stp-customer-page .customer_form td {
  display: table-cell !important;
  padding: 13px 14px !important;
  border-bottom: 1px solid #e5dfd4 !important;
  vertical-align: top !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .stp-customer-page .stp-customer-form th,
body .stp-customer-page .customer_form th {
  width: 170px !important;
  color: #555 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-align: left !important;
  background: transparent !important;
}
body .stp-customer-page .stp-customer-form th em,
body .stp-customer-page .customer_form th em {
  display: inline-block !important;
  margin-right: 6px !important;
  padding: 2px 6px !important;
  background: #c9171d !important;
  color: #fff !important;
  font-style: normal !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
body .stp-customer-page .stp-customer-form input[type="text"],
body .stp-customer-page .stp-customer-form input[type="email"],
body .stp-customer-page .stp-customer-form input[type="tel"],
body .stp-customer-page .stp-customer-form input[type="password"],
body .stp-customer-page .stp-customer-form select,
body .stp-customer-page .stp-customer-form textarea,
body .stp-customer-page .customer_form input[type="text"],
body .stp-customer-page .customer_form input[type="email"],
body .stp-customer-page .customer_form input[type="tel"],
body .stp-customer-page .customer_form input[type="password"],
body .stp-customer-page .customer_form select,
body .stp-customer-page .customer_form textarea {
  display: inline-block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px !important;
  padding: 9px 12px !important;
  border: 1px solid #cfc8bf !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #333 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .stp-customer-page .stp-checkout-section-title {
  margin: 0 0 18px !important;
  padding: 11px 16px !important;
  border-left: 4px solid #4a8c5c !important;
  background: #f8f4ed !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}
body .stp-customer-page .stp-customer-send {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 30px 0 0 !important;
}
body .stp-customer-page .stp-customer-send input,
body .stp-customer-page .stp-customer-send button {
  display: inline-block !important;
  min-width: 260px !important;
  padding: 15px 34px !important;
  border: 0 !important;
  background: #c9171d !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  cursor: pointer !important;
}
body .stp-customer-page .stp-checkout-secondary-button {
  background: transparent !important;
  color: #777 !important;
  text-decoration: underline !important;
  min-width: 0 !important;
  padding: 10px 18px !important;
}
body .stp-customer-page .stp-checkout-summary {
  display: block !important;
  width: 300px !important;
  max-width: 300px !important;
  padding: 28px !important;
  background: #faf7f1 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (max-width: 900px) {
  body .stp-customer-page .stp-checkout-layout,
  body.stp-welcart-cart .stp-customer-page .stp-checkout-layout { display: block !important; }
  body .stp-customer-page .stp-checkout-summary { width: 100% !important; max-width: none !important; margin-top: 32px !important; }
}
@media (max-width: 700px) {
  body .stp-customer-page .stp-customer-form,
  body .stp-customer-page .stp-customer-form tbody,
  body .stp-customer-page .stp-customer-form tr,
  body .stp-customer-page .stp-customer-form th,
  body .stp-customer-page .stp-customer-form td,
  body .stp-customer-page .customer_form,
  body .stp-customer-page .customer_form tbody,
  body .stp-customer-page .customer_form tr,
  body .stp-customer-page .customer_form th,
  body .stp-customer-page .customer_form td {
    display: block !important;
    width: 100% !important;
  }
  body .stp-customer-page .stp-customer-form th,
  body .stp-customer-page .customer_form th { padding-bottom: 5px !important; border-bottom: 0 !important; }
  body .stp-customer-page .stp-customer-form td,
  body .stp-customer-page .customer_form td { padding-top: 0 !important; }
}

/* v0.59: Customer Info refinements - labels, required badges, payment and note sections */
body .stp-customer-page .stp-customer-form th em,
body .stp-customer-page .customer_form th em,
body .stp-customer-page .stp-required-badge {
  display: inline-block !important;
  min-width: 34px !important;
  margin-right: 7px !important;
  padding: 3px 7px !important;
  background: #c9171d !important;
  color: #fff !important;
  font-style: normal !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  letter-spacing: .04em !important;
  vertical-align: 1px !important;
}

body .stp-customer-page .stp-customer-extra-section {
  margin: 34px 0 0 !important;
}

body .stp-customer-page .stp-customer-payment-box,
body .stp-customer-page .stp-customer-note-section .stp-customer-note {
  width: 100% !important;
}

body .stp-customer-page .stp-customer-payment-box {
  padding: 0 !important;
}

body .stp-customer-page .stp-customer-payment-box label,
body .stp-customer-page .stp-customer-payment-box .stp-customer-radio,
body .stp-customer-page .stp-customer-payment-box li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 17px 18px !important;
  border: 1px solid #e0d8cd !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

body .stp-customer-page .stp-customer-payment-box input[type="radio"] {
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 4px 0 0 !important;
  accent-color: #4a8c5c !important;
}

body .stp-customer-page .stp-customer-note-label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #555 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
}

body .stp-customer-page textarea.stp-customer-note,
body .stp-customer-page textarea.notes.stp-customer-note {
  display: block !important;
  width: 100% !important;
  min-height: 118px !important;
  padding: 12px 14px !important;
  border: 1px solid #cfc8bf !important;
  background: #fff !important;
  color: #333 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}

body .stp-customer-page textarea.stp-customer-note::placeholder {
  color: #aaa !important;
  opacity: 1 !important;
}

/* v0.60: Delivery page preview layout */
body .stp-delivery-page,
body .stp-delivery-page #content,
body .stp-delivery-page .cart-page {
  background: #fffcf7 !important;
  color: #333 !important;
}

body .stp-delivery-page .stp-checkout-layout,
body.stp-welcart-cart .stp-delivery-page .stp-checkout-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 36px !important;
  align-items: start !important;
  width: 100% !important;
}

body .stp-delivery-page .stp-checkout-main,
body .stp-delivery-page .stp-delivery-main {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
}

body .stp-delivery-page .stp-delivery-section {
  margin: 0 0 32px !important;
}

body .stp-delivery-page .stp-checkout-section-title {
  margin: 0 0 18px !important;
  padding: 11px 16px !important;
  border-left: 4px solid #4a8c5c !important;
  background: #f8f4ed !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}

body .stp-delivery-page .stp-delivery-form-table,
body .stp-delivery-page .customer_form {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 0 18px !important;
  background: transparent !important;
}

body .stp-delivery-page .stp-delivery-form-table tr,
body .stp-delivery-page .customer_form tr {
  border-bottom: 1px solid #e5dfd4 !important;
}

body .stp-delivery-page .stp-delivery-form-table th,
body .stp-delivery-page .stp-delivery-form-table td,
body .stp-delivery-page .customer_form th,
body .stp-delivery-page .customer_form td {
  padding: 13px 14px !important;
  border-bottom: 1px solid #e5dfd4 !important;
  vertical-align: top !important;
  color: #555 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

body .stp-delivery-page .stp-delivery-form-table th,
body .stp-delivery-page .customer_form th {
  width: 170px !important;
  font-weight: 700 !important;
  text-align: left !important;
  background: transparent !important;
}

body .stp-delivery-page .stp-delivery-form-table th em,
body .stp-delivery-page .customer_form th em,
body .stp-delivery-page .stp-required-badge {
  display: inline-block !important;
  min-width: 34px !important;
  margin-right: 7px !important;
  padding: 3px 7px !important;
  background: #c9171d !important;
  color: #fff !important;
  font-style: normal !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  letter-spacing: .04em !important;
  vertical-align: 1px !important;
}

body .stp-delivery-page .stp-delivery-form-table input[type="text"],
body .stp-delivery-page .stp-delivery-form-table input[type="email"],
body .stp-delivery-page .stp-delivery-form-table input[type="tel"],
body .stp-delivery-page .stp-delivery-form-table select,
body .stp-delivery-page .stp-delivery-form-table textarea,
body .stp-delivery-page .customer_form input[type="text"],
body .stp-delivery-page .customer_form input[type="email"],
body .stp-delivery-page .customer_form input[type="tel"],
body .stp-delivery-page .customer_form select,
body .stp-delivery-page .customer_form textarea {
  display: inline-block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px !important;
  padding: 9px 12px !important;
  border: 1px solid #cfc8bf !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #333 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body .stp-delivery-page .stp-delivery-flag-table,
body .stp-delivery-page #delivery_flag {
  display: table !important;
  width: 100% !important;
}

body .stp-delivery-page .stp-delivery-flag-table td,
body .stp-delivery-page #delivery_flag td {
  padding: 17px 18px !important;
  border: 1px solid #e0d8cd !important;
  background: #fff !important;
}

body .stp-delivery-page .stp-delivery-radio {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

body .stp-delivery-page .stp-delivery-radio input[type="radio"] {
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  accent-color: #4a8c5c !important;
}

body .stp-delivery-page .stp-delivery-radio-note {
  margin: 4px 0 0 26px !important;
  color: #8a8178 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

body .stp-delivery-page #delivery_table[style*="display:none"] {
  display: none !important;
}

body .stp-delivery-page .stp-delivery-send {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin: 38px 0 0 !important;
  text-align: center !important;
}

body .stp-delivery-page .stp-delivery-send input,
body .stp-delivery-page .stp-delivery-send button {
  display: inline-block !important;
  min-width: 240px !important;
  padding: 15px 34px !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  cursor: pointer !important;
}

body .stp-delivery-page .stp-delivery-send input.to_confirm_button,
body .stp-delivery-page .stp-delivery-send .stp-checkout-primary-button {
  background: #c9171d !important;
  color: #fff !important;
}

body .stp-delivery-page .stp-delivery-send input.back_to_customer_button,
body .stp-delivery-page .stp-delivery-send .stp-checkout-secondary-button {
  min-width: 0 !important;
  background: transparent !important;
  color: #777 !important;
  text-decoration: underline !important;
}

body .stp-delivery-page .stp-checkout-summary {
  display: block !important;
  width: 300px !important;
  max-width: 300px !important;
  padding: 28px !important;
  background: #faf7f1 !important;
}

body .stp-delivery-page .stp-delivery-summary-items {
  margin: 0 0 18px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid #e2d9cd !important;
}

body .stp-delivery-page .stp-delivery-summary-item {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 0 10px !important;
}

body .stp-delivery-page .stp-delivery-summary-item__thumb,
body .stp-delivery-page .stp-delivery-summary-item__thumb img {
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  object-fit: cover !important;
  background: #eee !important;
}

body .stp-delivery-page .stp-delivery-summary-item__name {
  margin: 0 0 2px !important;
  color: #333 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

body .stp-delivery-page .stp-delivery-summary-item__qty {
  margin: 0 !important;
  color: #8a8178 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

body .stp-delivery-page .stp-delivery-summary-item__price {
  white-space: nowrap !important;
  color: #333 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  body .stp-delivery-page .stp-checkout-layout,
  body.stp-welcart-cart .stp-delivery-page .stp-checkout-layout { display: block !important; }
  body .stp-delivery-page .stp-checkout-summary { width: 100% !important; max-width: none !important; margin-top: 32px !important; }
}

@media (max-width: 700px) {
  body .stp-delivery-page .stp-delivery-form-table,
  body .stp-delivery-page .stp-delivery-form-table tbody,
  body .stp-delivery-page .stp-delivery-form-table tr,
  body .stp-delivery-page .stp-delivery-form-table th,
  body .stp-delivery-page .stp-delivery-form-table td,
  body .stp-delivery-page .customer_form,
  body .stp-delivery-page .customer_form tbody,
  body .stp-delivery-page .customer_form tr,
  body .stp-delivery-page .customer_form th,
  body .stp-delivery-page .customer_form td {
    display: block !important;
    width: 100% !important;
  }
  body .stp-delivery-page .stp-delivery-form-table th,
  body .stp-delivery-page .customer_form th { padding-bottom: 5px !important; border-bottom: 0 !important; }
  body .stp-delivery-page .stp-delivery-form-table td,
  body .stp-delivery-page .customer_form td { padding-top: 0 !important; }
  body .stp-delivery-page .stp-delivery-send input { width: 100% !important; }
}

/* v0.61: Delivery page - preview parity, keep Welcart fields alive */
body .stp-delivery-page .p-cart-layout.stp-delivery-layout,
body .stp-delivery-page .stp-checkout-layout.stp-delivery-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 36px !important;
  align-items: start !important;
  max-width: 100% !important;
}

body .stp-delivery-page .p-cart-form,
body .stp-delivery-page .stp-delivery-form {
  width: 100% !important;
  max-width: none !important;
}

body .stp-delivery-page .p-cart-form__section,
body .stp-delivery-page .stp-delivery-section {
  margin: 0 0 34px !important;
}

body .stp-delivery-page .p-cart-form__section-title,
body .stp-delivery-page .stp-checkout-section-title {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 11px 16px !important;
  background: #f8f4ed !important;
  border-left: 4px solid #4a8c5c !important;
  color: #333 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.6 !important;
}

body .stp-delivery-page .p-cart-form__radio-group,
body .stp-delivery-page .stp-delivery-radio-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
}

body .stp-delivery-page .p-cart-form__radio,
body .stp-delivery-page .stp-delivery-radio-card {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 16px 18px !important;
  border: 1px solid #ded6cb !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

body .stp-delivery-page .p-cart-form__radio input[type="radio"] {
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 4px 0 0 !important;
  accent-color: #4a8c5c !important;
}

body .stp-delivery-page .p-cart-form__radio-text {
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body .stp-delivery-page .p-cart-form__radio-sub {
  display: inline-block !important;
  margin-top: 2px !important;
  color: #8a8178 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body .stp-delivery-page #deliveryForm[style*="display:none"] {
  display: none !important;
}

body .stp-delivery-page #delivery_table,
body .stp-delivery-page #delivery_table tbody,
body .stp-delivery-page #delivery_table tr,
body .stp-delivery-page #delivery_table th,
body .stp-delivery-page #delivery_table td {
  box-sizing: border-box !important;
}

body .stp-delivery-page #delivery_table {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 12px !important;
  background: transparent !important;
}

body .stp-delivery-page #delivery_table tr {
  border: 0 !important;
}

body .stp-delivery-page #delivery_table th,
body .stp-delivery-page #delivery_table td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body .stp-delivery-page #delivery_table th {
  margin: 0 0 6px !important;
  color: #555 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body .stp-delivery-page .p-cart-form__row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin: 0 0 18px !important;
}

body .stp-delivery-page .p-cart-form__field {
  flex: 1 1 220px !important;
  min-width: 0 !important;
}

body .stp-delivery-page .p-cart-form__label {
  display: block !important;
  margin: 0 0 7px !important;
  color: #555 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

body .stp-delivery-page .p-cart-form__hint {
  margin: 6px 0 0 !important;
  color: #999 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}

body .stp-delivery-page input[type="text"],
body .stp-delivery-page input[type="email"],
body .stp-delivery-page input[type="tel"],
body .stp-delivery-page input[type="date"],
body .stp-delivery-page select,
body .stp-delivery-page textarea {
  max-width: 100% !important;
  min-height: 42px !important;
  padding: 9px 12px !important;
  border: 1px solid #cfc8bf !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #333 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body .stp-delivery-page .stp-delivery-date-row input,
body .stp-delivery-page .stp-delivery-date-row select {
  width: 220px !important;
}

body .stp-delivery-page .stp-delivery-time-row select,
body .stp-delivery-page .stp-delivery-time-row input {
  width: 280px !important;
}

body .stp-delivery-page .stp-delivery-method-hidden,
body .stp-delivery-page .stp-delivery-payment-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body .stp-delivery-page .stp-delivery-send {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 15px !important;
  margin: 40px 0 0 !important;
  text-align: center !important;
}

body .stp-delivery-page .stp-delivery-send .to_confirm_button,
body .stp-delivery-page .stp-delivery-send .stp-checkout-primary-button,
body .stp-delivery-page .stp-delivery-send .p-cart-form__submit {
  display: block !important;
  width: 240px !important;
  min-width: 240px !important;
  margin: 0 auto !important;
  padding: 15px 20px !important;
  border: 0 !important;
  background: #c9171d !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  cursor: pointer !important;
}

body .stp-delivery-page .stp-delivery-send .back_to_customer_button,
body .stp-delivery-page .stp-delivery-send .stp-checkout-secondary-button {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #777 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: underline !important;
}

body .stp-delivery-page .p-cart-summary,
body .stp-delivery-page .stp-checkout-summary {
  width: 300px !important;
  max-width: 300px !important;
  padding: 28px !important;
  background: #faf7f1 !important;
  position: static !important;
}

@media (max-width: 900px) {
  body .stp-delivery-page .p-cart-layout.stp-delivery-layout,
  body .stp-delivery-page .stp-checkout-layout.stp-delivery-layout {
    display: block !important;
  }
  body .stp-delivery-page .p-cart-summary,
  body .stp-delivery-page .stp-checkout-summary {
    width: 100% !important;
    max-width: none !important;
    margin-top: 32px !important;
  }
}

/* v0.62: Delivery separate-address fallback form visibility and layout */
body .stp-delivery-page #deliveryForm {
  display: block;
}
body .stp-delivery-page #deliveryForm[style*="display:none"] {
  display: none !important;
}
body .stp-delivery-page #delivery_table .stp-delivery-mini-label {
  display: block !important;
  margin: 0 0 5px !important;
  color: #777 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
body .stp-delivery-page #delivery_table tr.inp1,
body .stp-delivery-page #delivery_table tr.stp-delivery-name-row,
body .stp-delivery-page #delivery_table tr.stp-delivery-kana-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 16px !important;
  margin: 0 0 14px !important;
}
body .stp-delivery-page #delivery_table tr.inp1 th,
body .stp-delivery-page #delivery_table tr.stp-delivery-name-row th,
body .stp-delivery-page #delivery_table tr.stp-delivery-kana-row th {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 0 6px !important;
}
body .stp-delivery-page #delivery_table tr.inp1 td,
body .stp-delivery-page #delivery_table tr.stp-delivery-name-row td,
body .stp-delivery-page #delivery_table tr.stp-delivery-kana-row td {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
}
body .stp-delivery-page #delivery_table input,
body .stp-delivery-page #delivery_table select {
  width: 100% !important;
  max-width: none !important;
}
body .stp-delivery-page #delivery_table #delivery_zipcode,
body .stp-delivery-page #delivery_table input[name="delivery[zipcode]"] {
  max-width: 220px !important;
}
body .stp-delivery-page #delivery_table #delivery_pref,
body .stp-delivery-page #delivery_table select[name="delivery[pref]"] {
  max-width: 240px !important;
}
body .stp-delivery-page #delivery_table .stp-required-badge,
body .stp-delivery-page #delivery_table th em {
  display: inline-block !important;
  margin-right: 6px !important;
  padding: 3px 7px !important;
  background: #c4171b !important;
  color: #fff !important;
  font-size: 11px !important;
  font-style: normal !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
@media (max-width: 767px) {
  body .stp-delivery-page #delivery_table tr.inp1,
  body .stp-delivery-page #delivery_table tr.stp-delivery-name-row,
  body .stp-delivery-page #delivery_table tr.stp-delivery-kana-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

/* ===== v0.63 Delivery plugin-first reset =====
   Delivery画面はWelcart標準の delivery table / addressform / delivery date / payment method を優先。
   以前のカスタム補完フォーム用の強制display/グリッド指定をこのページだけリセットする。
*/
body .stp-delivery-page-v063 .stp-checkout-layout,
body.stp-welcart-cart .stp-delivery-page-v063 .stp-checkout-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 36px !important;
  align-items: start !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}
body .stp-delivery-page-v063 .stp-checkout-main {
  min-width: 0 !important;
}
body .stp-delivery-page-v063 .stp-delivery-section {
  margin: 0 0 28px !important;
}
body .stp-delivery-page-v063 .stp-checkout-section-title {
  margin: 0 0 16px !important;
  padding: 12px 16px !important;
  background: #f8f5ee !important;
  border-left: 4px solid #4a8c5c !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}
body .stp-delivery-page-v063 .customer_form {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid #e4ded4 !important;
}
body .stp-delivery-page-v063 .customer_form tr {
  display: table-row !important;
  border: 0 !important;
}
body .stp-delivery-page-v063 .customer_form th,
body .stp-delivery-page-v063 .customer_form td {
  display: table-cell !important;
  border: 1px solid #e4ded4 !important;
  padding: 14px 16px !important;
  vertical-align: top !important;
  background: #fff !important;
}
body .stp-delivery-page-v063 .customer_form th {
  width: 150px !important;
  background: #faf8f4 !important;
  font-weight: 700 !important;
  color: #333 !important;
  white-space: nowrap !important;
}
body .stp-delivery-page-v063 .stp-delivery-flag-table {
  border: 0 !important;
  background: transparent !important;
}
body .stp-delivery-page-v063 .stp-delivery-flag-table td {
  border: 1px solid #e4ded4 !important;
  padding: 0 !important;
  background: #fff !important;
}
body .stp-delivery-page-v063 .stp-delivery-radio-card {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 16px 18px !important;
  cursor: pointer !important;
  line-height: 1.7 !important;
}
body .stp-delivery-page-v063 .stp-delivery-radio-card input[type="radio"] {
  width: auto !important;
  min-width: 0 !important;
  margin-top: .45em !important;
  accent-color: #4a8c5c !important;
}
body .stp-delivery-page-v063 .p-cart-form__radio-text {
  font-weight: 700 !important;
  color: #333 !important;
}
body .stp-delivery-page-v063 .p-cart-form__radio-sub {
  color: #999 !important;
  font-size: 13px !important;
}
body .stp-delivery-page-v063 #delivery_table[style*="display:none"],
body .stp-delivery-page-v063 #delivery_table[style*="display: none"] {
  display: none !important;
}
body .stp-delivery-page-v063 #delivery_table:not([style*="display:none"]):not([style*="display: none"]) {
  display: table !important;
}
body .stp-delivery-page-v063 input[type="text"],
body .stp-delivery-page-v063 input[type="email"],
body .stp-delivery-page-v063 input[type="tel"],
body .stp-delivery-page-v063 input[type="date"],
body .stp-delivery-page-v063 select,
body .stp-delivery-page-v063 textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 38px !important;
  border: 1px solid #ccc !important;
  background: #fff !important;
  color: #333 !important;
  padding: 8px 10px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body .stp-delivery-page-v063 #time select,
body .stp-delivery-page-v063 #time input {
  max-width: 260px !important;
}
body .stp-delivery-page-v063 textarea.notes {
  min-height: 120px !important;
}
body .stp-delivery-page-v063 .stp-required-badge,
body .stp-delivery-page-v063 .customer_form th em {
  display: inline-block !important;
  margin-right: 6px !important;
  padding: 3px 7px !important;
  background: #c4171b !important;
  color: #fff !important;
  font-style: normal !important;
  font-size: 12px !important;
  line-height: 1 !important;
  border-radius: 1px !important;
}
body .stp-delivery-page-v063 .stp-delivery-send {
  margin: 34px 0 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 14px !important;
}
body .stp-delivery-page-v063 .stp-delivery-send input.to_confirm_button {
  width: 280px !important;
  max-width: 100% !important;
  padding: 16px 28px !important;
  background: #c4171b !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}
body .stp-delivery-page-v063 .stp-delivery-send input.back_to_customer_button {
  width: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #888 !important;
  text-decoration: underline !important;
  box-shadow: none !important;
}
body .stp-delivery-page-v063 .stp-checkout-summary {
  width: 300px !important;
  max-width: 300px !important;
  background: #f8f5ee !important;
  padding: 28px !important;
  border-radius: 0 !important;
  position: sticky !important;
  top: 92px !important;
}
body .stp-delivery-page-v063 .stp-delivery-summary-item {
  display: grid !important;
  grid-template-columns: 54px 1fr auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 0 0 12px !important;
  margin: 0 0 12px !important;
  border-bottom: 1px solid #e4ded4 !important;
}
body .stp-delivery-page-v063 .stp-delivery-summary-item__thumb,
body .stp-delivery-page-v063 .stp-delivery-summary-item__thumb img {
  width: 54px !important;
  height: 54px !important;
  object-fit: cover !important;
  display: block !important;
}
body .stp-delivery-page-v063 .stp-delivery-summary-item__name {
  margin: 0 !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  font-size: 13px !important;
}
body .stp-delivery-page-v063 .stp-delivery-summary-item__qty {
  margin: 2px 0 0 !important;
  color: #999 !important;
  font-size: 12px !important;
}
body .stp-delivery-page-v063 .stp-delivery-summary-item__price {
  font-size: 12px !important;
  white-space: nowrap !important;
}
@media (max-width: 900px) {
  body .stp-delivery-page-v063 .stp-checkout-layout,
  body.stp-welcart-cart .stp-delivery-page-v063 .stp-checkout-layout {
    display: block !important;
    max-width: 100% !important;
  }
  body .stp-delivery-page-v063 .stp-checkout-summary {
    width: 100% !important;
    max-width: none !important;
    margin-top: 32px !important;
    position: static !important;
  }
}
@media (max-width: 640px) {
  body .stp-delivery-page-v063 .customer_form,
  body .stp-delivery-page-v063 .customer_form tbody,
  body .stp-delivery-page-v063 .customer_form tr,
  body .stp-delivery-page-v063 .customer_form th,
  body .stp-delivery-page-v063 .customer_form td {
    display: block !important;
    width: 100% !important;
  }
  body .stp-delivery-page-v063 .customer_form th {
    border-bottom: 0 !important;
  }
  body .stp-delivery-page-v063 .customer_form td {
    border-top: 0 !important;
  }
  body .stp-delivery-page-v063 .stp-delivery-send input.to_confirm_button {
    width: 100% !important;
  }
}

/* v0.66: Delivery address form border cleanup
   Keep Welcart standard fields, remove the table-like outer frame and grid lines. */
body .stp-delivery-page .stp-delivery-address-form .customer_form,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table {
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .stp-delivery-page .stp-delivery-address-form .customer_form tbody,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table tbody,
body .stp-delivery-page .stp-delivery-address-form .customer_form tr,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table tr,
body .stp-delivery-page .stp-delivery-address-form .customer_form th,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table th,
body .stp-delivery-page .stp-delivery-address-form .customer_form td,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table td {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .stp-delivery-page .stp-delivery-address-form .customer_form tr,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table tr {
  border-bottom: 0 !important;
}

body .stp-delivery-page .stp-delivery-address-form .customer_form th,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table th {
  padding: 0 0 6px !important;
  width: auto !important;
  color: #333 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

body .stp-delivery-page .stp-delivery-address-form .customer_form td,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table td {
  padding: 0 0 14px !important;
}

body .stp-delivery-page .stp-delivery-address-form .customer_form input[type="text"],
body .stp-delivery-page .stp-delivery-address-form .customer_form input[type="email"],
body .stp-delivery-page .stp-delivery-address-form .customer_form input[type="tel"],
body .stp-delivery-page .stp-delivery-address-form .customer_form select,
body .stp-delivery-page .stp-delivery-address-form .customer_form textarea,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table input[type="text"],
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table input[type="email"],
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table input[type="tel"],
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table select,
body .stp-delivery-page .stp-delivery-address-form .stp-delivery-form-table textarea {
  border: 1px solid #cfc8bf !important;
  background: #fff !important;
}

/* v0.67: checkout sidebar product rows - prevent image/text overlap and use stable columns */
body .stp-checkout-summary .stp-delivery-summary-items,
body .stp-checkout-summary .stp-customer-summary-items {
  margin: 0 0 18px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid #e4ded4 !important;
}

body .stp-checkout-summary .stp-delivery-summary-item,
body .stp-checkout-summary .stp-customer-summary-item {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) 58px !important;
  column-gap: 10px !important;
  row-gap: 2px !important;
  align-items: start !important;
  width: 100% !important;
  padding: 0 0 12px !important;
  margin: 0 0 12px !important;
  border-bottom: 1px solid #e4ded4 !important;
}

body .stp-checkout-summary .stp-delivery-summary-item:last-child,
body .stp-checkout-summary .stp-customer-summary-item:last-child {
  margin-bottom: 0 !important;
  border-bottom: none !important;
}

body .stp-checkout-summary .stp-delivery-summary-item__thumb,
body .stp-checkout-summary .stp-delivery-summary-item__thumb img,
body .stp-checkout-summary .stp-customer-summary-item__thumb,
body .stp-checkout-summary .stp-customer-summary-item__thumb img {
  display: block !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  object-fit: cover !important;
  overflow: hidden !important;
  background: #eee !important;
}

body .stp-checkout-summary .stp-delivery-summary-item__thumb,
body .stp-checkout-summary .stp-customer-summary-item__thumb {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
}

body .stp-checkout-summary .stp-delivery-summary-item__body,
body .stp-checkout-summary .stp-customer-summary-item__body {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
}

body .stp-checkout-summary .stp-delivery-summary-item__name,
body .stp-checkout-summary .stp-customer-summary-item__name {
  display: block !important;
  margin: 0 0 2px !important;
  color: #333 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: .02em !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

body .stp-checkout-summary .stp-delivery-summary-item__qty,
body .stp-checkout-summary .stp-customer-summary-item__qty {
  display: block !important;
  margin: 2px 0 0 !important;
  color: #8a8178 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

body .stp-checkout-summary .stp-delivery-summary-item__price,
body .stp-checkout-summary .stp-customer-summary-item__price {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: start !important;
  min-width: 58px !important;
  color: #333 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  body .stp-checkout-summary .stp-delivery-summary-item,
  body .stp-checkout-summary .stp-customer-summary-item {
    grid-template-columns: 54px minmax(0, 1fr) 64px !important;
  }
}

/* v0.69: Confirm page preview layout */
body .stp-confirm-page .stp-checkout__container {
  max-width: 920px !important;
}
body .stp-confirm-box {
  max-width: 680px !important;
  margin: 0 auto !important;
}
body .stp-confirm-section {
  margin: 0 0 36px !important;
  border: 1px solid #eee8df !important;
  background: #fffdf9 !important;
}
body .stp-confirm-section__head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 20px !important;
  background: #f8f4ee !important;
  border-bottom: 1px solid #eee8df !important;
}
body .stp-confirm-section__head h2 {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}
body .stp-confirm-section__head a {
  color: #8a8178 !important;
  font-size: 13px !important;
  text-decoration: underline !important;
}
body .stp-confirm-products__table {
  padding: 20px 18px 12px !important;
}
body .stp-confirm-products__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 96px 58px 96px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #eee8df !important;
}
body .stp-confirm-products__row--head {
  padding-top: 0 !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
body .stp-confirm-product {
  display: grid !important;
  grid-template-columns: 68px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  align-items: center !important;
  min-width: 0 !important;
}
body .stp-confirm-product__thumb,
body .stp-confirm-product__thumb img {
  width: 68px !important;
  height: 68px !important;
  display: block !important;
  object-fit: cover !important;
  background: #eee !important;
}
body .stp-confirm-product__body {
  display: block !important;
  min-width: 0 !important;
}
body .stp-confirm-product__name {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  overflow-wrap: anywhere !important;
}
body .stp-confirm-product__sku {
  display: block !important;
  margin-top: 4px !important;
  color: #8a8178 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
body .stp-confirm-products__price,
body .stp-confirm-products__qty,
body .stp-confirm-products__subtotal {
  font-size: 14px !important;
  text-align: right !important;
  white-space: nowrap !important;
}
body .stp-confirm-products__subtotal {
  font-weight: 700 !important;
}
body .stp-confirm-dl {
  margin: 0 !important;
  padding: 12px 20px !important;
}
body .stp-confirm-dl > div {
  display: grid !important;
  grid-template-columns: 130px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid #eee8df !important;
}
body .stp-confirm-dl > div:last-child {
  border-bottom: 0 !important;
}
body .stp-confirm-dl dt {
  color: #7f766c !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
body .stp-confirm-dl dd {
  margin: 0 !important;
  color: #333 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  overflow-wrap: anywhere !important;
}
body .stp-confirm-total {
  margin: 0 0 36px !important;
  padding: 24px 20px !important;
  background: #f8f4ee !important;
}
body .stp-confirm-total__row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid #e3dbcf !important;
  font-size: 14px !important;
}
body .stp-confirm-total__row strong {
  font-weight: 700 !important;
  white-space: nowrap !important;
}
body .stp-confirm-total__row--grand {
  padding-top: 15px !important;
  border-bottom: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}
body .stp-confirm-agree {
  margin: 0 0 30px !important;
  text-align: center !important;
  color: #666 !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
}
body .stp-confirm-agree a {
  color: #c4171b !important;
  text-decoration: underline !important;
}
body .stp-confirm-actions {
  text-align: center !important;
  margin: 0 0 30px !important;
}
body .stp-confirm-actions form,
body .stp-confirm-actions .send {
  margin: 0 !important;
}
body .stp-confirm-actions input[type="submit"],
body .stp-confirm-actions button,
body .stp-confirm-actions .to_order_button,
body .stp-confirm-actions .checkout_button {
  display: inline-block !important;
  min-width: 320px !important;
  max-width: 100% !important;
  padding: 16px 40px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #c4171b !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  cursor: pointer !important;
}
body .stp-confirm-actions input[type="submit"]:hover,
body .stp-confirm-actions button:hover {
  background: #a0131a !important;
}
body .stp-confirm-back {
  display: inline-block !important;
  margin-top: 18px !important;
  color: #8a8178 !important;
  font-size: 13px !important;
  text-decoration: underline !important;
}
@media (max-width: 767px) {
  body .stp-confirm-box {
    max-width: none !important;
  }
  body .stp-confirm-products__row {
    grid-template-columns: minmax(0, 1fr) 72px 42px 76px !important;
    gap: 8px !important;
  }
  body .stp-confirm-product {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }
  body .stp-confirm-product__thumb,
  body .stp-confirm-product__thumb img {
    width: 52px !important;
    height: 52px !important;
  }
  body .stp-confirm-product__name,
  body .stp-confirm-products__price,
  body .stp-confirm-products__qty,
  body .stp-confirm-products__subtotal,
  body .stp-confirm-dl dt,
  body .stp-confirm-dl dd {
    font-size: 12px !important;
  }
  body .stp-confirm-dl > div {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  body .stp-confirm-actions input[type="submit"],
  body .stp-confirm-actions button,
  body .stp-confirm-actions .to_order_button,
  body .stp-confirm-actions .checkout_button {
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* v0.72: move payment/note from Customer Info to Delivery, and stabilize separate-address toggle */
body .stp-customer-page .stp-customer-payment-section,
body .stp-customer-page .stp-customer-note-section {
  display: none !important;
}

body .stp-delivery-page #deliveryForm[hidden],
body .stp-delivery-page #deliveryForm[aria-hidden="true"] {
  display: none !important;
}
body .stp-delivery-page #deliveryForm[aria-hidden="false"] {
  display: block !important;
}

body .stp-delivery-page .stp-delivery-payment-section,
body .stp-delivery-page .stp-delivery-note-section {
  margin: 34px 0 0 !important;
}

body .stp-delivery-page .stp-delivery-payment-box {
  width: 100% !important;
  padding: 0 !important;
}

body .stp-delivery-page .stp-delivery-payment-box label,
body .stp-delivery-page .stp-delivery-payment-box li,
body .stp-delivery-page .stp-delivery-payment-box .stp-delivery-radio-card {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 17px 18px !important;
  border: 1px solid #e0d8cd !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  box-sizing: border-box !important;
}

body .stp-delivery-page .stp-delivery-payment-box input[type="radio"] {
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 4px 0 0 !important;
  accent-color: #4a8c5c !important;
}

body .stp-delivery-page .stp-delivery-note-label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #555 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
}

body .stp-delivery-page textarea.stp-delivery-note,
body .stp-delivery-page textarea.notes.stp-delivery-note {
  display: block !important;
  width: 100% !important;
  min-height: 118px !important;
  padding: 12px 14px !important;
  border: 1px solid #cfc8bf !important;
  background: #fff !important;
  color: #333 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}

body .stp-delivery-page textarea.stp-delivery-note::placeholder {
  color: #aaa !important;
  opacity: 1 !important;
}

/* v0.73: cart cleanup */
body.stp-welcart-cart .header_explanation,
body.stp-welcart-cart .stp-checkout__notice,
body.stp-welcart-cart #wc_cart .header_explanation,
body.stp-welcart-cart .stp-cart-update__text,
body.stp-welcart-cart #cart .upbutton,
body.stp-welcart-cart #wc_cart #cart .upbutton {
  display: none !important;
}

body.stp-welcart-cart .stp-cart-visual__remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #b9afa4 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
body.stp-welcart-cart .stp-cart-visual__remove:hover {
  color: #c4171b !important;
}

/* =============================================================
   v0.75: Completion page preview layout
   Scope: completion page only. Welcart completion hooks are kept.
   ============================================================= */
body .stp-completion-page .stp-checkout__container {
  width: min(calc(100% - 150px), 1000px) !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 0 0 88px !important;
  box-sizing: border-box !important;
}

body .stp-completion-page .stp-completion {
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

body .stp-completion-page .stp-completion__hidden-hooks {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
}

body .stp-completion-page .stp-completion__notice {
  max-width: 700px !important;
  margin: 0 auto 54px !important;
  text-align: left !important;
}

body .stp-completion-page .stp-completion__hero {
  margin: 0 auto 44px !important;
  text-align: center !important;
}

body .stp-completion-page .stp-completion__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 54px !important;
  margin: 0 auto 22px !important;
  font-size: 34px !important;
  line-height: 1 !important;
}

body .stp-completion-page .stp-completion__hero h2 {
  margin: 0 0 18px !important;
  color: #333 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  line-height: 1.6 !important;
}

body .stp-completion-page .stp-completion__hero p {
  margin: 0 !important;
  color: #666 !important;
  font-size: 14px !important;
  line-height: 2 !important;
  letter-spacing: .04em !important;
}

body .stp-completion-page .stp-completion__body {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 38px !important;
  align-items: start !important;
  max-width: 720px !important;
  margin: 0 auto 54px !important;
  text-align: left !important;
}

body .stp-completion-page .stp-completion__summary {
  margin: 0 !important;
  padding: 24px 26px !important;
  background: #faf7f1 !important;
  border: 0 !important;
}

body .stp-completion-page .stp-completion__summary > div {
  display: grid !important;
  grid-template-columns: 110px 1fr !important;
  gap: 12px !important;
  align-items: baseline !important;
  margin: 0 0 13px !important;
  padding: 0 !important;
  border: 0 !important;
}

body .stp-completion-page .stp-completion__summary > div:last-child {
  margin-bottom: 0 !important;
}

body .stp-completion-page .stp-completion__summary dt,
body .stp-completion-page .stp-completion__summary dd {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

body .stp-completion-page .stp-completion__summary dt {
  color: #777 !important;
  font-weight: 700 !important;
}

body .stp-completion-page .stp-completion__summary dd {
  color: #333 !important;
  text-align: right !important;
}

body .stp-completion-page .stp-completion__info {
  color: #555 !important;
  font-size: 14px !important;
  line-height: 2 !important;
}

body .stp-completion-page .stp-completion__info h3 {
  margin: 0 0 12px !important;
  color: #333 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}

body .stp-completion-page .stp-completion__info p {
  margin: 0 0 22px !important;
}

body .stp-completion-page .stp-completion__info p:last-child {
  margin-bottom: 0 !important;
}

body .stp-completion-page .stp-completion__info a {
  color: #c4171b !important;
  text-decoration: none !important;
}

body .stp-completion-page .stp-completion__actions {
  display: flex !important;
  justify-content: center !important;
  gap: 18px !important;
  margin: 0 auto !important;
}

body .stp-completion-page .stp-completion__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 220px !important;
  min-height: 52px !important;
  padding: 14px 28px !important;
  border: 1px solid #333 !important;
  background: transparent !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: .2s ease !important;
  box-sizing: border-box !important;
}

body .stp-completion-page .stp-completion__btn:hover {
  background: #333 !important;
  color: #fff !important;
}

body .stp-completion-page .stp-completion__btn--outline {
  min-width: 160px !important;
}

body .stp-completion-page #cart_completion h3,
body .stp-completion-page #cart_completion .header_explanation,
body .stp-completion-page #cart_completion .footer_explanation,
body .stp-completion-page #cart_completion .send {
  display: none !important;
}

@media (max-width: 900px) {
  body .stp-completion-page .stp-checkout__container {
    width: min(calc(100% - 36px), 1000px) !important;
  }
  body .stp-completion-page .stp-completion__body {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body .stp-completion-page .stp-completion__summary dd {
    text-align: left !important;
  }
  body .stp-completion-page .stp-completion__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    max-width: 320px !important;
  }
  body .stp-completion-page .stp-completion__btn,
  body .stp-completion-page .stp-completion__btn--outline {
    width: 100% !important;
    min-width: 0 !important;
  }
}
