/* Additions for WordPress/WooCommerce on top of the original site.css / shop.css */

/* Pages without slider: room for the fixed header */
body.standard main { padding-top: 150px; padding-bottom: 3rem; }
body.standard main.shopProductDetailPage { padding-top: 10%; padding-bottom: 5%; }
main.shopProductDetailPage { min-height: 60vh; }
body.hm-shop-page { background-color: #f1efeb; }
.hm-content > h1.hm-page-title { margin-bottom: 2rem; }
.hm-content h1, .hm-content h3 { margin-bottom: 1.5rem; }

/* Slider: smaller first headline (former inline style) */
.slider_topping { font-size: 80%; }
.tx-seslider .slick-slide { overflow: hidden; }

/* Shop list: one wine per row with a separator line */
.hm-shop-list .hm-shop-row + .hm-shop-row { border-top: 1px solid #ddd; }
.hm-shop-list .hm-shop-row { padding: 20px 0; }
.shopOutOfStockInfo { font-size: 14px; }
.shopAddToCartInput { max-width: 70px; -moz-appearance: textfield; }
.shopAddToCartInput::-webkit-outer-spin-button,
.shopAddToCartInput::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.shopProductDetailDescription { margin-top: 2rem; }
.hm-cart-count { margin-left: 4px; }

/* Contact form */
.hm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.hm-form-title { margin-bottom: 1rem; }
.hm-contact-form .form-control { border-radius: 0; height: 50px; }
.hm-contact-form textarea.form-control { height: 100px; }

/* WooCommerce: cart, checkout, account in the look of the old shop */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
	list-style: none; margin: 0 0 1.5rem; padding: 1rem 1.25rem; background: #fff; border-left: 4px solid #d1ab59;
}
.woocommerce-error { border-left-color: #dc3545; }
.woocommerce-message .button, .woocommerce-info .button { float: right; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page .button {
	display: inline-block; color: #fff; background-color: #d1ab59; border: 1px solid #d1ab59; border-radius: .25rem;
	padding: .375rem .75rem; font-size: 1rem; line-height: 1.5; cursor: pointer; font-family: 'Montserrat', helvetica;
}
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover {
	color: #d1ab59; background-color: #fff; border-color: #d1ab59; text-decoration: none;
}
.woocommerce .button:disabled, .woocommerce button.button:disabled { opacity: .6; cursor: not-allowed; }
.woocommerce form .input-text, .woocommerce form select, .woocommerce-page form .input-text {
	display: block; width: 100%; padding: .375rem .75rem; font-size: 1rem; line-height: 1.5; color: #495057;
	background: #fff; border: 1px solid #ced4da; border-radius: .25rem;
}
.woocommerce form .form-row { margin-bottom: 1rem; }
.woocommerce form .form-row label { display: block; margin-bottom: .25rem; }
.woocommerce form .form-row .required { color: #dc3545; text-decoration: none; border: 0; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 48%; float: left; }
.woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide { clear: both; }
.woocommerce .col2-set { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.woocommerce .col2-set > div { flex: 1 1 50%; padding: 0 15px; }
.woocommerce .clear { clear: both; }
.woocommerce table.shop_table { width: 100%; background: #fff; margin-bottom: 1.5rem; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: .75rem; border-top: 1px solid #dee2e6; vertical-align: middle; }
.woocommerce table.shop_table img { width: 50px; height: auto; }
.woocommerce .quantity .qty { width: 70px; text-align: center; padding: .375rem; border: 1px solid #ced4da; border-radius: .25rem; }
.woocommerce a.remove { font-size: 1.5rem; color: #dc3545 !important; text-decoration: none; }
.woocommerce .cart-collaterals .cart_totals { max-width: 480px; margin-left: auto; }
.woocommerce ul.woocommerce-shipping-methods, .woocommerce ul.wc_payment_methods { list-style: none; padding: 0; margin: 0; }
.woocommerce #payment { background: #fff; padding: 1rem; }
.woocommerce #payment .payment_box { background: #f8f9fa; padding: 1rem; margin: .5rem 0 1rem; }
.woocommerce-checkout #order_review_heading, .woocommerce h2, .woocommerce h3 {
	font-family: 'Montserrat', helvetica; font-style: normal; letter-spacing: 0; text-transform: uppercase; font-size: 1.5rem;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: .5rem 0; color: #000; }
.woocommerce-MyAccount-navigation li.is-active a { color: #d1ab59; }
@media (min-width: 768px) {
	.woocommerce-account .woocommerce { display: flex; gap: 30px; }
	.woocommerce-MyAccount-navigation { flex: 0 0 220px; }
	.woocommerce-MyAccount-content { flex: 1; }
}
@media (max-width: 767px) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
	.woocommerce .col2-set > div { flex-basis: 100%; }
	body.standard main { padding-top: 100px; }
}
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* Content blocks (block editor) in the look of the old content elements */
.has-text-align-center { text-align: center; }
.hm-content .wp-block-columns { display: flex; flex-wrap: wrap; gap: 30px; margin-bottom: 1.5rem; }
.hm-content .wp-block-column { flex: 1 1 0; min-width: 0; }
@media (max-width: 767px) { .hm-content .wp-block-column { flex-basis: 100%; } }
.hm-content h2.hm-kicker { font-size: 1.5rem; letter-spacing: 4px; font-style: italic; font-family: 'Montserrat', helvetica; margin-bottom: 1rem; }
.hm-content table { border: 0; margin-bottom: 0; }
.hm-content table td { border: 0; padding: 0 5px; }
.hm-content .wp-block-table td, .hm-content .wp-block-table th { border: 0; }
.hm-content .wp-block-heading > p { margin: 0; }

/* WooCommerce's .col-1/.col-2 collide with Bootstrap's grid classes */
.woocommerce .col2-set > .col-1, .woocommerce .col2-set > .col-2,
.woocommerce .u-columns > .col-1, .woocommerce .u-columns > .col-2 {
	flex: 1 1 50%; max-width: 50%; position: static; padding: 0 15px;
}
.woocommerce .u-columns { display: flex; flex-wrap: wrap; margin: 0 -15px; }
@media (max-width: 767px) {
	.woocommerce .col2-set > .col-1, .woocommerce .col2-set > .col-2,
	.woocommerce .u-columns > .col-1, .woocommerce .u-columns > .col-2 { flex-basis: 100%; max-width: 100%; }
}
.woocommerce-form-login, .woocommerce-form-register { background: transparent; }
.woocommerce-account h2 { margin-top: 1rem; }

/* Checkout fine-tuning */
.woocommerce form .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
.woocommerce form .form-row select, .woocommerce form .form-row textarea { width: 100%; }
.woocommerce form .form-row textarea { min-height: 100px; }
.woocommerce form .form-row label.checkbox, .woocommerce form .form-row .woocommerce-form__label-for-checkbox { display: inline; }
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce #place_order,
.woocommerce a.checkout-button {
	background-color: #d1ab59 !important; border-color: #d1ab59 !important; color: #fff !important; font-weight: 600;
	padding: .6rem 1.25rem; font-size: 1.1rem;
}
.woocommerce button.button.alt:hover, .woocommerce #place_order:hover, .woocommerce a.checkout-button:hover {
	background-color: #fff !important; color: #d1ab59 !important;
}
.woocommerce #payment div.payment_box { background-color: #f1efeb; color: #000; }
.woocommerce #payment div.payment_box::before { border-bottom-color: #f1efeb; }
.woocommerce-info, .woocommerce-message { border-top: 0; }
.woocommerce-info::before, .woocommerce-message::before { display: none; }
.hm-consents { margin: 1rem 0; }
.hm-consents .form-row { margin-bottom: .5rem; }
.hm-step-hint { color: #dc3545; }

/* Slider image always fills the slide (the old site served a taller crop on phones) */
.tx-seslider .slick-slide picture, .tx-seslider .slick-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
