.ll-header-cart { position: relative; display: inline-flex; flex: 0 0 44px; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--ll-blue-700); background: var(--ll-sky-50); border: 1px solid var(--ll-line); border-radius: 13px; text-decoration: none; }
.ll-header-cart svg { width: 24px; height: 24px; }
.ll-header-cart:hover { background: var(--ll-blue-100); }
.ll-header-cart:focus-visible { outline: 3px solid var(--ll-blue-600); outline-offset: 3px; }
.ll-cart-count { position: absolute; top: -7px; right: -7px; display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 20px; background: var(--ll-blue-600); color: #fff; border: 2px solid #fff; font-size: 11px; font-weight: 800; line-height: 1; }
/* Keep all controls inside the centered header, including long EN navigation. */
.ll-header .ll-nav { flex-wrap: wrap; justify-content: center; padding-block: 12px; }
.ll-header .ll-actions { flex-shrink: 0; }
@media (max-width: 640px) {
  .ll-header .ll-nav { width: calc(100% - 32px); gap: 12px; }
  .ll-header .ll-actions { flex: 1 0 100%; justify-content: flex-end; padding-right: 6px; }
  .ll-header .ll-actions .ll-responsibility-current { margin-right: auto; max-width: 48%; white-space: normal; }
}
.woocommerce-cart .ll-section, .woocommerce-checkout .ll-section { padding-block: 48px 72px; background: var(--ll-sky-50); }
.woocommerce-cart .wp-block-woocommerce-cart, .woocommerce-checkout .wp-block-woocommerce-checkout { padding: clamp(18px, 3vw, 32px); border: 1px solid var(--ll-line); border-radius: 24px; background: #fff; }
.woocommerce-cart .wc-block-cart__empty-cart__title { font-size: clamp(26px, 3vw, 38px); padding-top: 24px; }
.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { display: none; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading { text-align: center; font-size: clamp(24px, 3vw, 34px); }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator { margin-block: 46px; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) { margin-bottom: 32px; }
.woocommerce-cart .wc-block-grid .wc-block-grid__products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; }
.woocommerce-cart .wc-block-grid .wc-block-grid__products > .wc-block-grid__product { max-width: none; width: 100%; margin: 0; padding: 14px; border: 1px solid var(--ll-line); border-radius: 18px; background: var(--ll-sky-50); }
.woocommerce-cart .wc-block-grid__product-image img { width: 100%; aspect-ratio: 1.6; object-fit: cover; border-radius: 12px; }
.woocommerce-cart .wc-block-grid__product-title { font-size: 15px; line-height: 1.45; }
.woocommerce-cart .wc-block-grid__product-link { text-decoration: none; }
.woocommerce-cart .wc-block-cart-item__image img, .woocommerce-checkout .wc-block-components-product-image img { border-radius: 10px; }
.woocommerce-cart .wc-block-components-button, .woocommerce-checkout .wc-block-components-button, .woocommerce-cart .wc-block-grid__product-add-to-cart a { border-radius: 12px; background: var(--ll-blue-600); color: #fff; font-weight: 750; text-decoration: none; }
@media (max-width: 900px) {
  .woocommerce-cart .wc-block-grid .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .woocommerce-cart .wc-block-grid .wc-block-grid__product { padding: 10px; }
}
@media (max-width: 420px) { .woocommerce-cart .wc-block-grid .wc-block-grid__products { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .ll-header-cart { transition: none; } }

/* Branches and subscriptions are peers; categories filter only their own branch. */
.ll-shop-catalogue [hidden] { display: none !important; }
.ll-shop-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.ll-shop-tabs button { padding: 14px 20px; min-height: 48px; border: 1px solid #b8d4e9; border-radius: 13px; background: var(--ll-sky-50); color: var(--ll-ink); font: inherit; font-size: 14px; font-weight: 750; cursor: pointer; }
.ll-shop-tabs button[aria-selected="true"] { background: var(--ll-blue-700); color: #fff; border-color: var(--ll-blue-700); }
.ll-shop-categories { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 28px; }
.ll-shop-categories button { padding: 9px 13px; min-height: 38px; border: 1px solid var(--ll-line); border-radius: 20px; background: #fff; color: var(--ll-muted); font: inherit; font-size: 12px; cursor: pointer; }
.ll-shop-categories button[aria-pressed="true"] { border-color: var(--ll-blue-600); background: var(--ll-blue-100); color: var(--ll-blue-700); font-weight: 750; }
.ll-shop-catalogue button:focus-visible, .ll-shop-catalogue a:focus-visible { outline: 3px solid var(--ll-blue-600); outline-offset: 3px; }
.ll-shop-panel { margin-bottom: 24px; }
.ll-shop-catalogue.is-enhanced .ll-shop-panel-title { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ll-shop-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 20px; }
.ll-shop-product { display: flex; flex-direction: column; min-width: 0; padding: 14px; border: 1px solid var(--ll-line); border-radius: 18px; background: var(--ll-sky-50); text-align: center; }
.ll-shop-product-image { display: block; margin-bottom: 16px; }
.ll-shop-product-image img { display: block; width: 100%; height: auto; aspect-ratio: 1.6; object-fit: cover; border-radius: 12px; }
.ll-shop-product h4 { margin: 0 0 10px; font-size: 15px; line-height: 1.45; }
.ll-shop-product h4 a { color: var(--ll-ink); text-decoration: none; }
.ll-shop-product-category { margin: 0 0 14px; font-size: 11px; line-height: 1.5; color: var(--ll-muted); }
.ll-shop-product-footer { display: flex; flex-direction: column; align-items: center; margin-top: auto; padding-top: 10px; }
.ll-shop-product-price { font-size: 13px; line-height: 1.5; margin-bottom: 14px; }
.ll-shop-add { display: inline-flex; align-items: center; justify-content: center; min-width: 120px; min-height: 40px; padding: 9px 18px; border-radius: 12px; background: var(--ll-blue-600); color: #fff; font-size: 13px; font-weight: 750; text-decoration: none; }
.ll-shop-add:hover { background: var(--ll-blue-700); color: #fff; }
@media (max-width: 1000px) { .ll-shop-products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) {
  .ll-shop-products { grid-template-columns: 1fr; }
  .ll-shop-tabs { display: grid; grid-template-columns: 1fr; }
  .ll-shop-tabs button { width: 100%; }
}
