/* netzwerkdirekt theme – additions on top of the original shop CSS (app.css): WooCommerce forms, cart, checkout, notices, popovers. */
[hidden] { display: none !important; }
.screen-reader-text, .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; white-space: nowrap; }
body { font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; background: #fff; }
body.admin-bar .header { top: 32px; }
.back-to-top { position: fixed; right: 24px; bottom: 24px; z-index: 50; cursor: pointer; }

/* content pages */
.omg-content-page, .omg-shop-page { padding-top: 8px; padding-bottom: 64px; }
.omg-page-head { margin: 8px 0 24px; }
.omg-prose { color: var(--gray-700, #364152); line-height: 1.65; }
.omg-prose h1, .omg-prose h2, .omg-prose h3, .omg-prose h4 { color: var(--gray-900, #121926); margin: 1.6em 0 .6em; font-weight: 700; }
.omg-prose h2 { font-size: 1.5rem; } .omg-prose h3 { font-size: 1.2rem; }
.omg-prose ul, .omg-prose ol { padding-left: 1.4em; margin: 0 0 1em; }
.omg-prose a { color: var(--brand-700, #103a8e); text-decoration: underline; text-underline-offset: 2px; }
.omg-prose table { width: 100%; border-collapse: collapse; margin: 1em 0 1.5em; font-size: .9375rem; }
.omg-prose th, .omg-prose td { border: 1px solid var(--gray-200, #e3e8ef); padding: 8px 12px; text-align: left; vertical-align: top; }
.omg-prose th, .omg-prose thead td { background: var(--gray-50, #f8fafc); font-weight: 600; }
.omg-prose img { max-width: 100%; height: auto; }
.breadcrumb .breadcrumb-sep { color: var(--gray-400, #8894a5); list-style: none; }

/* product page */
.main-image-area { display: flex; align-items: center; justify-content: center; min-height: 632px; }
.main-image-area .omg-main-image { display: block; width: 100%; max-height: 632px; aspect-ratio: 1 / 1; object-fit: contain; }
.omg-carousel-layout { display: flex; gap: 16px; align-items: flex-start; }
.omg-carousel-layout .thumbs-vertical { width: 88px; flex: 0 0 88px; display: flex; flex-direction: column; gap: 8px; }
.omg-carousel-layout .thumbs-vertical-list { max-height: 460px; overflow: hidden auto; display: flex; flex-direction: column; gap: 8px; scrollbar-width: none; }
.omg-carousel-layout .thumb-item { cursor: pointer; }
.omg-carousel-layout .main-image-area { flex: 1; min-width: 0; }
.omg-brand-link { color: var(--gray-900, #121926); font-weight: 600; text-decoration: none; }
.woocommerce-variation-price, .woocommerce-variation-availability { display: none; }
table.variations { width: 100%; margin: 0 0 12px; border: 0; }
table.variations td, table.variations th { display: block; padding: 0; border: 0; text-align: left; }
table.variations label { font-size: .875rem; font-weight: 600; color: var(--gray-700, #364152); margin-bottom: 4px; display: block; }
table.variations select, .omg-sortrow select, .woocommerce form .form-row select {
  width: 100%; min-height: 40px; padding: 8px 12px; border: 1px solid var(--gray-300, #cdd5df); border-radius: .5rem; background: #fff;
  font-size: .875rem; font-weight: 600; color: var(--gray-900, #121926); box-shadow: 0 1px 2px rgba(10, 13, 18, .05);
}
.reset_variations { display: inline-block; margin-top: 6px; font-size: .8125rem; color: var(--brand-700, #103a8e); }
.woocommerce-product-attributes { width: 100%; }

/* listing */
.omg-fbar__item { position: relative; display: inline-block; }
.omg-fbar__menu { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; min-width: 220px; max-height: 320px; overflow: auto; background: #fff;
  border: 1px solid var(--gray-200, #e3e8ef); border-radius: .75rem; box-shadow: 0 12px 24px rgba(10, 13, 18, .12); padding: 8px; display: flex; flex-direction: column; gap: 2px; }
.omg-fbar__menu a, .omg-fbar__menu label { padding: 8px 10px; border-radius: .5rem; font-size: .875rem; color: var(--gray-800, #202939); text-decoration: none; }
.omg-fbar__menu a:hover, .omg-fbar__menu a.is-active { background: var(--brand-50, #eef4ff); color: var(--brand-800, #16336f); }
.omg-fbar__menu input[type=number] { width: 100%; margin-top: 4px; padding: 6px 8px; border: 1px solid var(--gray-300, #cdd5df); border-radius: .5rem; }
.omg-fbar__pill.is-active { border-color: var(--brand-700, #103a8e); color: var(--brand-800, #16336f); }
.omg-fbar__rail { overflow: visible; }
.omg-sortrow { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.omg-sortrow select { width: auto; min-height: 36px; }
.omg-catnav__sub { display: flex; flex-direction: column; padding: 4px 0 8px 36px; }
.omg-catnav__sub a { padding: 4px 0; font-size: .875rem; color: var(--gray-700, #364152); }
.pagination { display: flex; gap: 6px; list-style: none; padding: 0; flex-wrap: wrap; }
.pagination .page-link { display: block; padding: 8px 14px; border: 1px solid var(--gray-300, #cdd5df); border-radius: .5rem; color: var(--gray-800, #202939); text-decoration: none; }
.pagination .active .page-link { background: var(--brand-800, #16336f); border-color: var(--brand-800, #16336f); color: #fff; }
.category-item-wrapper { list-style: none; }

/* notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
  margin: 0 0 24px; padding: 14px 18px; border-radius: .75rem; border: 1px solid var(--brand-200, #c7d9fe); background: var(--brand-50, #eef4ff); color: var(--gray-900, #121926); list-style: none; }
.woocommerce-error { border-color: #fda29b; background: #fef3f2; }
.woocommerce-message .button { float: right; margin-left: 16px; }

/* forms, buttons, tables (cart / checkout / account) */
.woocommerce .button, .woocommerce button.button, .wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; border: 0; border-radius: .5rem; cursor: pointer;
  background: var(--bg-brand-solid, #16336f); color: #fff !important; font-weight: 600; text-decoration: none; }
.woocommerce .button:hover, .wc-block-components-button:not(.is-link):hover { background: var(--brand-900, #122854); }
.woocommerce form .form-row { margin: 0 0 16px; }
.woocommerce form .form-row label { display: block; font-weight: 600; font-size: .875rem; margin-bottom: 4px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-input-wrapper select, .wc-block-components-text-input input, .wc-block-components-form .wc-block-components-text-input input {
  width: 100%; padding: 10px 12px; border: 1px solid var(--gray-300, #cdd5df); border-radius: .5rem; background: #fff; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; margin: 0 0 24px; border: 1px solid var(--gray-200, #e3e8ef); border-radius: .75rem; overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 14px 16px; border-bottom: 1px solid var(--gray-200, #e3e8ef); text-align: left; vertical-align: middle; }
.woocommerce table.shop_table thead th { background: var(--gray-50, #f8fafc); font-weight: 600; }
.woocommerce-cart-form .product-thumbnail img { width: 72px; height: auto; }
.woocommerce .cart_totals, .wc-block-components-sidebar { background: #fff; border: 1px solid var(--gray-200, #e3e8ef); border-radius: 1rem; padding: 24px; }
.woocommerce .cart_totals h2 { font-size: 1.25rem; }
.woocommerce-checkout #payment { background: var(--gray-50, #f8fafc); border-radius: 1rem; padding: 16px; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.woocommerce-MyAccount-navigation a { padding: 8px 14px; border: 1px solid var(--gray-300, #cdd5df); border-radius: .5rem; color: var(--gray-800, #202939); text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--brand-800, #16336f); color: #fff; border-color: var(--brand-800, #16336f); }
.wc-block-components-product-name, .wc-block-components-totals-item__value { color: var(--gray-900, #121926); }

.qty-input::-webkit-outer-spin-button, .qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty-input { -moz-appearance: textfield; }

/* gallery thumbnails: keep any image size inside the 1:1 thumb box (also when no small image sizes exist) */
.omg-carousel-layout .thumb-item { position: relative; }
.omg-carousel-layout .thumb-item .image-container { width: 100%; height: 100%; overflow: hidden; }
.omg-carousel-layout .thumb-item picture { display: block; width: 100%; height: 100%; }
.omg-carousel-layout .thumb-item img { display: block; width: 100%; height: 100%; object-fit: contain; max-width: 100%; }
.omg-carousel-layout .thumbs-vertical-list { flex: 0 1 auto; min-height: 0; }
.omg-carousel-layout { align-items: stretch; }
.main-image-area { align-self: flex-start; }
.omg-carousel-layout .thumb-item .image-container { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.main-image-area .single-carousel { display: block; width: 100%; }
.main-image-area .omg-main-image-link { position: static !important; display: block; width: 100%; }

/* netzwerkdirekt logo (wide wordmark) */
.navbar-logo .navbar-brand img { width: auto; height: 26px; max-width: 100%; }
.navbar-logo .navbar-brand.d-lg-none img { height: 21px; }
footer .footer-omg-logo img { max-width: 210px !important; width: 210px !important; height: auto !important; }
