/**
 * Phone layout fixes (loaded after style.css and pages.css on every page).
 *
 * Long German, Polish and Russian words used to push grid and flex columns wider than the
 * screen, so pages scrolled sideways and parts were cut off. Columns may now shrink, text wraps.
 */

/* Grids: columns may shrink below their longest word */
@media (max-width: 899px) { .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.site-footer__menu { grid-template-columns: minmax(0, 1fr); }
.site-footer__menu a { max-width: 100%; overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 639px) { .collections__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.promos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.trust__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 359px) { .trust__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.trust__list strong { max-width: 100%; overflow-wrap: anywhere; hyphens: auto; }
.trust__list span:not(.trust__badge) { max-width: 100%; overflow-wrap: break-word; hyphens: auto; }
.values-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.blog-archive-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 350px), 1fr)); }
.contact__cards li, .contact-card { min-width: 0; max-width: 100%; }
.contact__cards li { overflow-wrap: anywhere; }
.shop__toolbar .woocommerce-ordering, .shop__toolbar .woocommerce-ordering select { max-width: 100%; }

/* My account menu: the template prints its own icons; drop the duplicate CSS ones (showed as empty boxes) */
.woocommerce-MyAccount-navigation li a::before { content: none !important; }

/* Cart totals: labels and amounts stay on one line; only the shipping text wraps (long DE/PL/RU words) */
.totals-table th { white-space: nowrap; padding-right: 12px; }
.totals-table .amount { white-space: nowrap; }
.totals-table td { overflow-wrap: break-word; }
.cart-totals-box .woocommerce-shipping-methods { list-style: none; margin: 0 0 6px; padding: 0; }
.cart-totals-box .woocommerce-shipping-methods label,
.cart-totals-box .woocommerce-shipping-destination { color: inherit; font-weight: 500; }
.cart-totals-box .woocommerce-shipping-destination { color: #cfc6b8; font-size: .85rem; }
@media (max-width: 599px) {
	.cart-totals-box { padding: 28px 18px; }
	.cart-totals-box h2 { font-size: 1.3rem; }
	.totals-table th { font-size: .85rem; }
	.order-total th { font-size: .95rem; }
	.order-total td strong { font-size: 1.25rem; }
}

/* Quantity stepper ( − 1 + ), built by main.js around WooCommerce's number input */
.qty-stepper { display: inline-flex; align-items: stretch; border: 1px solid var(--border-color); border-radius: 999px; overflow: hidden; background: var(--bg-white); }
.qty-stepper .qty { width: 3.2em; min-height: 44px; border: 0 !important; border-radius: 0 !important; text-align: center; -moz-appearance: textfield; appearance: textfield; background: transparent; padding: 0; }
.qty-stepper .qty::-webkit-outer-spin-button, .qty-stepper .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty-stepper__btn { width: 44px; border: 0; background: transparent; font-size: 1.25rem; line-height: 1; color: var(--text-dark); cursor: pointer; }
.qty-stepper__btn:hover, .qty-stepper__btn:focus-visible { background: var(--bg-light); }
.product-detail__buy .quantity.qty-stepper { flex: 0 0 auto; }
.woocommerce-cart-form.is-updating { opacity: .6; pointer-events: none; transition: opacity .2s; }

/* Registration form: address fields side by side on wider screens */
.ankhaz-register-fields { display: grid; gap: 0 16px; }
@media (min-width: 600px) { .ankhaz-register-fields { grid-template-columns: 1fr 1fr; } .ankhaz-register-fields .form-row-wide { grid-column: 1 / -1; } }

/* Cart / checkout / account columns may shrink to the phone width (flex items default to min-width: auto) */
.cart-items-wrapper, .cart-totals-wrapper, .checkout-form-section, .checkout-review-section, .woocommerce-MyAccount-content { min-width: 0; max-width: 100%; }
@media (max-width: 599px) {
	.coupon-input { min-width: 0; width: 100%; }
	.cart-actions .btn { width: 100%; white-space: normal; }
	.cart-table td { padding: 10px 14px; gap: 10px; }
	.cart-table td::before { margin-right: 0; flex-shrink: 0; }
	.cart-table .product-name { text-align: right; }
}
@media (max-width: 992px) {
	/* Stacked columns fill the screen width instead of sizing to their content. */
	.cart-container, .account-container, .checkout-form { align-items: stretch !important; }
	.checkout-form > * { width: 100%; }
}

/* Checkout order summary: same treatment as the cart totals for long translated labels */
.woocommerce-checkout-review-order-table .amount { white-space: nowrap; }
.woocommerce-checkout-review-order-table td { overflow-wrap: break-word; }
.shop-pagination { max-width: 100%; flex-wrap: wrap; }
@media (max-width: 599px) {
	.woocommerce-checkout-review-order-table th { font-size: .85rem; padding-right: 10px; }
	.woocommerce-checkout-review-order-table .order-total th { font-size: .95rem; }
	.woocommerce-checkout-review-order-table .order-total td { font-size: 1.25rem; }
	.woocommerce-checkout-review-order-table thead { display: none; }
}
.blog-main-content, .blog-sidebar { min-width: 0; max-width: 100%; }
.shop-pagination ul, .shop-pagination .page-numbers { flex-wrap: wrap; }
@media (max-width: 599px) {
	.order-review-box { padding: 22px 14px; }
	.checkout-form-section { padding: 22px 14px; }
}

/* Order confirmation / account: long emails and addresses wrap on phones */
.woocommerce-customer-details address, .woocommerce-order-overview li, .meta-item, .woocommerce-customer-details--email { overflow-wrap: anywhere; min-width: 0; }
.woocommerce-order-details .product-name a { overflow-wrap: normal; }
