/* Native WordPress, WooCommerce and CF7 controls; no replacement transaction logic. */
body.thecream-craft { background:var(--paper); color:var(--ink); font-family:var(--sans); }
.thecream-craft h1,.thecream-craft h2,.thecream-craft h3 { color:var(--ink); }
.thecream-craft a { color:inherit; }
.thecream-craft .brand { color:var(--burgundy); }
.thecream-craft a.button-primary,.thecream-craft button.button-primary { color:#fff; }
.thecream-craft .section-shell { margin-inline:auto; }
.thecream-craft .price { color:var(--ink); }
.thecream-craft .price .amount,.thecream-craft .price bdi { font-size:inherit; font-weight:inherit; }
.thecream-craft .price ins { text-decoration:none; background:none; }
.thecream-craft .price del { font-size:.8em; color:var(--muted); }
.thecream-craft .tax,.thecream-craft .tax_label { font-size:13px; }
.thecream-craft .tax_label { color:var(--muted); }
.thecream-craft figure { margin:0; }
.thecream-craft input,.thecream-craft textarea,.thecream-craft select { font-family:var(--sans); color:var(--ink); border-radius:0; box-shadow:none; }
.thecream-craft .cart-trigger { text-decoration:none; }
.thecream-craft .menu-trigger { border:0; box-shadow:none; color:var(--ink); background:none; font-weight:400; }
.thecream-craft .button { border-radius:0; }
.thecream-craft .site-footer .brand { color:var(--burgundy); }
.thecream-craft .wp-native-content { min-height:55vh; padding-top:45px; padding-bottom:80px; }
.wp-native-content > h1 { margin-bottom:32px; }
.wp-native-content > article { margin-bottom:32px; }
.wp-native-content a:not(.button,.remove,.woocommerce-LoopProduct-link) { text-underline-offset:4px; }
.woocommerce-notices-wrapper { margin:0 auto; width:min(1120px,calc(100% - 40px)); }
.woocommerce-notices-wrapper:empty { display:none; }
.woocommerce .woocommerce-notices-wrapper { width:100%; }
.woocommerce .woocommerce-message,.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-info {
  background:var(--soft); color:var(--ink); border-top:2px solid var(--burgundy); padding:18px 22px; margin:22px 0; font-size:16px; line-height:1.9; list-style:none;
}
.woocommerce-message::before,.woocommerce-error::before,.woocommerce-info::before { display:none; }
.woocommerce .woocommerce-message .button { margin-left:18px; }
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wpcf7 input[type=submit] {
  min-height:48px; border-radius:0; background:var(--burgundy); color:#fff; padding:13px 22px; border:1px solid var(--burgundy); font:500 16px/1.6 var(--sans); box-shadow:none; text-decoration:none; cursor:pointer;
}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.wpcf7 input[type=submit]:hover { color:#fff; background:var(--burgundy-dark); border-color:var(--burgundy-dark); }
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt { background:var(--burgundy); color:#fff; border-color:var(--burgundy); }
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover { background:var(--burgundy-dark); }
.thecream-craft .card-photo { position:relative; }
.stock-label { position:absolute; bottom:12px; left:12px; padding:4px 10px; background:var(--paper); font-size:13px; border:1px solid var(--line); color:var(--muted); }
.stock-message { font-size:14px; color:var(--burgundy); }
.unavailable-price { margin-top:24px; }
.woocommerce div.product.craft-product { margin-bottom:0; }
.woocommerce div.product.craft-product .product-purchase { margin-bottom:0; }
.thecream-craft .native-buy .stock { margin:0 0 12px; font-size:13px; color:var(--muted); }
.thecream-craft .native-buy .out-of-stock { color:var(--burgundy); font-size:16px; margin-block:18px; }
.thecream-craft .native-buy form.cart { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:end; gap:12px; margin:0; }
.thecream-craft .native-buy form.cart .quantity { float:none; margin:0; }
.thecream-craft .native-buy form.cart .quantity::before { content:"数量（セット）"; display:block; font-size:13px; color:var(--muted); margin-bottom:7px; }
.thecream-craft .native-buy input.qty { width:100%; padding:12px 8px; height:52px; min-height:52px; font-size:16px; border:1px solid #a7b0a8; background:white; text-align:center; }
.thecream-craft .native-buy .single_add_to_cart_button { min-height:52px; width:100%; float:none; background:var(--burgundy); color:#fff; border:1px solid var(--burgundy); border-radius:0; font-size:16px; padding-inline:12px; }
.thecream-craft .native-buy .single_add_to_cart_button:hover { background:var(--burgundy-dark); }
.purchase-final-note { font-size:13px; color:var(--muted); text-align:center; margin-top:13px; line-height:1.9; }
.purchase-totals dd { margin:0; }
.purchase-totals .tax_label { display:none; }
.thecream-craft .gallery-thumb { padding:0; border-radius:0; background:none; }
.thecream-craft .product-purchase .gallery-main img { float:none; width:100%; }
.thecream-craft .product-gallery { min-width:0; }
.woocommerce table.shop_table { border:1px solid var(--line); border-radius:0; border-collapse:collapse; font-size:16px; }
.woocommerce table.shop_table th { font-weight:500; padding:15px; background:var(--soft); }
.woocommerce table.shop_table td { padding:18px 15px; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.woocommerce table.shop_table .product-thumbnail { width:110px; min-width:95px; }
.woocommerce table.shop_table .product-thumbnail img { width:100px; max-width:100%; height:auto; object-fit:contain; }
.woocommerce table.shop_table .product-price,.woocommerce table.shop_table .product-subtotal { white-space:nowrap; }
.woocommerce table.shop_table a.remove { color:var(--muted)!important; font-size:21px; }
.woocommerce table.shop_table a.remove:hover { color:#fff!important; background:var(--burgundy); }
.woocommerce .shop_table .cart-pack-size { display:block; font-size:13px; color:var(--muted); margin-top:5px; }
.woocommerce #order_review .product-name .cart-pack-size { display:block; }
.woocommerce .quantity .qty { width:74px; min-height:44px; border:1px solid #a7b0a8; background:#fff; font-size:16px; padding:8px; }
.woocommerce-cart .wp-native-content > .woocommerce { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr); gap:24px 36px; align-items:start; }
.woocommerce-cart .woocommerce-notices-wrapper,.woocommerce-cart .cart-empty,.woocommerce-cart .return-to-shop { grid-column:1/-1; }
.woocommerce-cart .woocommerce-cart-form { min-width:0; }
.woocommerce-cart .cart-collaterals { width:auto; }
.woocommerce-cart .cart-collaterals .cart_totals { width:100%; float:none; }
.woocommerce-cart .cart_totals > h2 { font-size:22px; margin-bottom:20px; }
.woocommerce-cart table.cart td.actions { padding:18px 15px; }
.woocommerce-cart table.cart td.actions .coupon { display:flex; flex-wrap:wrap; gap:8px; }
.woocommerce-cart table.cart td.actions .input-text { width:145px; min-height:46px; padding:8px 12px; border-color:var(--line); font-size:16px; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { font-size:16px; }
.woocommerce-shipping-destination,.woocommerce-shipping-calculator,.woocommerce-shipping-totals { font-size:14px; }
.woocommerce .cart_totals small { font-size:13px; }
.woocommerce .order-total td { font-size:19px; }
.woocommerce .cart_totals .order-total th { white-space:nowrap; }
.woocommerce form.checkout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); grid-template-rows:min-content 1fr; gap:0 70px; align-items:start; }
.woocommerce form.checkout::before,.woocommerce form.checkout::after { display:none; }
.woocommerce form.checkout #customer_details { grid-column:1; grid-row:1 / span 2; width:100%; }
.woocommerce form.checkout #order_review_heading { grid-column:2; grid-row:1; margin-bottom:20px; font-size:22px; }
.woocommerce form.checkout #order_review { grid-column:2; grid-row:2; min-width:0; }
.thecream-craft.woocommerce-checkout form.checkout #customer_details.col2-set,
.thecream-craft.woocommerce-checkout form.checkout #order_review_heading,
.thecream-craft.woocommerce-checkout form.checkout #order_review {
  width:100%; float:none; margin-right:0; clear:none;
  /* Astra's :not() rule contains a second ID; reset its legacy box styling. */
  padding:0!important; border:0!important;
}
.thecream-craft.woocommerce-checkout form.checkout #order_review_heading { margin-bottom:20px; }
.thecream-craft.woocommerce-cart .cart-collaterals .cart_totals { border-color:var(--line); }
.woocommerce .woocommerce-checkout-review-order-table .amount { white-space:nowrap; }
.woocommerce form.checkout .col-1,.woocommerce form.checkout .col-2 { float:none; width:100%; }
.woocommerce form.checkout .col-2 { margin-top:32px; }
.woocommerce form.checkout h3 { font-family:var(--serif); font-size:22px; margin-bottom:23px; font-weight:500; }
.woocommerce form .form-row { padding:0; margin-bottom:19px; }
.woocommerce form .form-row label { font-size:16px; margin-bottom:7px; line-height:1.8; font-weight:400; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { border:1px solid #b5bdb5; background:white; padding:11px 12px; min-height:45px; font-size:16px; line-height:1.6; border-radius:0; }
.woocommerce .select2-container .select2-selection--single { border:1px solid #b5bdb5; background:#fff; border-radius:0; min-height:45px; padding:7px 4px; }
.woocommerce .select2-container .select2-selection__arrow { top:10px; }
.woocommerce form .form-row textarea { min-height:100px; }
.woocommerce form .form-row-first,.woocommerce form .form-row-last { width:48%; }
.woocommerce form .form-row .required { color:var(--burgundy); }
.woocommerce #payment { background:var(--soft); border-radius:0; font-size:16px; }
.woocommerce #payment ul.payment_methods { padding:20px; border-bottom:1px solid var(--line); }
.woocommerce #payment ul.payment_methods label { font-weight:400; line-height:1.8; }
.woocommerce #payment div.payment_box { background:#fff; color:var(--ink); padding:16px; border:1px solid var(--line); font-size:14px; }
.woocommerce #payment div.payment_box::before { display:none; }
.woocommerce #payment .payment_box iframe { max-width:100%; }
.woocommerce #payment div.form-row { padding:20px; }
.woocommerce #payment #place_order { float:none; width:100%; font-size:16px; margin-top:16px; }
.woocommerce #payment .woocommerce-privacy-policy-text { font-size:13px; line-height:1.9; }
.woocommerce #payment .woocommerce-privacy-policy-text a { text-decoration:underline; }
.woocommerce #payment ul.payment_methods li img { display:inline-block; height:auto; width:auto; max-height:28px; vertical-align:middle; }
.thecream-craft .wpcf7 { margin:0; font-size:16px; }
.thecream-craft .wpcf7 p { margin:0 0 24px; }
.thecream-craft .wpcf7 label { display:block; line-height:1.8; }
.thecream-craft .wpcf7-form-control-wrap { display:block; margin-top:10px; }
.thecream-craft .wpcf7 input[type=text],.thecream-craft .wpcf7 input[type=email],.thecream-craft .wpcf7 textarea { width:100%; padding:12px 14px; border:1px solid #b5bdb5; background:#fff; border-radius:0; font-size:16px; line-height:1.7; }
.thecream-craft .wpcf7 textarea { min-height:180px; resize:vertical; }
.thecream-craft .wpcf7 input[type=submit] { min-width:260px; }
.thecream-craft .wpcf7-not-valid-tip { font-size:14px; color:var(--burgundy); }
.thecream-craft .wpcf7 .wpcf7-response-output { margin:20px 0; padding:14px; font-size:16px; }
.thecream-craft .contact-aside dd { margin:5px 0 0; }
.admin-bar .site-header { top:32px; }
.woocommerce nav.woocommerce-pagination { margin-top:40px; }
.woocommerce nav.woocommerce-pagination ul { border-color:var(--line); }
@media(max-width:1100px) {
  .woocommerce-cart .wp-native-content > .woocommerce { grid-template-columns:1fr; }
  .woocommerce-cart .cart-collaterals { width:min(100%,520px); justify-self:end; }
  .woocommerce form.checkout { gap:0 35px; }
}
@media(max-width:760px) {
  .thecream-craft .wp-native-content { padding-top:28px; padding-bottom:55px; }
  .wp-native-content > h1 { font-size:24px; margin-bottom:25px; }
  .woocommerce-cart .cart-collaterals { width:100%; }
  .woocommerce table.shop_table { font-size:14px; }
  .woocommerce table.shop_table td { padding:14px; }
  .woocommerce table.shop_table_responsive tr td { background:transparent; }
  .woocommerce table.cart td.product-name { font-size:16px; }
  .woocommerce table.cart td.actions .coupon { float:none; width:100%; margin-bottom:12px; }
  .woocommerce table.cart td.actions .coupon .input-text { width:45%; flex:1; }
  .woocommerce table.cart td.actions .coupon .button { width:auto; font-size:13px; }
  .woocommerce .cart_totals > h2 { font-size:21px; }
  .woocommerce .woocommerce-message .button { float:none; display:block; margin:0 0 13px; }
  .woocommerce form.checkout { display:block; }
  .woocommerce form.checkout #order_review_heading { margin-top:38px; }
  .woocommerce form.checkout h3 { font-size:21px; }
  .woocommerce form .form-row-first,.woocommerce form .form-row-last { width:100%; float:none; }
  .woocommerce #payment ul.payment_methods { padding:15px; }
  .woocommerce #payment div.payment_box { padding:12px; }
  .woocommerce #payment div.form-row { padding:15px; }
  .woocommerce table.woocommerce-checkout-review-order-table { table-layout:fixed; }
  .woocommerce table.woocommerce-checkout-review-order-table th,.woocommerce table.woocommerce-checkout-review-order-table td { padding:13px 11px; }
  .woocommerce .woocommerce-checkout-review-order-table .product-total { width:105px; }
  .woocommerce #payment ul.payment_methods li { overflow-wrap:anywhere; }
  .thecream-craft .native-buy form.cart { grid-template-columns:100px minmax(0,1fr); gap:10px; }
  .thecream-craft .wpcf7 input[type=submit] { width:100%; min-width:0; }
  .admin-bar .site-header { top:46px; }
  .thecream-craft .site-footer .brand { color:var(--burgundy); }
}
