/* =========================================================
   Welcart e-Commerce 用スタイル
   Welcart 標準テンプレート／Welcart Basic 系テンプレートの両方の主なクラスに対応
   ========================================================= */

/* ---------- 共通：Welcart のボタン ---------- */
#itempage input[type="submit"],
#itempage .skubutton,
.skubutton,
#cart .send input,
#cart input[type="submit"],
#cart input[type="button"],
#memberpages input[type="submit"],
#memberpages input[type="button"],
#loginform input[type="submit"],
.usces_login_form input[type="submit"],
.send input,
.member-page input[type="submit"],
.cart-page input[type="submit"],
.cart-page input[type="button"] {
	display: inline-block;
	padding: 12px 26px;
	font-family: inherit;
	font-weight: 900;
	font-size: 1rem;
	line-height: 1.3;
	color: #fff;
	background: var(--red);
	border: 0;
	border-radius: 0;
	cursor: pointer;
	box-shadow:
		0 0 0 4px var(--ink),
		inset 0 -5px 0 var(--red-d),
		0 9px 0 3px rgba(35, 23, 15, .2);
	margin: 6px;
	-webkit-appearance: none;
	appearance: none;
}
#itempage input[type="submit"]:hover,
.skubutton:hover,
.send input:hover { filter: brightness(1.08); }

/* 戻る系のボタンは白 */
.send .back_cart_button,
.send .back_to_customer_button,
.send .back_to_delivery_button,
.send .continue_shopping_button,
.send .back_button,
#cart .upbutton input,
.upbutton input,
.delButton,
input.delButton {
	color: var(--ink) !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px var(--ink), inset 0 -4px 0 #d9d2c4 !important;
}
input.delButton { padding: 4px 10px !important; font-size: .8rem !important; }

.send {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 32px 0 8px;
	padding: 0;
	text-align: center;
}

/* ---------- 商品詳細 ---------- */
.dh-entry--item .entry-content h2 { margin-top: 1.6em; }

#itempage,
.item-info,
.item-description { font-size: .98rem; }

#itempage .itemimg,
.itemimg {
	margin: 0 0 16px;
	padding: 12px;
	text-align: center;
	background: #fff;
	box-shadow: 0 0 0 3px var(--ink);
}
#itempage .itemimg img,
.itemimg img { max-height: 520px; width: auto; }

#itempage .itemsubimg,
.itemsubimg {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 24px;
}
.itemsubimg a { display: block; width: 88px; box-shadow: 0 0 0 2px var(--ink); background: #fff; }
.itemsubimg img { display: block; width: 100%; height: 88px; object-fit: cover; }
.itemsubimg a:hover { box-shadow: 0 0 0 3px var(--red); }

#itempage h3,
.item-name {
	font-size: 1.35rem;
	font-weight: 900;
}
.itemcode,
#itempage .itemcode,
.field_code { font-family: var(--font-dot); color: var(--ink-soft); }

#itempage .exp,
.exp {
	margin: 20px 0;
	padding: 20px 22px;
	background: #fff;
	box-shadow: 0 0 0 3px var(--ink);
}

#itempage .field,
.field,
.skuform .field { margin: 8px 0; }

.field_price,
.itemprice,
#itempage .field_price {
	font-size: 1.9rem;
	font-weight: 900;
	color: var(--red);
	line-height: 1.3;
}
.field_price em,
.tax,
.itemprice em { font-size: .5em; font-style: normal; color: var(--ink-soft); }
.field_cprice,
.field_cprice .ss { text-decoration: line-through; color: #8a8173; }

.zaikostatus,
.field_zaiko,
.itemzaiko {
	display: inline-block;
	padding: 1px 12px;
	font-size: .85rem;
	font-weight: 800;
	color: #fff;
	background: var(--green);
	box-shadow: inset 0 -3px 0 var(--green-d);
}
.itemsoldout,
.field_soldout {
	display: inline-block;
	padding: 4px 16px;
	font-weight: 900;
	color: #fff;
	background: #555;
	box-shadow: 0 0 0 3px var(--ink);
}

.skuform,
#itempage .skuform,
.item-sku form,
form.skuform {
	margin: 24px 0;
	padding: 20px 22px;
	background: #fffaf0;
	box-shadow: 0 0 0 3px var(--ink), 0 8px 0 3px rgba(0, 0, 0, .12);
}
.skuform table,
.skumulti { width: 100%; border-collapse: collapse; background: #fff; }
.skuform th,
.skuform td,
.skumulti th,
.skumulti td { padding: 8px 10px; border: 2px solid var(--ink); }
.skuquantity,
input.skuquantity {
	width: 5em;
	text-align: center;
}
.item_option,
.iopt_select_multiple { margin: 8px 0; }
.item_option select { min-width: 12em; }

.error_message,
.usces_error,
#cart .error_message {
	margin: 12px 0;
	padding: 10px 14px;
	font-weight: 800;
	color: var(--red-d);
	background: #ffe7e8;
	box-shadow: 0 0 0 3px var(--red);
}

/* ---------- カート ---------- */
#cart,
.cart-page { font-size: .95rem; }

.cart_navi ul,
ul.cart_navi,
.cart_navi {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}
.cart_navi li {
	flex: 1;
	min-width: 120px;
	padding: 6px 10px;
	font-weight: 800;
	font-size: .85rem;
	text-align: center;
	background: #fff;
	box-shadow: 0 0 0 3px var(--ink);
}
.cart_navi li::before { display: none; }
.cart_navi li.current,
.cart_navi .current { color: #fff; background: var(--blue); }

#cart_table,
#cart table,
.cart_table,
#confirm_table,
.customer_form,
#delivery_table,
#memberinfo table,
.memberinfo table {
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0;
	background: #fff;
}
#cart_table th,
#cart_table td,
#confirm_table th,
#confirm_table td,
.customer_form th,
.customer_form td,
#delivery_table th,
#delivery_table td,
#memberinfo th,
#memberinfo td {
	padding: 10px 12px;
	border: 2px solid var(--ink);
	vertical-align: middle;
	text-align: left;
}
#cart_table thead th,
#confirm_table thead th { color: #fff; background: var(--blue); }
#cart_table th,
.customer_form th,
#confirm_table th,
#delivery_table th,
#memberinfo th { background: #ffe9c2; font-weight: 800; }
#cart_table .thumbnail img { width: 72px; height: auto; }
#cart_table .quantity input { width: 4.5em; text-align: center; }
#cart_table tfoot th,
#cart_table tfoot td,
#cart_table .amount { font-weight: 900; color: var(--red); }
.customer_form em,
.customer_form .em { font-style: normal; color: var(--red); font-weight: 900; }

.header_explanation,
.footer_explanation { margin: 12px 0; }

.no_cart,
#cart .no_cart {
	padding: 24px;
	font-weight: 800;
	text-align: center;
	background: #fff;
	box-shadow: 0 0 0 3px var(--ink);
}

/* ---------- 会員ページ ---------- */
#memberpages .loginbox,
.loginbox,
#loginform,
.usces_login_form {
	max-width: 520px;
	margin: 0 auto;
	padding: 24px 26px;
	background: #fff;
	box-shadow: 0 0 0 3px var(--ink), 0 8px 0 3px rgba(0, 0, 0, .12);
}
.loginbox label,
#loginform label { display: block; font-weight: 800; }
.loginbox input[type="text"],
.loginbox input[type="email"],
.loginbox input[type="password"],
#loginform input[type="text"],
#loginform input[type="password"] { width: calc(100% - 6px); }
.loginbox .new-entry,
.new-entry { margin-top: 20px; text-align: center; }

#memberinfo h3,
.member_submenu,
.history-area h3 { margin-top: 1.6em; }
.member_submenu { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.member_submenu li::before { display: none; }
.member_submenu a {
	display: inline-block;
	padding: 4px 14px;
	font-size: .88rem;
	text-decoration: none;
	color: var(--ink);
	background: #fff;
	box-shadow: 0 0 0 2px var(--ink);
}
.retail,
.history_head { width: 100%; border-collapse: collapse; }

/* ---------- 営業日カレンダー（ウィジェット） ---------- */
.businesscalendar,
.widget_welcart_calendar table,
.dh-widget .businesscalendar { width: 100%; background: #fff; }
.businesscalendar td.businessday,
.businessday { background: #ffd9db; color: var(--red-d); font-weight: 800; }
.businesscalendar td.businesstoday,
.businesstoday { box-shadow: inset 0 0 0 2px var(--blue); }
.businessdaymark { display: inline-block; width: 1em; height: 1em; background: #ffd9db; vertical-align: -2px; }

/* ---------- Welcart のウィジェット（カテゴリー・検索など） ---------- */
.widget_welcart_search input[type="text"] { width: calc(100% - 6px); }
.widget_welcart_login .loginbox { box-shadow: none; padding: 0; }
