/* WooCommerce surfaces the theme does not draw itself: notices, cart,
   checkout, account, and the generic page frame for legal texts. */
.page { padding-block: 26px 40px; }
.page__title { font-size: clamp(28px, 3vw, 38px); margin-bottom: 18px; }
.page__content { max-width: 72ch; font-size: 15px; }
.page__content p, .page__content li { margin-bottom: 12px; color: #3a4247; }
.page__content h2 { margin: 28px 0 10px; font-size: 22px; }
.page__content a { color: var(--himmel); text-decoration: underline; text-underline-offset: 4px; }
.page__content:has(.wc-block-cart), .page__content:has(.wc-block-checkout), .page__content:has(.woocommerce-cart-form), .page__content:has(.woocommerce-checkout), .page__content:has(.woocommerce-MyAccount-navigation) { max-width: none; }
.asq-notices:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { margin: 16px 0; padding: 12px 16px; border: 1px solid var(--linie); background: var(--papier); font-size: 14px; list-style: none; }
.woocommerce-error { border-color: #b5463c; }
.woocommerce-message .button, .woocommerce-info .button { float: right; color: var(--himmel); text-decoration: underline; text-underline-offset: 4px; }
.drawer__body { flex: 1; overflow: auto; }
.drawer__cartlink { display: block; text-align: center; margin-top: 12px; font-size: 13px; }
/* buttons across Woo, classic and block */
.button, .wc-block-components-button, .woocommerce button.button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  background: var(--himmel) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important;
  padding: 14px 24px !important; font-size: 11.5px !important; letter-spacing: .12em !important; text-transform: uppercase !important; font-weight: 500 !important; box-shadow: none !important;
}
.button:hover, .wc-block-components-button:hover { background: var(--himmel-tief) !important; }
.wc-block-components-button.outlined, .wc-block-components-button.contained.is-secondary { background: transparent !important; color: var(--tinte) !important; box-shadow: inset 0 0 0 1px var(--tinte) !important; }
/* block cart and checkout: keep the grid, quiet the chrome */
.wc-block-components-sidebar-layout { --wc-block-components-sidebar-width: 36%; }
.wc-block-components-product-name, .wc-block-components-totals-item__label { font-family: var(--text); }
.wc-block-cart-items__header, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-checkout-step__title { font-family: var(--display); font-weight: 400; }
.wc-block-components-text-input input, .wc-block-components-select select, .wc-block-components-country-input select, .form-row input.input-text, .form-row select, .form-row textarea { border-radius: 0 !important; border: 1px solid var(--linie) !important; box-shadow: none !important; font-family: var(--text); }
.wc-block-components-text-input input:focus, .form-row input.input-text:focus { border-color: var(--tinte) !important; }
.wc-block-components-radio-control__option, .wc-block-components-checkbox { font-size: 14px; }
.wc-block-components-order-summary-item__image img, .wc-block-cart-item__image img { border: 1px solid var(--linie); background: var(--papier); }
.wc-block-components-sidebar { border: 1px solid var(--linie); padding: 0 !important; }
.wc-block-components-panel__button, .wc-block-components-totals-coupon-link { color: var(--himmel); }
.wc-block-components-quantity-selector { border-radius: 0; border: 1px solid var(--linie); }
.wc-block-cart__empty-cart__title, .wc-block-checkout-empty__title { font-family: var(--display); font-weight: 400; }
/* classic cart/checkout/account (if blocks are off) */
.woocommerce table.shop_table { border: 1px solid var(--linie); border-collapse: collapse; width: 100%; font-size: 14px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px 10px; border-bottom: 1px solid var(--linie); text-align: left; }
.woocommerce table.shop_table img { width: 64px; height: 64px; object-fit: cover; background: var(--papier); }
.woocommerce-MyAccount-navigation ul { list-style: none; display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; font-size: 14px; }
.woocommerce-MyAccount-navigation a { text-decoration: underline; text-underline-offset: 4px; }
.woocommerce form .form-row label { font-size: 12.5px; color: var(--neben); display: block; margin-bottom: 4px; }
.woocommerce form .form-row { margin-bottom: 14px; }
.woocommerce-form-login, .woocommerce-form-register { max-width: 420px; }
.woocommerce-privacy-policy-text { font-size: 12.5px; color: var(--neben); }
.select2-container .select2-selection--single { border-radius: 0; border: 1px solid var(--linie); height: 44px; }
.acc__body p { padding: 0 0 16px; font-size: 14px; }
@media (max-width: 720px) { .woocommerce-message .button { float: none; display: block; margin-top: 6px; } }
/* reviews: verified buyers only (WooCommerce setting), rendered inside the accordion */
.reviews .woocommerce-Reviews-title { font-family: var(--display); font-weight: 400; font-size: 17px; margin: 6px 0 10px; }
.reviews .commentlist { list-style: none; }
.reviews .comment_container { display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--linie); }
.reviews .comment_container img.avatar { width: 40px; height: 40px; border-radius: 50%; }
.reviews .star-rating { color: var(--tinte); }
.reviews .woocommerce-review__author { font-weight: 500; }
.reviews .woocommerce-review__verified { color: var(--neben); font-size: 12px; }
.reviews .description p { font-size: 14px; }
.reviews #review_form_wrapper { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--linie); }
.reviews .comment-reply-title { font-family: var(--display); font-size: 17px; }
.reviews .comment-form textarea, .reviews .comment-form input[type="text"], .reviews .comment-form input[type="email"] { width: 100%; padding: 10px 12px; border: 1px solid var(--linie); font: inherit; }
.reviews .comment-form p { margin-bottom: 10px; font-size: 13px; }
.reviews .comment-form .submit { background: var(--himmel); color: #fff; border: 0; padding: 12px 20px; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.reviews .woocommerce-verification-required { color: var(--neben); font-size: 13.5px; }
.reviews .stars a { color: var(--tinte); }
