.woocommerce-page .wp-block-post-title,
.wp-block-woocommerce-product-collection .wc-block-components-product-name {
  color: #111827;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count {
  color: #6b7280;
}

.post-type-archive-product main.wp-block-group {
  padding-top: 3.25rem !important;
}

.varisafe-shop-header .wp-block-heading {
  font-size: 1.65rem;
  margin-top: 0;
  margin-bottom: 0.4rem;
}

.varisafe-shop-layout {
  gap: 1.75rem;
}

.varisafe-shop-filters .wp-block-group {
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #ffffff;
  padding: 1rem;
}

.varisafe-shop-filters .wp-block-categories {
  list-style: none;
  margin: 0;
  padding: 0;
}

.varisafe-shop-filters .wp-block-categories li {
  margin-bottom: 0.45rem;
}

.varisafe-shop-filters .wp-block-categories a {
  color: #1f2937;
  text-decoration: none;
}

.varisafe-shop-filters .wp-block-categories a:hover {
  color: #2563eb;
}

.woocommerce .woocommerce-ordering select,
.wc-block-catalog-sorting select {
  min-height: 42px;
}

.wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 0.75rem;
  border: 1px solid #dbeafe;
}

.wc-block-components-product-button .wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.single_add_to_cart_button,
button[name="add-to-cart"] {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: none !important;
  border-radius: 0.75rem !important;
  color: #fff !important;
  font-weight: 600 !important;
  min-height: 46px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wc-block-components-product-button .wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.single_add_to_cart_button:hover,
button[name="add-to-cart"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(37, 99, 235, 0.25);
}

.wc-block-grid__product,
li.product,
.wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-block,
.wc-block-components-checkout-step,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.wc-block-grid__product,
li.product {
  padding: 1rem;
}

.wc-block-grid__product .wc-block-grid__product-title,
li.product .woocommerce-loop-product__title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #111827;
}

.wc-block-grid__product .wc-block-grid__product-price,
li.product .price {
  color: #1f2937;
  font-weight: 600;
}

.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border-color: #d1d5db;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
}

.wc-block-components-text-input input:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
  outline: none;
}

.woocommerce .quantity .qty {
  min-height: 42px;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  padding: 1.25rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 0.6rem 0.75rem;
  border-radius: 0.5rem;
  color: #1f2937;
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: #eff6ff;
  color: #1d4ed8;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
  gap: 1rem;
}

.woocommerce div.product .product_title {
  margin-bottom: 0.75rem;
}

.single-product .wp-block-woocommerce-breadcrumbs {
  font-size: 0.95rem;
  color: #6b7280;
}

.single-product .varisafe-single-product-top .wp-block-post-title {
  margin-top: 0;
}

.single-product .wp-block-woocommerce-product-rating {
  margin: 0.5rem 0 0.75rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: #111827;
  font-size: 1.35rem;
  font-weight: 700;
}

.single-product .wp-block-woocommerce-product-price {
  margin-bottom: 1rem;
}

.single-product .wp-block-post-excerpt {
  margin-bottom: 1.25rem;
}

.single-product .wp-block-woocommerce-product-meta {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e7eb;
  color: #4b5563;
}

.single-product .wp-block-woocommerce-product-meta a {
  color: #2563eb;
}

.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart .quantity .qty {
  min-height: 42px;
}

.woocommerce #payment,
.woocommerce-cart #payment {
  border-radius: 0.75rem;
  border: 1px solid #e5e7eb;
  background: #fff;
}

.woocommerce #payment ul.payment_methods {
  border-bottom: 1px solid #e5e7eb;
}

.woocommerce #payment ul.payment_methods > li {
  padding: 0.75rem 0;
}

/* Paytrail provider selector and tokenized cards */
.woocommerce-checkout .payment_box.payment_method_paytrail {
  background: #ffffff !important;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  color: #1f2937;
}

.woocommerce-checkout .payment_box.payment_method_paytrail::before {
  border-bottom-color: #ffffff !important;
}

.woocommerce-checkout .payment_box.payment_method_paytrail .checkout-terms-link {
  color: #6b7280;
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}

.woocommerce-checkout .payment_box.payment_method_paytrail .checkout-terms-link a {
  color: #2563eb;
}

.woocommerce-checkout .paytrail-provider-group {
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #f8fafc !important;
  padding: 0.7rem 0.85rem;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.woocommerce-checkout .paytrail-provider-group-title {
  color: #111827;
  font-weight: 600;
}

.woocommerce-checkout .paytrail-provider-group .provider-list {
  color: #6b7280;
}

.woocommerce-checkout .paytrail-provider-group.selected {
  border-color: #1d4ed8;
  background: #2563eb !important;
}

.woocommerce-checkout .paytrail-provider-group.selected .paytrail-provider-group-title {
  color: #ffffff !important;
}

.woocommerce-checkout .paytrail-provider-group.selected .provider-list {
  color: rgba(255, 255, 255, 0.92) !important;
}

.woocommerce-checkout .paytrail-provider-group:hover,
.woocommerce-checkout .paytrail-provider-group:focus {
  border-color: #1d4ed8;
  background: #1d4ed8 !important;
}

.woocommerce-checkout .paytrail-provider-group:hover .paytrail-provider-group-title,
.woocommerce-checkout .paytrail-provider-group:focus .paytrail-provider-group-title {
  color: #ffffff !important;
}

.woocommerce-checkout .paytrail-provider-group:hover .provider-list,
.woocommerce-checkout .paytrail-provider-group:focus .provider-list {
  color: rgba(255, 255, 255, 0.92) !important;
}

.woocommerce-checkout .paytrail-provider {
  border-radius: 0.5rem;
}

.woocommerce-checkout .paytrail-provider:hover {
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.14);
}

.woocommerce-checkout .paytrail-for-woocommerce-tokenized-payment-method {
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  padding: 0.75rem;
  margin-bottom: 0.6rem;
  background: #fff;
}

.woocommerce-checkout .paytrail-for-woocommerce-tokenized-payment-method-title {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: #1f2937;
}

.woocommerce-checkout .paytrail-for-woocommerce-tokenized-payment-method-title-image {
  height: 20px;
  width: auto;
}

.woocommerce-checkout .paytrail-for-woocommerce-tokenized-payment-method-links.button {
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  background: #fff;
  color: #1f2937;
}

.woocommerce-checkout .paytrail-for-woocommerce-tokenized-payment-method-links.button:hover {
  border-color: #2563eb;
  color: #2563eb;
}

.woocommerce-checkout .paytrail-woocommerce-payment-fields {
  background: #ffffff !important;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  margin: 0.5rem 0 0.9rem;
  padding: 0.45rem;
}

.woocommerce-checkout .paytrail-woocommerce-payment-fields--list-item--wrapper {
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  background: #ffffff;
}

.woocommerce-checkout .paytrail-woocommerce-payment-fields--list-item--input:checked + .paytrail-woocommerce-payment-fields--list-item--wrapper {
  border-color: #2563eb;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

.woocommerce-checkout .paytrail-for-woocommerce-payment-fields__error {
  border-left: 4px solid #ef4444;
  border-radius: 0.5rem;
  background: #fef2f2;
  color: #991b1b;
  padding: 0.75rem 1rem;
}

/* Posti / Pakettikauppa pickup fields in classic checkout table */
.woocommerce-checkout tr.shipping-pickup-point th,
.woocommerce-checkout tr.shipping-custom-pickup-point th {
  color: #111827;
  font-weight: 600;
}

.woocommerce-checkout tr.shipping-pickup-point td,
.woocommerce-checkout tr.shipping-custom-pickup-point td {
  padding-top: 0.5rem;
  padding-bottom: 1rem;
}

.woocommerce-checkout tr.shipping-pickup-point select,
.woocommerce-checkout tr.shipping-custom-pickup-point input[type="text"] {
  width: 100%;
}

.woocommerce-checkout .error-pickup {
  border-left: 4px solid #ef4444;
  border-radius: 0.5rem;
  background: #fef2f2;
  color: #991b1b;
  padding: 0.75rem 1rem;
  margin: 0 0 0.75rem;
}

#pakettikauppacustom_pickup_point_btn.btn {
  margin-top: 0.6rem;
  border-radius: 0.5rem;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #1f2937;
  padding: 0.6rem 1rem;
  font-weight: 600;
}

#pakettikauppacustom_pickup_point_btn.btn:hover {
  border-color: #2563eb;
  color: #2563eb;
}

@media (max-width: 960px) {
  .varisafe-shop-layout {
    display: block;
  }

  .varisafe-shop-filters {
    margin-bottom: 1.2rem;
  }
}
