/* Wisma Connect — WooCommerce pages inside the static site's shell (theme: Wisma Store).
   The site's own style.css is loaded first; this file styles the WooCommerce markup to match it. */
.store-main { min-height: 50vh; }
.store-page { padding: 28px 20px 64px; }
.store-page__title, .store-page h1.entry-title, .woocommerce-account .store-page > h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); margin-bottom: 18px; }
@media (min-width: 900px) { .store-page { padding: 40px 20px 80px; } }
.store-page .woocommerce-notices-wrapper .woocommerce-message, .store-page .woocommerce-info, .store-page .woocommerce-error {
  background: #fff; border: 1.5px solid var(--border); border-left: 4px solid var(--accent); border-radius: 12px; padding: 14px 18px; margin-bottom: 18px; list-style: none; }
.store-page .woocommerce-error { border-left-color: var(--danger); }
.store-page a { color: var(--accent-text); }
/* Buttons */
.store-page .button, .store-page button.button, .store-page input.button, .store-page a.button, .store-page #place_order, .store-page .checkout-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: .8em 1.5em; border-radius: 10px; border: 1.5px solid var(--dark);
  background: var(--dark); color: #fff; font: inherit; font-weight: 600; font-size: .95rem; text-decoration: none; cursor: pointer; }
.store-page #place_order, .store-page .checkout-button { width: 100%; background: var(--accent); color: var(--text); border-color: var(--accent); font-size: 1rem; }
.store-page .button:hover { filter: brightness(.95); }
/* Forms */
.store-page .form-row { margin-bottom: 14px; }
.store-page .form-row label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 6px; }
.store-page .input-text, .store-page select, .store-page textarea, .store-page .select2-container .select2-selection--single {
  width: 100%; padding: 12px 14px; border: 1.5px solid var(--border) !important; border-radius: 10px !important; font: inherit; font-size: .95rem; background: #fff; min-height: 48px; box-shadow: none !important; }
.store-page .select2-container .select2-selection__rendered { line-height: 22px; padding-left: 0; }
.store-page .select2-container .select2-selection__arrow { top: 10px; }
.store-page .input-text:focus, .store-page select:focus { border-color: var(--accent) !important; outline: 3px solid var(--ring); }
.store-page .form-row-first, .store-page .form-row-last { width: 48%; float: left; }
.store-page .form-row-last { float: right; }
.store-page .form-row-wide, .store-page .clear { clear: both; }
/* Cart & checkout layout */
.store-page .woocommerce-cart-form, .store-page .cart_totals, .store-page #customer_details, .store-page #order_review, .store-page .woocommerce-order, .store-page .woocommerce-MyAccount-content, .store-page .woocommerce-MyAccount-navigation {
  background: #fff; border-radius: 18px; box-shadow: var(--card-shadow); padding: 22px; margin-bottom: 20px; }
.store-page .shop_table { width: 100%; border-collapse: collapse; }
.store-page .shop_table th, .store-page .shop_table td { padding: 12px 8px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.store-page .shop_table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.store-page .product-thumbnail img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }
.store-page .product-remove a { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--bg-alt); color: var(--danger); text-decoration: none; font-weight: 700; }
.store-page .quantity .qty { width: 70px; padding: 8px; border: 1.5px solid var(--border); border-radius: 8px; text-align: center; }
.store-page .coupon { display: flex; gap: 8px; margin-bottom: 12px; }
.store-page .coupon .input-text { min-width: 0; }
.store-page .cart_totals h2, .store-page #order_review_heading, .store-page .woocommerce-billing-fields h3, .store-page .woocommerce-shipping-fields h3, .store-page .woocommerce-additional-fields h3 { font-size: 1.4rem; margin-bottom: 12px; }
.store-page .woocommerce-shipping-methods { list-style: none; padding: 0; margin: 0; }
.store-page .woocommerce-shipping-methods li { padding: 8px 0; }
.store-page .woocommerce-shipping-methods label { font-weight: 500; }
.store-page .order-total th, .store-page .order-total td { font-size: 1.1rem; font-weight: 700; }
@media (min-width: 900px) {
  .store-page .woocommerce-cart-form { width: 62%; float: left; } .store-page .cart_totals { width: 35%; float: right; }
  .store-page #customer_details { width: 58%; float: left; } .store-page #order_review_heading, .store-page #order_review { width: 38%; float: right; clear: right; }
  .store-page #order_review_heading { background: none; box-shadow: none; padding: 0 0 8px; margin: 0; }
  .store-page::after { content: ""; display: block; clear: both; }
}
/* Payment */
.store-page #payment { background: var(--bg-alt); border-radius: 12px; padding: 16px; margin-top: 12px; }
.store-page #payment ul.payment_methods { list-style: none; margin: 0 0 12px; padding: 0; }
.store-page #payment li { padding: 10px 0; border-bottom: 1px solid var(--border); }
.store-page #payment li:last-child { border-bottom: 0; }
.store-page #payment label { font-weight: 600; margin-left: 6px; }
.store-page #payment .payment_box { background: #fff; border-radius: 10px; padding: 12px 14px; margin-top: 8px; font-size: .9rem; color: var(--muted); }
.store-page #payment .payment_box::before { display: none; }
.wisma-terms { font-size: .85rem; color: var(--muted); margin: 10px 0; }
.wisma-collection { margin-top: 16px; padding: 14px 16px; background: var(--bg-alt); border-radius: 12px; }
/* Order received */
.wisma-thankyou { text-align: center; margin: 8px 0 28px; }
.wisma-wa-btn.button { background: #25d366 !important; color: #0b3d1d !important; border-color: #25d366 !important; font-size: 1.1rem !important; padding: 1em 2em !important; border-radius: 999px !important; }
.wisma-thankyou__note { margin-top: 12px; color: var(--muted); }
.store-page .woocommerce-order-overview { list-style: none; padding: 0; display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin: 0 0 18px; }
.store-page .woocommerce-order-overview li { background: var(--bg-alt); border-radius: 10px; padding: 10px 12px; font-size: .85rem; color: var(--muted); }
.store-page .woocommerce-order-overview strong { display: block; color: var(--text); font-size: 1rem; }
/* My account */
.store-page .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.store-page .woocommerce-MyAccount-navigation a { display: block; padding: 10px 12px; border-radius: 8px; text-decoration: none; color: var(--text); font-weight: 500; }
.store-page .woocommerce-MyAccount-navigation .is-active a { background: var(--accent-soft); color: var(--accent-text); }
@media (min-width: 900px) { .store-page .woocommerce-MyAccount-navigation { width: 24%; float: left; } .store-page .woocommerce-MyAccount-content { width: 73%; float: right; } }
.store-page .woocommerce-form-login, .store-page .woocommerce-form-register { max-width: 480px; background: #fff; border-radius: 18px; box-shadow: var(--card-shadow); padding: 24px; }
.store-page .woocommerce-Price-amount { font-weight: 600; }
/* Mobile app tabs + floating WhatsApp already come from the site's CSS; give the body bottom padding for the tabs */
@media (max-width: 999px) { .store-body { padding-bottom: 72px; } }
