/* Cannectra Site Tweaks – site-wide CSS adjustments (loaded after theme styles). */
/* Cart, checkout & mini-cart: no product descriptions under line items. */
.wc-block-components-product-metadata__description,
.wp-block-woocommerce-checkout .product-desc,
.wp-block-woocommerce-cart .product-desc { display: none !important; }

/* Product page: short description sits in the buybox, under price and cart button. */
/* Short description as the first card in the buybox */
.cn-buybox .cn-product-subtitle.cx-short-card { order:-1; flex-basis:100%; width:100%; max-width:none; margin:0 0 16px !important; padding:18px 22px; border:1px solid rgba(76,120,134,.16); border-radius:18px; background:linear-gradient(135deg,#fff,#f6fafb); box-shadow:0 8px 24px rgba(30,42,47,.05); color:var(--cannectra-muted,#63747b); font-size:14px; line-height:1.75; }
.cn-buybox .cn-product-subtitle p:last-child { margin-bottom: 0; }
/* Visitors without price access: description sits directly in the buybox, so give it the buybox's inner padding. */


/* Header: tighter spacing on desktop. Theme variables also drive all sticky offsets. */
@media (min-width: 1201px) {
	:root { --cannectra-service-height: 30px !important; --cannectra-header-height: 70px !important; --cannectra-category-height: 44px !important; }
	.cannectra-search { height: 42px !important; }
	.cannectra-topbar__inner { gap: clamp(0.6rem, 1vw, 1rem) !important; }
}

/* Unified page frame: one max width and one side gutter for header, footer and every page. */
:root { --cx-gutter: clamp(16px, 2.6vw, 40px); --cx-frame: min(1540px, calc(100% - 2 * var(--cx-gutter))); }
html body :is(
	.cannectra-servicebar__list, .cannectra-topbar__inner, .cannectra-categorybar__inner, .cannectra-footer__grid,
	#cannectra-main, .cannectra-about-page, .cannectra-blog-page, .cannectra-shop-page, .cn-product-page, .cn-info-page,
	.cannectra-contact-page .container, .cannectra-commerce-title, :is(.woocommerce-cart, .woocommerce-checkout) main,
	.cannectra-account-title, .cannectra-account-dashboard-title, .cannectra-account-shell, .cannectra-account-page .woocommerce-notices-wrapper,
	#authView .auth-swap-heads, #authView .auth-swap-stage, .auth-page .container,
	.opening-inner, .flow-inner, .top-grid-section, .cn-matrix
) {
	width: var(--cx-frame) !important; max-width: none !important; margin-inline: auto !important;
}
/* A frame inside another frame fills its parent instead of adding a second gutter. */
html body :is(#cannectra-main, .cannectra-about-page, .cannectra-blog-page, .cannectra-shop-page, .cn-product-page, .cn-info-page, .cannectra-account-shell, .cannectra-contact-page .container, :is(.woocommerce-cart, .woocommerce-checkout) main, .auth-page .container, #authView .auth-swap-stage)
	:is(.cannectra-about-page, .cannectra-blog-page, .cannectra-shop-page, .cn-product-page, .cn-info-page, .cannectra-contact-page .container, .cannectra-commerce-title, .cannectra-account-title, .cannectra-account-dashboard-title, .cannectra-account-shell, .cannectra-account-page .woocommerce-notices-wrapper, #authView .auth-swap-heads, #authView .auth-swap-stage, .auth-page .container, .opening-inner, .flow-inner, .top-grid-section, .cn-matrix) {
	width: 100% !important;
}
/* Login/registration: form uses the full main column (the old inner sidebar column is empty since the sidebar lives in the right column). */
html body #authView, html body .auth-page { --auth-form-width: 100 !important; }
html body #authView .auth-swap-main-slot :is(.login-layout, .register-layout) { grid-template-columns: minmax(0, 1fr) !important; justify-content: stretch !important; }
html body #authView .auth-swap-main-slot :is(.login-form-card, .register-form-card, .card) { max-width: none !important; width: 100% !important; margin-inline: 0 !important; }

/* Header search pop-up: tabs sized to their labels (no clipped/overlapping text), pop-up never narrower than its tabs. */
html body .cannectra-search .cannectra-search-flyout { background: #fff !important; }
html body .cannectra-search .cannectra-search-tabs { display: flex !important; flex-wrap: nowrap; gap: .35rem; overflow-x: auto; scrollbar-width: none; }
html body .cannectra-search .cannectra-search-tabs::-webkit-scrollbar { display: none; }
html body .cannectra-search .cannectra-search-tab { flex: 1 0 auto; min-width: max-content; white-space: nowrap; padding-inline: .85rem !important; text-align: center; }
@media (min-width: 761px) {
	html body .cannectra-search .cannectra-search-flyout { min-width: min(500px, calc(100vw - 2 * var(--cx-gutter, 16px))); }
}
/* Breathing room between the header (category bar) and the page content, the same on every page. */
:root { --cx-header-gap: clamp(16px, 1.9vw, 28px); }
html body #cannectra-main#cannectra-main { padding-top: var(--cx-header-gap) !important; }
/* Remove page-specific top paddings so the gap above is the only one. */
html body #cannectra-main#cannectra-main > .hero:first-of-type, html body #cannectra-main#cannectra-main .frontpage-fold > .top-grid-section:first-child { padding-top: 0 !important; margin-top: 0 !important; }
html body #cannectra-main.cannectra-frontpage > .frontpage-fold:first-child { margin-top: 0 !important; padding-top: 0 !important; }
html body #cannectra-main > :first-child, html body #cannectra-main > :first-child > :first-child, html body #cannectra-main > .cn-product > :first-child { margin-top: 0 !important; }

/* Home: the main area's white glow ended at the frame edge and showed as a white band; let the page background show through. */
html body #cannectra-main.cannectra-frontpage { background: transparent !important; }

/* Phones: two product cards per row in the shop/category grid and in "Ähnliche Produkte" (list view unchanged). */
@media (max-width: 700px) {
	html body .cannectra-catalog:not(.is-list-view) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
	html body .cn-product-page .cn-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; --related-columns: 4 !important; }
	html body .cannectra-catalog:not(.is-list-view) ul.products li.product,
	html body .cn-related-grid > * { min-width: 0 !important; width: auto !important; margin: 0 !important; }
	html body .cannectra-catalog:not(.is-list-view) ul.products li.product :is(h2, h3, .woocommerce-loop-product__title),
	html body .cn-related-grid :is(h2, h3) { font-size: 13px !important; line-height: 1.3 !important; overflow-wrap: anywhere; }
}
/* Same space above the footer as below the header. */
html body #cannectra-main#cannectra-main { padding-bottom: var(--cx-header-gap) !important; margin-bottom: 0 !important; }
html body #cannectra-main#cannectra-main > :last-child { margin-bottom: 0 !important; }
html body #cannectra-main#cannectra-main > .seo-note:last-of-type { padding-bottom: 0 !important; }
html body #authView#authView, html body #authView .auth-main, html body #authView .auth-swap-stage { padding-bottom: 0 !important; margin-bottom: 0 !important; min-height: 0 !important; }
/* Registration sidebar's last card overflows its frame slightly; keep room for it. */
html body #authView[data-active-mode="register"] .auth-swap-stage { padding-bottom: 28px !important; }

/* cx-account-addresses: Mein Konto → Adressen – two equal cards side by side */
.cannectra-account-content .woocommerce-Addresses::before,
.cannectra-account-content .woocommerce-Addresses::after { display:none !important; content:none !important; }
.cannectra-account-content .woocommerce-Addresses .woocommerce-Address { float:none !important; width:auto !important; max-width:none !important; margin:0 !important; }
.cannectra-account-content .woocommerce-Address-title { flex-wrap:wrap; align-items:baseline !important; row-gap:6px; }
.cannectra-account-content .woocommerce-Address-title::before,
.cannectra-account-content .woocommerce-Address-title::after { display:none !important; content:none !important; }
.cannectra-account-content .woocommerce-Address-title h2 { padding:0 !important; float:none !important; text-align:left !important; }
.cannectra-account-content .woocommerce-Address-title .edit { float:none !important; }
.cannectra-account-content .woocommerce-Address-title .edit { white-space:nowrap; }
.cannectra-account-content .woocommerce-Address address { margin-bottom:0; line-height:1.6; }
/* cx-product-extra-tabs: Lieferanteninformationen + Bewertungen in the description's look */
.cx-supplier-grid { align-items:start; }
.cx-supplier-grid .cn-data-card { font-size:13px; line-height:1.7; color:var(--cannectra-muted,#63747b); }
.cx-supplier-grid .german-market-gpsr-label { display:block; margin-bottom:6px; color:var(--cannectra-ink,#1e2a2f); font-size:13px; font-weight:800; }
.cx-supplier-grid .german-market-gpsr-content p { margin:0 0 .6em; }
.cx-supplier-grid .is-empty .german-market-gpsr-content { font-style:italic; opacity:.8; }
#panel-cx_reviews { font-size:13px; line-height:1.7; color:var(--cannectra-muted,#63747b); }
#panel-cx_reviews .woocommerce-Reviews-title, #panel-cx_reviews #reply-title { margin:0 0 10px; color:var(--cannectra-ink,#1e2a2f); font-size:16px; font-weight:800; }
#panel-cx_reviews .commentlist { margin:0 0 20px; padding:0; list-style:none; }
#panel-cx_reviews .commentlist li { margin:0 0 12px; padding:14px 16px; border:1px solid rgba(76,120,134,.18); border-radius:14px; }
#panel-cx_reviews .comment-text p { margin:.3em 0; }
#panel-cx_reviews textarea, #panel-cx_reviews select { width:100%; max-width:640px; padding:10px 12px; border:1px solid rgba(76,120,134,.3); border-radius:10px; font:inherit; }
#panel-cx_reviews .form-submit input[type=submit] { padding:10px 20px; border:0; border-radius:10px; background:#365f6b; color:#fff; font-weight:800; cursor:pointer; }
/* Kontaktformular: Datenschutz-Checkbox + aktiver Senden-Button */
.cannectra-contact-form .cx-consent { display:flex; align-items:flex-start; gap:10px; max-width:520px; color:var(--muted); font-size:12px; line-height:1.55; cursor:pointer; }
.cannectra-contact-form .cx-consent input[type=checkbox] { -webkit-appearance:auto !important; appearance:auto !important; position:static !important; display:inline-block !important; opacity:1 !important; flex:0 0 18px; width:18px !important; height:18px !important; margin:1px 0 0 !important; clip:auto !important; accent-color:var(--brand-dark,#4c7886); cursor:pointer; }
.cannectra-contact-form .cx-consent a { color:var(--brand-dark,#4c7886); text-decoration:underline; }
.cannectra-contact-form .cx-consent .req { color:var(--accent,#f28c35); font-weight:800; }
.cannectra-contact-form:valid .button:not(:disabled) { background:var(--accent,#f28c35); cursor:pointer; opacity:1; box-shadow:0 10px 24px rgba(242,140,53,.28); }
.cannectra-contact-form:valid .button:not(:disabled):hover { background:var(--accent-dark,#d97521); }
/* cx-notice-brand: info notices in the Cannectra colours, readable action button */
.cn-toast-region, .cn-notice, .wc-block-components-notice-banner, .woocommerce-message, .woocommerce-error, .woocommerce-info, .coupon-error-notice { --cn-toast-info:#365f6b; --cn-toast-info-bg:#eaf3f5; }
.cn-notice .cn-toast__title { text-transform:none; }
.cn-notice .cn-toast__description:has(.button) { display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; }
.cn-notice .cn-toast__description .button, .cn-notice .cn-toast__description .button.wc-forward { order:2; display:inline-flex !important; align-items:center; min-height:34px; margin:2px 0 0 !important; padding:8px 16px !important; border:1px solid color-mix(in srgb, var(--cn-status) 28%, transparent) !important; border-radius:10px !important; background:#fff !important; color:var(--cn-status) !important; font:700 12.5px/1.2 var(--cn-toast-font) !important; text-decoration:none !important; box-shadow:none !important; transform:none !important; }
.cn-notice .cn-toast__description .button:hover { background:var(--cn-status) !important; color:#fff !important; }
.cn-notice .cn-toast__description .button::before, .cn-notice .cn-toast__description .button::after { content:none !important; }
/* cx-shop-mobile-head: Shop/Kategorie on phones – no filter status, search, view switch, Merkliste/Bestellhistorie or sorting bar */
@media (max-width: 700px) {
  .cannectra-shop-workspace .cannectra-shop-workspace-head { display:none !important; }
  /* Title box on phones: title only (no 'Mehr erfahren', no order dashboard cards) */
  .cannectra-shop-title-panel .cannectra-page-title__toggle,
  .cannectra-shop-title-panel .cannectra-shop-dashboard,
  .cannectra-shop-title-panel .cannectra-page-title__details { display:none !important; }
}

/* cx-category-dropdown-attach: header category dropdown sits directly under its menu item (item is 36px, vertically centred in the bar) */
.cannectra-categorybar__inner .cannectra-category-hover-panel,
.cannectra-categorybar__inner > .cannectra-category-item > .cannectra-category-menu { top: calc(50% + 18px) !important; }
.cannectra-categorybar__inner .cannectra-category-hover-panel::before,
.cannectra-categorybar__inner > .cannectra-category-item > .cannectra-category-menu::before { height: 4px; }
