/* AURA Home — ส่วนของ WooCommerce (โหลดเมื่อมี WooCommerce; ต่อจาก base.css) */

/* ---------- ปุ่มของ WooCommerce -> สไตล์ prototype ---------- */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.button { background:var(--surface-raised); color:var(--text-secondary); border:none; border-radius:16px; padding:14px 26px; font-weight:700; font-size:15px; cursor:pointer;
  box-shadow:4px 4px 10px var(--shadow-dark), -4px -4px 10px var(--shadow-light); display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; font-family:inherit; }
.button:active { box-shadow:inset 3px 3px 6px var(--shadow-dark), inset -3px -3px 6px var(--shadow-light); }
.single_add_to_cart_button, .button.alt, .checkout-button, #place_order, button.alt, .woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-Button.button {
  background:var(--accent-gradient) !important; color:#fff !important; box-shadow:5px 5px 14px rgba(108,99,255,.4) !important; border:none; border-radius:16px; padding:14px 26px; font-weight:700; font-size:15px; cursor:pointer; }
.single_add_to_cart_button:disabled, .single_add_to_cart_button.disabled, .button:disabled, button[disabled] { opacity:.55; cursor:not-allowed; }
#place_order, .checkout-button { width:100%; display:flex; }
.checkout-button { text-decoration:none; margin-top:6px; }

/* ---------- ฟอร์ม WooCommerce -> .field แบบ inset ---------- */
.woocommerce form .form-row { margin:0 0 14px; padding:0; }
.woocommerce form .form-row label { font-size:13px; font-weight:700; color:var(--text-secondary); margin:0 0 8px; display:block; }
.woocommerce form .form-row .required { color:var(--danger-text); text-decoration:none; border:0; }
.woocommerce form .form-row .optional { font-weight:500; }
.woocommerce-input-wrapper { display:block; }
.woocommerce .input-text, .woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"], .woocommerce input[type="password"], .woocommerce input[type="number"], .woocommerce input[type="search"],
.woocommerce textarea, .woocommerce select, .comment-form input[type="text"], .comment-form input[type="email"], .comment-form textarea {
  width:100%; border:none; outline:none; background:var(--surface-raised); color:var(--text-primary); font-family:inherit; font-size:15px; border-radius:14px; padding:13px 16px;
  box-shadow:inset 3px 3px 8px var(--shadow-dark), inset -3px -3px 8px var(--shadow-light); }
.woocommerce textarea, .comment-form textarea { min-height:90px; resize:vertical; }
.woocommerce select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8D9C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:38px; }
.woocommerce .input-text::placeholder, .woocommerce textarea::placeholder { color:var(--text-placeholder); }
/* input ที่อยู่ใน .field (กล่อง inset อยู่ที่ตัวห่อแล้ว) ไม่ต้องซ้อนเงาอีกชั้น */
.woocommerce .field input, .woocommerce .field select, .woocommerce .field textarea { background:transparent !important; box-shadow:none !important; padding:0 !important; border-radius:0 !important; }
.field input, .field select, .field textarea { min-width:0; }
.woocommerce form .form-row.woocommerce-invalid .input-text, .woocommerce form .form-row.woocommerce-invalid select { box-shadow:inset 3px 3px 8px var(--shadow-dark), inset -3px -3px 8px var(--shadow-light), 0 0 0 1.5px var(--status-danger); }
.woocommerce form .form-row.woocommerce-validated .input-text { box-shadow:inset 3px 3px 8px var(--shadow-dark), inset -3px -3px 8px var(--shadow-light), 0 0 0 1.5px var(--status-success); }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.woocommerce form .form-row-wide { grid-column:1 / -1; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { grid-column:auto; }
@media (max-width:560px){ .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper { grid-template-columns:1fr; } .woocommerce form .form-row-first, .woocommerce form .form-row-last { grid-column:1 / -1; } }
.woocommerce-EditAccountForm { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.woocommerce-EditAccountForm > * { grid-column:1 / -1; }
.woocommerce-EditAccountForm .form-row-first, .woocommerce-EditAccountForm .form-row-last { grid-column:auto; }
.woocommerce-EditAccountForm fieldset { border:0; padding:0; margin:18px 0 0; }
.woocommerce-EditAccountForm legend { font-size:15px; font-weight:800; margin-bottom:14px; padding:0; }
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3, #ship-to-different-address, .woocommerce-checkout h3 { font-size:15px; font-weight:800; margin:0 0 16px; }
#ship-to-different-address label { display:flex; align-items:center; gap:10px; cursor:pointer; }
.woocommerce form .clear { display:none; }
/* class "checkbox" ของ WooCommerce ชนกับ .checkbox (กล่องกากบาท 22px) ใน main.css เพราะ WooCommerce ใส่ class นี้ให้ <label> ทั้งก้อน (ไม่ใช่แค่กล่องไอคอน) ต้องคืนขนาด/พื้นหลัง/เงาที่ .checkbox ใส่ไว้ผิดจุด */
.woocommerce .woocommerce-form__label-for-checkbox.checkbox { width:auto; height:auto; background:none; box-shadow:none; border-radius:0; }
.woocommerce .woocommerce-form__label-for-checkbox, .woocommerce .check-row { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text-primary); font-weight:600; cursor:pointer; }

/* checkbox / radio ตามสเปก (inset ตอนว่าง, สีเน้นเมื่อเลือก) */
.woocommerce input[type="checkbox"], .woocommerce input[type="radio"], .comment-form input[type="checkbox"] { appearance:none; -webkit-appearance:none; width:22px; height:22px; flex-shrink:0; margin:0; cursor:pointer; border:none;
  background:var(--surface-raised); box-shadow:inset 2px 2px 5px var(--shadow-dark), inset -2px -2px 5px var(--shadow-light); }
.woocommerce input[type="checkbox"], .comment-form input[type="checkbox"] { border-radius:7px; }
.woocommerce input[type="radio"] { border-radius:50%; width:20px; height:20px; }
.woocommerce input[type="checkbox"]:checked, .comment-form input[type="checkbox"]:checked { background:var(--accent-gradient) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l5 5L19 7'/%3E%3C/svg%3E") center/70% no-repeat; box-shadow:none; }
.woocommerce input[type="radio"]:checked { background:radial-gradient(circle, var(--accent-primary) 0 4.5px, transparent 5px), var(--surface-raised); }
.check-row .checkbox, .check-row .radio { pointer-events:none; }
a.check-row { text-decoration:none; }
.checkbox .icon { color:var(--accent-primary); }

/* select2 (ประเทศ/จังหวัด) */
.select2-container--default .select2-selection--single { height:auto !important; background:var(--surface-raised) !important; border:none !important; border-radius:14px !important; padding:9px 12px; box-shadow:inset 3px 3px 8px var(--shadow-dark), inset -3px -3px 8px var(--shadow-light); }
.select2-container--default .select2-selection--single .select2-selection__rendered { color:var(--text-primary) !important; line-height:1.6 !important; padding-left:4px !important; font-family:inherit; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:100% !important; right:8px !important; }
.select2-dropdown { background:var(--surface-card) !important; border:none !important; border-radius:14px !important; overflow:hidden; box-shadow:6px 6px 14px var(--shadow-dark), -6px -6px 14px var(--shadow-light); color:var(--text-primary); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background:var(--accent-primary) !important; color:#fff !important; }
.select2-container--default .select2-results__option[aria-selected=true], .select2-container--default .select2-results__option[data-selected=true] { background:var(--surface-raised) !important; }
.select2-search--dropdown .select2-search__field { background:var(--surface-raised); color:var(--text-primary); border:none !important; border-radius:10px; }

/* ---------- แจ้งเตือน WooCommerce ---------- */
.woocommerce-notices-wrapper { margin-bottom:6px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style:none; margin:0 0 20px; padding:16px 20px; border-radius:18px; background:var(--surface-card); color:var(--text-primary); font-size:14px; line-height:1.6;
  box-shadow:4px 4px 10px var(--shadow-dark), -4px -4px 10px var(--shadow-light); display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; border-left:0; }
.woocommerce-message { box-shadow:0 0 0 1.5px var(--status-success), 4px 4px 10px var(--shadow-dark), -4px -4px 10px var(--shadow-light); }
.woocommerce-error { box-shadow:0 0 0 1.5px var(--status-danger), 4px 4px 10px var(--shadow-dark), -4px -4px 10px var(--shadow-light); }
.woocommerce-message .button, .woocommerce-info .button { margin-left:auto; padding:9px 18px; font-size:13px; order:2; }
.woocommerce-info a, .woocommerce-message a:not(.button) { color:var(--accent-text); font-weight:700; }
.woocommerce-error li { margin:0; }
.showlogin, .showcoupon { color:var(--accent-text); font-weight:700; }
.woocommerce-form-login, .woocommerce-form-coupon { margin-bottom:20px; }
.checkout_coupon, form.woocommerce-form-login:not(.login) { background:var(--surface-card); border-radius:22px; padding:20px; box-shadow:4px 4px 10px var(--shadow-dark), -4px -4px 10px var(--shadow-light); }
.added_to_cart { display:none !important; }

/* ---------- การ์ดสินค้า ---------- */
.product-card { transition:transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform:translateY(-6px); box-shadow:8px 8px 18px var(--shadow-dark), -8px -8px 18px var(--shadow-light); }
@media (prefers-reduced-motion: reduce) { .product-card { transition:none; } .product-card:hover { transform:none; } }
.product-card .product-img { position:relative; overflow:hidden; }
.product-card .product-img-link { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--accent-primary); }
.product-card .product-img-link img { width:100%; height:100%; object-fit:cover; border-radius:18px; }
.product-card .badge-tag, .pd-main-img .badge-tag { z-index:2; }
.product-card .wish-btn { z-index:2; }
.product-name { color:var(--text-primary); text-decoration:none; }
.product-card .stars-count { color:var(--text-secondary); font-size:12px; }
.price, .pd-price { color:var(--price-color, var(--text-primary)); }
.product-bottom .price { display:flex; align-items:baseline; flex-wrap:wrap; gap:0 6px; }
.price del, .pd-price del { color:var(--text-secondary); font-size:.78em; font-weight:600; margin-left:6px; text-decoration:line-through; order:2; }
.price ins, .pd-price ins { text-decoration:none; background:none; }
.price .woocommerce-Price-amount { font-weight:inherit; }
.add-btn { text-decoration:none; }
.add-btn.loading { opacity:.6; pointer-events:none; }
.add-btn.added { background:var(--status-success); box-shadow:3px 3px 8px rgba(76,217,123,.35); }
.add-btn.added .icon { display:none; }
.add-btn.added::after { content:'✓'; font-weight:800; }
.products.product-grid + .pagination, nav.pagination { margin-top:32px; }
.pagination { display:flex; justify-content:center; gap:8px; }
.pagination .page-btn, .pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.pagination .page-numbers.dots { background:transparent; box-shadow:none; }
.pagination ul { display:flex; gap:8px; list-style:none; margin:0; padding:0; }
/* related / upsells */
.related.products, .upsells.products, .cross-sells { margin-top:48px; }
.related.products > h2, .upsells.products > h2, .cross-sells > h2 { font-size:23px; margin:0 0 22px; }

/* ---------- ร้านค้า ---------- */
.woocommerce-ordering { margin:0; }
.check-row { text-decoration:none; }
.slider-wrap { margin:0; }
.slider-track { height:8px; border-radius:999px; background:var(--surface-base); box-shadow:inset 2px 2px 4px var(--shadow-dark), inset -2px -2px 4px var(--shadow-light); position:relative; cursor:pointer; touch-action:none; }
.slider-fill { height:100%; border-radius:999px; background:var(--accent-gradient); position:relative; }
.slider-thumb { width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:1px 2px 6px rgba(0,0,0,.3); position:absolute; top:50%; right:0; transform:translate(50%,-50%); }
.slider-label { margin-top:12px; font-size:13px; color:var(--text-secondary); }
.slider-label b { color:var(--text-primary); }
.sort-select select { appearance:none; cursor:pointer; background-image:none; box-shadow:none; padding:0; }
.sort-select select option { background:var(--surface-card); color:var(--text-primary); }
.shop-toolbar .woocommerce-result-count { margin:0; }

/* ---------- หน้าสินค้า ---------- */
.pd-main-img { position:relative; overflow:hidden; }
.pd-main-img img.pd-main-photo { width:100%; height:100%; object-fit:cover; }
.pd-thumb { border:none; padding:0; overflow:hidden; }
.pd-thumb img { width:100%; height:100%; object-fit:cover; }
.pd-cat a { color:inherit; text-decoration:none; }
.pd-price { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.pd-rating a { color:var(--text-secondary); text-decoration:none; }
.pd-desc p:last-child { margin-bottom:0; }
.pd-meta { margin-top:22px; font-size:13px; color:var(--text-secondary); }
.pd-meta span { color:var(--text-primary); font-weight:700; }
.entry-summary form.cart { margin:0; }
.entry-summary form.cart:not(.variations_form), .entry-summary .woocommerce-variation-add-to-cart, .entry-summary form.cart.grouped_form { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:24px; }
.entry-summary form.cart.variations_form { display:block; }
.entry-summary .single_add_to_cart_button { flex:1; min-width:160px; }
.entry-summary .woocommerce-variation-add-to-cart { margin-top:18px; }
.entry-summary .woocommerce-variation { margin:14px 0 0; }
.entry-summary .woocommerce-variation-price { font-size:20px; font-weight:800; }
.entry-summary .woocommerce-variation-description p { color:var(--text-secondary); font-size:14px; }
.entry-summary .stock { font-size:13px; font-weight:700; color:var(--success-text); margin:0 0 8px; }
.entry-summary .stock.out-of-stock { color:var(--danger-text); }
.wish-single { width:52px; height:52px; flex-shrink:0; }
table.variations { border:0; width:100%; border-collapse:collapse; margin:0; }
table.variations th, table.variations td { display:block; padding:0; text-align:left; }
table.variations th.label { font-size:13px; font-weight:800; margin:16px 0 10px; }
table.variations th.label label { font-size:13px; font-weight:800; color:var(--text-primary); margin:0; }
table.variations td.value { margin:0; }
.reset_variations { display:inline-block; margin-top:8px; font-size:12px; color:var(--accent-text); font-weight:700; }
.aura-swatches { display:flex; gap:10px; flex-wrap:wrap; }
.aura-swatches .swatch { width:32px; height:32px; padding:0; }
.aura-swatches .size-btn:disabled, .aura-swatches .swatch:disabled { opacity:.35; cursor:not-allowed; }
.aura-swatches.is-enhanced + select, td.value select.aura-hidden { position:absolute; opacity:0; pointer-events:none; width:1px; height:1px; }
.qty-stepper { display:inline-flex; align-items:center; gap:0; }
.qty-stepper input.qty { width:52px; text-align:center; font-weight:700; font-size:15px; background:transparent !important; box-shadow:none !important; border-radius:0; padding:0 !important; -moz-appearance:textfield; appearance:textfield; }
.qty-stepper input.qty::-webkit-outer-spin-button, .qty-stepper input.qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.pd-tabs-panel { max-width:760px; margin:0 auto; }
.mini-tabs a { border:none; background:transparent; padding:10px 20px; border-radius:999px; font-size:14px; font-weight:700; color:var(--text-secondary); cursor:pointer; white-space:nowrap; text-decoration:none; }
.mini-tabs a.active { background:var(--accent-gradient); color:#fff; }
.mini-tabs button { font-family:inherit; }
.shop_attributes { width:100%; border-collapse:collapse; }
.shop_attributes th { text-align:left; width:35%; color:var(--text-secondary); font-size:13px; }
.shop_attributes th, .shop_attributes td { padding:10px 0; border-bottom:1px solid rgba(163,166,186,.25); font-size:14px; }
.shop_attributes td p { margin:0; }
.wc-tab h2, #reviews h2, #reviews .comment-reply-title { font-size:17px; margin:0 0 14px; }

/* รีวิว */
#reviews ol.commentlist { list-style:none; margin:0 0 20px; padding:0; }
#reviews .comment_container { display:flex; gap:12px; padding:16px 0; border-bottom:1px solid rgba(163,166,186,.25); }
#reviews .comment_container img.avatar { width:40px; height:40px; border-radius:50%; }
#reviews .comment-text { flex:1; }
#reviews .meta { font-size:12px; color:var(--text-secondary); margin:0 0 6px; }
#reviews .meta strong { color:var(--text-primary); font-size:14px; }
#reviews .description p { margin:0; font-size:14px; color:var(--text-secondary); line-height:1.7; }
#review_form .comment-form-rating label { font-size:13px; font-weight:700; color:var(--text-secondary); display:block; margin-bottom:8px; }
#review_form p { margin:0 0 14px; }
.comment-form label { font-size:13px; font-weight:700; color:var(--text-secondary); display:block; margin-bottom:8px; }
.comment-form .form-submit input { background:var(--accent-gradient); color:#fff; border:none; border-radius:16px; padding:14px 26px; font-weight:700; font-size:15px; cursor:pointer; box-shadow:5px 5px 14px rgba(108,99,255,.4); font-family:inherit; }
p.stars { margin:0; }
p.stars span { display:inline-flex; gap:4px; }
p.stars a { display:inline-block; width:26px; height:26px; font-size:0; text-decoration:none; position:relative; }
p.stars a::before { content:'★'; font-size:26px; line-height:26px; color:var(--text-disabled); position:absolute; inset:0; }
p.stars:hover a::before { color:var(--star-color); }
p.stars a:hover ~ a::before { color:var(--text-disabled); }
p.stars.selected a.active::before, p.stars.selected a.active ~ a::before { color:var(--star-color); }
p.stars.selected a.active ~ a::before { color:var(--text-disabled); }
p.stars.selected a:not(.active)::before { color:var(--star-color); }
select#rating { display:none; }

/* ---------- ตะกร้า ---------- */
.cart-row .img img { width:100%; height:100%; object-fit:cover; border-radius:14px; }
.cart-row .img a { display:block; width:100%; height:100%; }
.cart-row .name a { color:inherit; text-decoration:none; }
.cart-row .info dl.variation { margin:2px 0 0; font-size:12px; color:var(--text-secondary); display:flex; flex-wrap:wrap; gap:0 6px; }
.cart-row .info dl.variation dt, .cart-row .info dl.variation dd, .cart-row .info dl.variation p { margin:0; display:inline; }
.cart-row .qty-stepper button { width:34px; height:38px; }
.cart-row .qty-stepper input.qty { width:40px; }
.remove-btn { text-decoration:none; display:flex; align-items:center; justify-content:center; }
.cart-actions { display:flex; justify-content:flex-end; margin-top:6px; }
.aura-js .cart-actions { display:none; } /* มี JS: อัปเดตตะกร้าอัตโนมัติเมื่อเปลี่ยนจำนวน */
.cart-side { position:sticky; top:96px; }
.cart_totals h2 { display:none; }
.cart_totals table, .woocommerce-checkout-review-order-table { width:100%; border-collapse:collapse; margin:0 0 6px; }
.cart_totals table tr, .woocommerce-checkout-review-order-table tfoot tr { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; font-size:14px; color:var(--text-secondary); margin-bottom:12px; }
.cart_totals table th, .cart_totals table td, .woocommerce-checkout-review-order-table tfoot th, .woocommerce-checkout-review-order-table tfoot td { padding:0; border:0; text-align:left; background:none; display:block; font-weight:600; }
.cart_totals table td, .woocommerce-checkout-review-order-table tfoot td { text-align:right; }
.cart_totals tr.order-total, .woocommerce-checkout-review-order-table tr.order-total { font-size:17px; font-weight:800; color:var(--text-primary); border-top:1px solid rgba(163,166,186,.3); padding-top:14px; margin-top:6px; }
.cart_totals tr.order-total th, .cart_totals tr.order-total td, .woocommerce-checkout-review-order-table tr.order-total th, .woocommerce-checkout-review-order-table tr.order-total td { font-weight:800; }
.cart_totals .woocommerce-shipping-methods, .woocommerce-checkout-review-order-table .woocommerce-shipping-methods { list-style:none; margin:0; padding:0; text-align:right; }
.woocommerce-shipping-methods li { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-bottom:6px; }
.woocommerce-shipping-destination, .shipping-calculator-button { font-size:12px; color:var(--text-secondary); }
.shipping-calculator-button { color:var(--accent-text); font-weight:700; }
.woocommerce-shipping-calculator { margin-top:8px; }
.cart-collaterals .cart_totals { width:100%; float:none; }
.cross-sells .product-grid { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); }
.cart-collaterals .wc-proceed-to-checkout { padding:0; }

/* ---------- เช็คเอาท์ ---------- */
.checkout-summary { position:sticky; top:96px; }
.woocommerce-checkout-review-order-table thead { display:none; }
.woocommerce-checkout-review-order-table tbody tr { display:flex; justify-content:space-between; gap:12px; font-size:13px; color:var(--text-secondary); margin-bottom:10px; }
.woocommerce-checkout-review-order-table tbody td { padding:0; border:0; background:none; display:block; }
.woocommerce-checkout-review-order-table .product-name { font-size:13px; font-weight:600; cursor:auto; margin:0; color:var(--text-secondary); }
.woocommerce-checkout-review-order-table .product-total { color:var(--text-primary); font-weight:800; white-space:nowrap; }
.woocommerce-checkout-review-order-table .product-quantity { font-weight:700; }
.woocommerce-checkout-payment { margin-top:20px; }
ul.wc_payment_methods { list-style:none; margin:0 0 16px; padding:0; }
ul.wc_payment_methods li { background:var(--surface-raised); border-radius:16px; padding:14px 16px; margin-bottom:12px; box-shadow:inset 2px 2px 5px var(--shadow-dark), inset -2px -2px 5px var(--shadow-light); }
ul.wc_payment_methods li:has(input:checked) { box-shadow:0 0 0 2px var(--accent-primary), inset 2px 2px 5px var(--shadow-dark), inset -2px -2px 5px var(--shadow-light); }
ul.wc_payment_methods li > label { display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:14px; color:var(--text-primary); margin:0 0 0 10px; cursor:pointer; vertical-align:middle; }
ul.wc_payment_methods li > input { vertical-align:middle; }
ul.wc_payment_methods li img { max-height:22px; width:auto; display:inline-block; }
.payment_box { margin-top:12px; font-size:13px; color:var(--text-secondary); line-height:1.7; }
.payment_box p { margin:0 0 8px; }
.payment_box fieldset { border:0; margin:0; padding:0; }
.payment_box::before { display:none; }
.woocommerce-privacy-policy-text { font-size:12px; color:var(--text-secondary); line-height:1.6; margin-bottom:14px; }
.woocommerce-privacy-policy-text a { color:var(--accent-text); }
.woocommerce-terms-and-conditions-wrapper { margin-bottom:14px; }
.blockUI.blockOverlay { background:var(--surface-card) !important; opacity:.6 !important; border-radius:22px; }

/* ---------- ตาราง WooCommerce ทั่วไป (view-order, order details, downloads) ---------- */
table.shop_table, table.woocommerce-table { width:100%; border-collapse:separate; border-spacing:0; margin:0 0 24px; background:var(--surface-card); border-radius:22px; padding:8px 20px; box-shadow:5px 5px 12px var(--shadow-dark), -5px -5px 12px var(--shadow-light); }
table.shop_table th, table.shop_table td, table.woocommerce-table th, table.woocommerce-table td { padding:14px 4px; text-align:left; font-size:14px; border-bottom:1px solid rgba(163,166,186,.25); }
table.shop_table tr:last-child > *, table.woocommerce-table tr:last-child > * { border-bottom:0; }
table.shop_table thead th { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-secondary); }
.woocommerce-order-details h2, .woocommerce-customer-details h2, .woocommerce-column__title { font-size:17px; margin:0 0 14px; }
.woocommerce-order-details, .woocommerce-customer-details { margin-top:28px; }
.woocommerce-order-overview { list-style:none; display:flex; flex-wrap:wrap; gap:10px 28px; margin:0 0 28px; padding:18px 22px; background:var(--surface-card); border-radius:22px; font-size:13px; color:var(--text-secondary); box-shadow:5px 5px 12px var(--shadow-dark), -5px -5px 12px var(--shadow-light); }
.woocommerce-order-overview li strong { display:block; color:var(--text-primary); font-size:15px; }

/* ---------- บัญชี ---------- */
.account-wrap { max-width:720px; margin:0 auto; }
.auth-wrap { padding:8px 0; }
.auth-card[hidden] { display:none; }
.auth-switch { border:none; background:none; padding:0; font:inherit; font-weight:700; color:var(--accent-text); cursor:pointer; }
.auth-card .field .auth-link { margin-left:auto; color:var(--text-secondary); }
.auth-card input[type="text"], .auth-card input[type="email"], .auth-card input[type="password"] { box-shadow:none !important; background:transparent !important; padding:0 !important; border-radius:0 !important; }
.auth-link { text-decoration:none; }
.mini-tabs.account { margin-top:0; }
.account-wrap .mini-tabs { margin:0 0 20px; max-width:100%; overflow-x:auto; scrollbar-width:none; }
.account-wrap .mini-tabs::-webkit-scrollbar { display:none; }
.order-row { text-decoration:none; color:inherit; box-shadow:4px 4px 10px var(--shadow-dark), -4px -4px 10px var(--shadow-light); }
.status-pill.cancel { background:rgba(255,107,107,.15); color:var(--danger-text); }
.u-columns.woocommerce-Addresses, .woocommerce-Addresses { display:grid; grid-template-columns:1fr; gap:14px; }
.woocommerce-Address { background:var(--surface-card); border-radius:18px; padding:16px 18px; box-shadow:4px 4px 10px var(--shadow-dark), -4px -4px 10px var(--shadow-light); }
.woocommerce-Address-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.woocommerce-Address-title h3, .woocommerce-Address-title h2 { font-size:11px; font-weight:800; color:var(--accent-text); text-transform:uppercase; margin:0; }
.woocommerce-Address-title a.edit { font-size:13px; color:var(--accent-text); font-weight:700; }
.woocommerce-Address address { font-style:normal; font-size:13px; color:var(--text-secondary); line-height:1.7; }
.woocommerce-MyAccount-content > p { color:var(--text-secondary); font-size:14px; line-height:1.7; }
.woocommerce-MyAccount-content a:not(.button):not(.order-row) { color:var(--accent-text); }
.woocommerce-MyAccount-content .woocommerce-Button, .woocommerce-MyAccount-content button[type="submit"] { margin-top:8px; }
.woocommerce-MyAccount-content form { background:var(--surface-card); border-radius:28px; padding:28px; }
.woocommerce-MyAccount-content .woocommerce-Addresses form { padding:0; background:none; }
@media (max-width:600px){ .woocommerce-MyAccount-content form { padding:20px; border-radius:22px; } }

/* ---------- FAQ (button) ---------- */
.faq-q { width:100%; background:none; border:none; color:var(--text-primary); text-align:left; font-family:inherit; }
.faq-item .faq-a p { margin:0 0 10px; }
.faq-item.open .faq-a { max-height:600px; }

/* ---------- เนื้อหาหน้า ---------- */
.entry-content { color:var(--text-secondary); font-size:14px; line-height:1.9; }
.entry-content h2, .entry-content h3 { color:var(--text-primary); margin:24px 0 8px; font-size:17px; }
.entry-content > :first-child { margin-top:0; }
.entry-content a { color:var(--accent-text); font-weight:700; }
.entry-content ul, .entry-content ol { padding-left:22px; }
.entry-content img { border-radius:18px; }
.entry-content table { width:100%; border-collapse:collapse; }
.entry-content td, .entry-content th { padding:10px; border-bottom:1px solid rgba(163,166,186,.25); }
.woo-page .section-head h2 { margin:0; }

/* ---------- ตัวแทนรูปสินค้าเมื่อไม่มีรูป ---------- */
.woocommerce-placeholder { width:100%; height:100%; object-fit:cover; }

@media (max-width:600px){
  .cart-side, .checkout-summary { position:static; }
  .pd-actions, .entry-summary form.cart:not(.variations_form) { gap:10px; }
  .product-card .product-img-link img { border-radius:14px; }
}
@media (prefers-reduced-motion: reduce){ *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* ตารางในกล่อง panel ไม่ต้องยกนูนซ้อนอีกชั้น */
.panel table.shop_table, .panel table.woocommerce-table { background:none; box-shadow:none; padding:0; border-radius:0; margin-bottom:6px; }
.checkout-summary .woocommerce-checkout-payment { background:none; }

/* =====================================================================
   ความเข้ากันได้กับปลั๊กอิน WooCommerce Thai Pro (woocommerce-thai-pro)
   ปลั๊กอินฝัง CSS/สีแบบ inline จึงต้องใช้ !important
   ===================================================================== */

/* autocomplete ที่อยู่ไทย (jQuery UI) */
ul.ui-autocomplete.ui-menu { background:var(--surface-card) !important; border:none !important; border-radius:16px !important; padding:6px !important; margin-top:6px !important; max-height:280px; overflow-y:auto; z-index:1000 !important;
  box-shadow:6px 6px 14px var(--shadow-dark), -6px -6px 14px var(--shadow-light) !important; font-family:inherit; }
ul.ui-autocomplete .ui-menu-item-wrapper, ul.ui-autocomplete .ui-menu-item { color:var(--text-primary) !important; font-size:14px !important; padding:9px 12px !important; border:none !important; border-radius:10px !important; background:transparent !important; }
ul.ui-autocomplete .ui-state-active, ul.ui-autocomplete .ui-state-hover, ul.ui-autocomplete .ui-menu-item-wrapper.ui-state-active { background:var(--accent-gradient) !important; color:#fff !important; margin:0 !important; border:none !important; }

/* เมนูล่างมือถือ (.wctp-mobile-menu): ไม่ทับสีที่เจ้าของร้านตั้งไว้ในปลั๊กอิน (bg/icon/active/text) — จัดตำแหน่งอย่างเดียว */

/* เมื่อเมนูล่างแสดงอยู่: เว้นที่ท้ายหน้า และดันแถบแจ้งเตือนลอยขึ้นเหนือเมนู (ไม่ให้ทับกัน) */
body:has(.wctp-mobile-menu.wctp-show) { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
body:has(.wctp-mobile-menu.wctp-show) .cart-fab { bottom:calc(84px + env(safe-area-inset-bottom)); }
body:has(.wctp-mobile-menu.wctp-show) .toast { bottom:calc(90px + env(safe-area-inset-bottom)); }
/* + ปุ่ม Line (ปลั๊กอินยกขึ้นไปที่ 85px เมื่อมีเมนูล่าง) */
@media (max-width:768px){
  body:has(.wctp-mobile-menu.wctp-show):has(#wctp-line-button) .cart-fab { bottom:calc(142px + env(safe-area-inset-bottom)); }
}
@media (min-width:769px){
  /* เดสก์ท็อป: ปุ่ม Line อยู่มุมขวาล่าง ให้ FAB (กึ่งกลาง) ไม่ชนเมื่อหน้าจอแคบ */
  body:has(#wctp-line-button) .cart-fab { max-width:calc(100% - 220px); }
}
#wctp-line-button { font-family:inherit; }

/* price prefix ("ราคา ...") ของปลั๊กอิน: ใส่เฉพาะตัวเลขแรก ไม่ใส่หน้าราคาเดิมที่ขีดฆ่า/ราคาปลายช่วง/ตัวเลขในการ์ด "เพิ่มลงตะกร้า" */
.price del .woocommerce-Price-amount::before,
.price .woocommerce-Price-amount ~ .woocommerce-Price-amount::before,
.price .woocommerce-Price-amount ~ ins .woocommerce-Price-amount::before,
.pd-price del .woocommerce-Price-amount::before,
.fab-sub .woocommerce-Price-amount::before,
.slider-label .woocommerce-Price-amount::before,
.cart_totals .woocommerce-Price-amount::before,
.woocommerce-order .woocommerce-Price-amount::before,
.search-result-item .woocommerce-Price-amount::before { content:'' !important; }

/* ที่อยู่ในหน้าคำสั่งซื้อ/บัญชี */
.woocommerce-customer-details address, .woocommerce-Address address { font-style:normal; color:var(--text-secondary); font-size:14px; line-height:1.8; }
.woocommerce-customer-details .col-1, .woocommerce-customer-details .col-2 { margin-bottom:16px; }
.woocommerce-order > p { color:var(--text-secondary); font-size:14px; text-align:center; }

/* ---------- สินค้าหมด: ภาพจางลง 50% + แถบ "สินค้าหมด" ทับกลางภาพ ---------- */
.product-card.outofstock .product-img-link,
.pd-main-img.is-sold-out > img,
.pd-main-img.is-sold-out > svg.icon { opacity:.5; }
.sold-out-overlay {
  /* ริบบิ้นพาดเฉียง 45° (ซ้ายล่าง -> ขวาบน) ทับกลางภาพ; กว้าง 150% เพื่อให้พาดถึงมุมภาพ, ส่วนเกินถูกตัดโดย overflow:hidden ของกรอบภาพ */
  position:absolute; left:-25%; right:-25%; top:50%; z-index:1; /* ต่ำกว่าปุ่มหัวใจ/ป้าย SALE (z-index:2) */
  transform:translateY(-50%) rotate(-45deg); transform-origin:center;
  padding:10px 8px; text-align:center; pointer-events:none;
  font-size:18px; font-weight:800; letter-spacing:.06em; color:var(--text-primary);
  background:var(--surface-card); background:color-mix(in srgb, var(--surface-card) 88%, transparent);
  box-shadow:0 4px 14px var(--shadow-dark), 0 -2px 8px var(--shadow-light);
}
.pd-main-img .sold-out-overlay { font-size:28px; padding:16px 8px; }
.product-card.outofstock .product-name, .product-card.outofstock .price { color:var(--text-secondary); }
/* สวิตช์ "แสดงเฉพาะสินค้าที่มีสต็อก" ที่หน้าแรก (front-page.php #instockToggle) */
#homeProductsGrid.hide-oos .product-card.outofstock { display:none; }
.add-btn.is-disabled { background:var(--surface-raised); color:var(--text-disabled); box-shadow:none; pointer-events:none; cursor:not-allowed; }
@media (max-width:600px){ .sold-out-overlay { font-size:14px; padding:7px 6px; } .pd-main-img .sold-out-overlay { font-size:20px; padding:12px 6px; } }

/* ---------- ป้ายกำกับสินค้า (Product tags) ต่อจากรหัสสินค้า ---------- */
.pd-tags { margin-top:14px; display:flex; align-items:flex-start; gap:8px 10px; flex-wrap:wrap; font-size:13px; }
.pd-tags-label { color:var(--text-secondary); padding-top:7px; white-space:nowrap; }
.pd-tags-list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.tag-chip { display:inline-block; padding:6px 14px; border-radius:999px; background:var(--surface-raised); color:var(--text-primary); font-size:12px; font-weight:700; text-decoration:none;
  box-shadow:3px 3px 7px var(--shadow-dark), -3px -3px 7px var(--shadow-light); }
.tag-chip:hover { color:var(--accent-text); }
.tag-chip:active { box-shadow:inset 2px 2px 5px var(--shadow-dark), inset -2px -2px 5px var(--shadow-light); }
