/* WooCommerce in DoorHi colors. Loads on shop, product, cart, checkout, and account screens only. */
.doorhi-shop { padding-top: 32px; }
.doorhi-woo .article { max-width: none; }
.doorhi-woo .woocommerce, .doorhi-woo .wp-block-woocommerce-cart, .doorhi-woo .wp-block-woocommerce-checkout { font-size: 17px; }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link), .wp-element-button.wc-block-components-button {
  background: var(--signal) !important; color: var(--ink) !important; font-weight: 800; border: 2px solid var(--signal); border-radius: 6px;
  padding: 13px 22px; font-size: 17px; line-height: 1.1; text-decoration: none; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover { background: #E2A800 !important; border-color: #E2A800; color: var(--ink) !important; }
.woocommerce a.button.disabled, .woocommerce button.button:disabled { opacity: .5; }
.woocommerce .cart .actions .button[name="update_cart"] { background: transparent !important; border-color: var(--field); color: var(--field) !important; }

/* Prices and stars */
.woocommerce .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price { color: var(--ink); font-weight: 800; }
.woocommerce div.product p.price { font-size: 30px; }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--signal); }

/* Category and search lists */
.woocommerce ul.products li.product { border: 1.5px solid var(--line); border-radius: 10px; padding: 0 0 16px; overflow: hidden; background: #fff; }
.woocommerce ul.products li.product a img { margin: 0 0 12px; aspect-ratio: 16 / 10; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .button { margin-left: 16px; margin-right: 16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 19px; color: var(--ink); }
.woocommerce .woocommerce-result-count { color: var(--muted); }
.woocommerce .woocommerce-ordering select { padding: 9px; border: 1.5px solid #8C9A91; border-radius: 6px; }

/* One product */
.woocommerce div.product .product_title { font-size: clamp(30px, 4vw, 44px); line-height: 1.1; }
.woocommerce div.product div.images img { border-radius: 10px; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 19px; color: var(--muted); }
.woocommerce div.product form.cart { margin: 20px 0; }
.woocommerce div.product form.cart .quantity .qty { padding: 11px; border: 1.5px solid #8C9A91; border-radius: 6px; font-size: 17px; width: 4.5em; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--sage); border-color: var(--line); border-radius: 6px 6px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--ink); font-weight: 700; }
.woocommerce div.product .woocommerce-tabs .panel { font-size: 18px; line-height: 1.6; max-width: 760px; }
.woocommerce .product_meta { color: var(--muted); font-size: 15px; }
.woocommerce .related.products > h2, .woocommerce .upsells.products > h2 { font-size: 28px; }
.eddm-price-suffix { font-size: 16px; font-weight: 600; color: var(--muted); }
.eddm-price-per { display: block; font-size: 15px; font-weight: 600; color: var(--muted); margin-top: 4px; }
.eddm-price-free { color: #146C2E; }

/* Notices */
.woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner.is-success, .wc-block-components-notice-banner.is-info { border-top-color: var(--field) !important; background: #E5F4E4; color: var(--ink); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--field); }
.woocommerce-error, .wc-block-components-notice-banner.is-error { border-top-color: #A4262C !important; background: #FBEBEB; }
.woocommerce-message .button, .woocommerce-info .button { float: right; }

/* Forms (classic and block checkout) */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.select2-container .select2-selection--single, .wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input {
  border: 1.5px solid #8C9A91 !important; border-radius: 6px !important; font-size: 16px !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { padding: 11px; }
.woocommerce form .form-row label, .woocommerce-checkout h3 { font-weight: 700; }
.woocommerce form .form-row input.input-text:focus, .wc-block-components-text-input input:focus { outline: 3px solid var(--route); outline-offset: 1px; }

/* Cart and order tables */
.woocommerce table.shop_table { border-color: var(--line); border-radius: 10px; }
.woocommerce table.shop_table th { background: var(--sage); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 14px 12px; }
.woocommerce-cart table.cart img { width: 72px; border-radius: 6px; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout #order_review_heading { font-size: 26px; }
.woocommerce a.remove { color: #A4262C !important; }
.woocommerce a.remove:hover { background: #A4262C; color: #fff !important; }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1.5px solid var(--line); border-radius: 10px; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; text-decoration: none; color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--sage); box-shadow: inset 4px 0 0 var(--field); }

@media (max-width: 760px) {
  .doorhi-shop { padding-top: 16px; }
  .woocommerce a.button, .woocommerce button.button { width: 100%; text-align: center; }
  .woocommerce .cart .actions .coupon { width: 100%; }
  .woocommerce-message .button, .woocommerce-info .button { float: none; display: block; margin-bottom: 8px; }
}
