/* SILA 2026 / Elegance 4.1.0 — native Hummingbird markup, Builder tokens.
   No checkout state, form, payment visibility or product data is replaced. */
:root {
  --sila-panel-radius: calc(var(--sila-radius, 16px) * 1.5);
  --sila-control-radius: var(--sila-radius, 16px);
  --sila-elegance-shadow: 0 16px 48px -26px rgba(16,35,63,.23);
  --sila-motion-duration: 240ms;
}
body:is(#cart,#checkout,#order,#cms,#product) #wrapper {
  background: radial-gradient(ellipse at 95% 0%,color-mix(in srgb,var(--sila-primary,#0b6ffb) 4%,transparent),transparent 48%),var(--sila-page-bg,#f6f8fb);
  padding-bottom:clamp(40px,5vw,80px);
}
body:is(#cart,#checkout,#order,#cms,#product) #center-column {min-width:0}
body:is(#cart,#checkout,#order,#cms,#product) .breadcrumb {
  font-size:.82rem; padding-block:20px; margin-bottom:8px;
}
body:is(#cart,#checkout,#order,#cms,#product) :is(h1,.page-title-section) {
  font-size:clamp(1.8rem,2.6vw,2.7rem); font-weight:750; letter-spacing:-.04em; line-height:1.18;
  margin-bottom:1.5rem; text-wrap:balance;
}
body:is(#cart,#checkout,#order,#cms,#product) :is(.btn,.form-control,.form-select) {
  border-radius:var(--sila-control-radius); min-height:44px;
}
body:is(#cart,#checkout,#order,#cms,#product) .btn {
  font-weight:650; transition:box-shadow var(--sila-motion-duration) ease,background-color var(--sila-motion-duration) ease;
}
body:is(#cart,#checkout,#order,#cms,#product) .btn-primary {
  box-shadow:0 6px 16px -9px var(--sila-primary,#0b6ffb); padding:.8rem 1.25rem;
}
body:is(#cart,#checkout,#order,#cms,#product) .btn-primary:hover {box-shadow:0 9px 22px -10px var(--sila-primary,#0b6ffb)}
body:is(#cart,#checkout,#order,#cms,#product) :is(input,select,textarea):focus {
  border-color:var(--sila-primary,#0b6ffb); box-shadow:0 0 0 3px color-mix(in srgb,var(--sila-primary,#0b6ffb) 12%,transparent);
}
body:is(#cart,#checkout,#order,#cms,#product) :is(a,button,input,select,textarea):focus-visible {
  outline:3px solid color-mix(in srgb,var(--sila-primary,#0b6ffb) 65%,white); outline-offset:3px;
}
body:is(#cart,#checkout,#order,#cms,#product) :is(.form-control,.form-select) {
  background-color:var(--sila-surface,#fff); color:var(--sila-ink,#10233f);
}

/* Cart: generous item cards, a distinct summary, native quantity controls. */
body#cart .cart-grid {--bs-gutter-x:2rem; row-gap:2rem; align-items:start}
body#cart :is(.cart-grid__content,.cart-grid-body) > hr {display:none}
body#cart .cart-items {padding:0; list-style:none; display:grid; gap:16px; border:0}
body#cart .cart-item {
  list-style:none; margin:0; padding:24px; border:1px solid var(--sila-line,#dce4ee);
  border-radius:var(--sila-panel-radius); background:var(--sila-surface,#fff);
  box-shadow:var(--sila-elegance-shadow);
  transition:border-color var(--sila-motion-duration) ease,box-shadow var(--sila-motion-duration) ease;
}
body#cart .cart-item:hover {border-color:color-mix(in srgb,var(--sila-primary,#0b6ffb) 30%,var(--sila-line,#dce4ee))}
body#cart .product-line {gap:24px; min-width:0}
body#cart .product-line__image {width:112px; flex:0 0 112px}
body#cart .product-line__img {
  width:112px; height:112px; object-fit:contain; padding:8px;
  background:var(--sila-soft,#f5f8fc); border-radius:var(--sila-radius,16px);
}
body#cart .product-line__content {min-width:0}
body#cart a.product-line__title {color:var(--sila-heading,#10233f); font-size:1rem; line-height:1.5; font-weight:650; overflow-wrap:anywhere}
body#cart .product-line__item--info {font-size:.82rem; color:var(--sila-muted,#68788d); margin-top:4px}
body#cart .product-line__price {font-size:1.1rem; font-weight:750; white-space:nowrap}
body#cart .product-line__actions {margin-top:14px; font-size:.8rem}
body#cart .product-line__actions a {text-underline-offset:3px}
body#cart .cart__continue-shopping {margin-top:22px; background:var(--sila-surface,#fff); font-size:.88rem}
body#cart :is(.cart-grid__aside-wrapper,.cart-grid-right > .card) {
  background:var(--sila-surface,#fff); border:1px solid var(--sila-line,#dce4ee);
  border-top:3px solid var(--sila-primary,#0b6ffb); border-radius:var(--sila-panel-radius);
  padding:28px; box-shadow:var(--sila-elegance-shadow); z-index:1;
}
body#cart .cart-grid__aside-wrapper > h2 {font-size:1.25rem; letter-spacing:-.025em; margin:0 0 24px; line-height:1.35}
body#cart :is(.cart-summary-line,.cart-total) {padding-block:9px; gap:16px}
body#cart .cart-total {margin-block:12px; padding:18px 16px; background:var(--sila-soft,#f5f8fc); border-radius:var(--sila-radius,16px)}
body#cart .cart-total .value {font-size:1.4rem; font-weight:750}
body#cart .cart-grid__aside-wrapper .btn-primary {width:100%; min-height:52px}
body:is(#cart,#checkout,#order,#product) :is(.blockreassurance,.block-reassurance) {margin-top:24px; font-size:.85rem}
body:is(#cart,#checkout,#order,#product) :is(.blockreassurance,.block-reassurance) :is(img,svg) {max-width:32px; max-height:32px}
body:is(#cart,#checkout,#order,#product) .blockreassurance .reassurance__image {width:32px;height:32px}
body:is(#cart,#checkout,#order,#product) :is(.blockreassurance,.block-reassurance) li {padding-block:12px}

/* Checkout: retain native tabs/collapse and all payment-module visibility. */
body:is(#checkout,#order) .checkout-steps {
  background:var(--sila-surface,#fff); border-block:1px solid var(--sila-line,#dce4ee);
  padding-block:20px; margin-bottom:32px;
}
body:is(#checkout,#order) .checkout-steps__list {max-width:1120px; margin-inline:auto; padding-inline:20px}
body:is(#checkout,#order) .checkout-grid {--bs-gutter-x:2rem; row-gap:24px; align-items:start}
body:is(#checkout,#order) :is(.checkout-grid__content > .tab-content,section.checkout-step) {
  background:var(--sila-surface,#fff); border:1px solid var(--sila-line,#dce4ee);
  border-radius:var(--sila-panel-radius); padding:clamp(20px,3vw,40px); box-shadow:var(--sila-elegance-shadow);
}
body:is(#checkout,#order) .step__title .page-title-section {font-size:clamp(1.5rem,2vw,2rem); margin-bottom:24px}
body:is(#checkout,#order) .step__title > hr {border-color:var(--sila-line,#dce4ee); opacity:.7; margin-bottom:28px}
body:is(#checkout,#order) .checkout-grid__aside-wrapper {
  border:1px solid var(--sila-line,#dce4ee); border-top:3px solid var(--sila-primary,#0b6ffb);
  border-radius:var(--sila-panel-radius); padding:24px; background:var(--sila-surface,#fff);
  box-shadow:var(--sila-elegance-shadow); z-index:1;
}
body:is(#checkout,#order) .checkout__summary-accordion-item {border:0; background:transparent}
body:is(#checkout,#order) .checkout__summary-accordion-header .accordion-button {font-size:1.15rem; font-weight:700; padding:0 0 20px; background:transparent; color:var(--sila-heading,#10233f); box-shadow:none}
body:is(#checkout,#order) :is(.address-item,.delivery-option) {
  border:1px solid var(--sila-line,#dce4ee); border-radius:var(--sila-radius,16px);
  padding:18px; margin-bottom:12px; background:var(--sila-surface,#fff);
}
body:is(#checkout,#order) :is(.address-item.selected,.delivery-option:has(input:checked)) {
  border-color:var(--sila-primary,#0b6ffb); background:color-mix(in srgb,var(--sila-primary,#0b6ffb) 3%,var(--sila-surface,#fff));
}
body:is(#checkout,#order) .payment-option {padding:16px; margin-block:10px; border:1px solid var(--sila-line,#dce4ee); border-radius:var(--sila-radius,16px)}
body:is(#checkout,#order) .payment-option:has(input:checked) {border-color:var(--sila-primary,#0b6ffb)}
body:is(#checkout,#order) .payment-option label {cursor:pointer}
body:is(#checkout,#order) :is(.address-footer,.address-footer a) {font-size:.85rem}

/* Product: editorial gallery / purchase card; native forms stay in place. */
body#product .product__container {gap:clamp(24px,3vw,48px); align-items:start}
body#product .product__left {
  min-width:0; border:1px solid var(--sila-line,#dce4ee); border-radius:var(--sila-panel-radius);
  padding:clamp(16px,2vw,28px); background:var(--sila-surface,#fff); box-shadow:var(--sila-elegance-shadow);
}
body#product :is(.product__cover,.product-cover) {border-radius:var(--sila-radius,16px); overflow:hidden; background:var(--sila-soft,#f5f8fc)}
body#product :is(.product__cover img,.product-cover img) {object-fit:contain; max-height:620px; width:100%; border-radius:var(--sila-radius,16px)}
body#product .product__right {
  min-width:0; background:var(--sila-surface,#fff); border:1px solid var(--sila-line,#dce4ee);
  border-top:3px solid var(--sila-accent,#f26a00); border-radius:var(--sila-panel-radius);
  padding:clamp(22px,3vw,38px); box-shadow:var(--sila-elegance-shadow);
}
body#product h1.product__name {font-size:clamp(1.65rem,2.2vw,2.5rem); line-height:1.2; margin-bottom:20px; overflow-wrap:anywhere}
body#product .product__manufacturer {font-size:.82rem; margin-bottom:18px}
body#product :is(.product__prices,.product-prices) {padding-block:16px; margin-bottom:18px; border-block:1px solid var(--sila-line,#dce4ee)}
body#product :is(.current-price,.product__current-price) {font-size:2rem; font-weight:750; letter-spacing:-.04em}
body#product .product__description-short {font-size:.95rem; line-height:1.8; color:var(--sila-muted,#68788d); margin-bottom:24px}
body#product :is(.product__variants,.product-variants) {margin-bottom:22px}
body#product .product__actions .btn-primary {min-height:52px; font-size:1rem}
body#product .product__bottom {gap:28px; margin-top:32px}
body#product .product__bottom-left {
  padding:12px 24px; border:1px solid var(--sila-line,#dce4ee); background:var(--sila-surface,#fff);
  border-radius:var(--sila-panel-radius); box-shadow:var(--sila-elegance-shadow); min-width:0;
}
body#product .product__accordion .accordion-item {background:transparent; border-color:var(--sila-line,#dce4ee)}
body#product .product__accordion .accordion-button {background:transparent; color:var(--sila-heading,#10233f); font-weight:650; padding:22px 0; box-shadow:none}
body#product .product__accordion .accordion-body {padding:0 0 24px; line-height:1.85; font-size:.95rem}
body#product .product__bottom-right {padding:20px; min-width:0}
body#product .product__thumbnails img {border-radius:calc(var(--sila-radius,16px) * .6)}

/* Product 4.4: full-width tabs, dedicated SILA widgets and reviews. */
body#product .sila-product-review-stars {margin-bottom:14px; min-height:20px}
body#product .sila-product-review-stars .sila-reviews-product-stars {margin:0}
body#product .sila-product-builder-zone--top {margin-bottom:14px}
body#product .sila-product-builder-zone--top:empty {display:none}
body#product .product__bottom.sila-product-information {
  display:block; width:100%; margin-top:32px;
}
body#product .sila-product-information .product__bottom-left {
  width:100%; margin:0 0 28px; padding:0; overflow:hidden;
}
body#product .sila-product-tabs__nav {
  flex-wrap:nowrap; gap:4px; padding:14px 18px 0; margin:0;
  overflow-x:auto; overflow-y:hidden; border-bottom:1px solid var(--sila-line,#dce4ee);
  scrollbar-width:thin;
}
body#product .sila-product-tabs__nav .nav-item {flex:0 0 auto}
body#product .sila-product-tabs__nav .nav-link {
  min-height:48px; padding:12px 18px; border:0; border-bottom:3px solid transparent;
  border-radius:10px 10px 0 0; background:transparent; color:var(--sila-muted,#68788d);
  font-weight:700; white-space:nowrap;
}
body#product .sila-product-tabs__nav .nav-link:hover {color:var(--sila-heading,#10233f); background:var(--sila-soft,#f5f8fc)}
body#product .sila-product-tabs__nav .nav-link.active {
  color:var(--sila-primary,#0b6ffb); border-bottom-color:var(--sila-primary,#0b6ffb);
  background:var(--sila-surface,#fff);
}
body#product .sila-product-tabs__content {padding:clamp(22px,3vw,40px); min-height:150px}
body#product .sila-product-tabs__content .tab-pane {width:100%; line-height:1.85}
body#product .sila-product-tabs__content .product__description {max-width:none; width:100%}
body#product .sila-product-tabs__content .js-product-details > .accordion-item,
body#product .sila-product-tabs__content .js-product-details > .accordion-item + .accordion-item {
  border:0; background:transparent;
}
body#product .sila-product-tabs__content .js-product-details .accordion-header {display:none}
body#product .sila-product-tabs__content .js-product-details .accordion-collapse {display:block!important}
body#product .sila-product-tabs__content .js-product-details .accordion-body {padding:0 0 24px}
body#product .sila-product-tabs__content .js-product-details .accordion-item + .accordion-item .accordion-body {
  padding-top:24px; border-top:1px solid var(--sila-line,#dce4ee);
}
body#product .sila-product-review-section {width:100%; margin:0 0 28px; min-width:0}
body#product .sila-product-review-section:empty {display:none}
body#product .sila-product-review-section .sila-reviews-reviews-wrapper {width:100%}
body#product .sila-product-review-section--list .sila-reviews-reviews-wrapper > div:first-child {margin-top:0!important}
body#product .sila-product-information .product__bottom-right {
  width:100%; margin:0 0 28px; padding:clamp(20px,3vw,32px);
  border:1px solid var(--sila-line,#dce4ee); border-radius:var(--sila-panel-radius);
  background:var(--sila-surface,#fff); box-shadow:var(--sila-elegance-shadow);
}
body#product .sila-product-builder-zone--bottom {clear:both; width:100%; margin-top:28px}
body#product .sila-product-builder-zone--bottom:empty {display:none}

/* CMS: restrained reading width, large title, quiet surface and rich content. */
body#cms .page-header {max-width:1040px; margin:12px auto 28px}
body#cms .page-header h1 {max-width:24ch; font-size:clamp(2rem,3.5vw,3.5rem)}
body#cms :is(.page-content--cms,#content.page-content) {
  max-width:1040px; margin-inline:auto; padding:clamp(24px,5vw,64px);
  border:1px solid var(--sila-line,#dce4ee); border-top:3px solid var(--sila-accent,#f26a00);
  border-radius:var(--sila-panel-radius); background:var(--sila-surface,#fff); box-shadow:var(--sila-elegance-shadow);
  line-height:1.9; font-size:1rem; overflow-wrap:anywhere;
}
body#cms .page-content--cms > :is(p,ul,ol,h2,h3,blockquote) {max-width:74ch}
body#cms .page-content--cms :is(h2,h3) {letter-spacing:-.025em; margin-top:2rem; margin-bottom:1rem; line-height:1.35}
body#cms .page-content--cms h2 {font-size:clamp(1.4rem,2vw,1.8rem)}
body#cms .page-content--cms a {text-decoration:underline; text-underline-offset:4px}
body#cms .page-content--cms blockquote {padding:20px 24px; border-left:3px solid var(--sila-accent,#f26a00); background:var(--sila-soft,#f5f8fc); border-radius:0 var(--sila-radius,16px) var(--sila-radius,16px) 0}
body#cms .page-content--cms img {max-width:100%; height:auto; border-radius:var(--sila-radius,16px)}
body#cms .page-content--cms table {display:block; max-width:100%; overflow-x:auto}

/* Optional Builder content. Empty published areas consume no space. */
.sila-page-content-slot {min-width:0}
.sila-page-content-slot:has(.sila-section),.sila-page-content-slot:has([data-sila-editable="1"]) {margin-block:28px}
.sila-page-content-slot .sila-document:empty {display:none}
.sila-page-content-slot .sila-section {border-radius:var(--sila-panel-radius)}

@media(min-width:992px) {
  body#cart .cart-grid,body:is(#checkout,#order) .checkout-grid {display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.48fr); gap:32px; margin-inline:0}
  body#cart .cart-grid > *,body:is(#checkout,#order) .checkout-grid > * {width:auto; max-width:none; min-width:0; padding-inline:0}
  body#cart .cart-grid__aside,body:is(#checkout,#order) .checkout-grid__aside {align-self:stretch}
  body#product .product__container {grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  body#product .product__bottom {grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
  body#cart .cart-grid__aside-wrapper,body:is(#checkout,#order) .checkout-grid__aside-wrapper {top:calc(var(--scroll-padding-top,100px) + 20px)}
}
@media(max-width:767.98px) {
  body#cart .cart-item {padding:16px}
  body#cart .product-line {gap:14px}
  body#cart .product-line__image {width:76px; flex-basis:76px}
  body#cart .product-line__img {width:76px; height:76px; padding:4px}
  body#cart .product-line__content-right {display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:14px}
  body#cart .product-line__price {margin-left:auto}
  body#cart .product-line__quantity-button {max-width:144px}
  body#cart .cart-grid__aside-wrapper,body:is(#checkout,#order) .checkout-grid__aside-wrapper {padding:22px; position:static}
  body#product .product__right {margin-top:20px}
  body#product .product__bottom-left {padding-inline:18px}
  body#product .sila-product-information .product__bottom-left {padding-inline:0}
  body#product .sila-product-tabs__nav {padding-inline:10px}
  body#product .sila-product-tabs__nav .nav-link {padding-inline:14px}
  body#product .sila-product-tabs__content {padding:22px 18px}
  body#cms .page-content--cms {padding:24px 20px}
}
@media(max-width:991.98px) {
  body#cart .cart-grid,body:is(#checkout,#order) .checkout-grid {margin-inline:0}
  body#cart .cart-grid > *,body:is(#checkout,#order) .checkout-grid > * {padding-inline:0;min-width:0}
}
@media(prefers-reduced-motion:no-preference) {
  body#cart .cart-item,body#product .product__right,body#cms .page-content--cms {
    animation:sila-surface-in var(--sila-motion-duration) ease-out both;
  }
}
@keyframes sila-surface-in {from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce) {
  body:is(#cart,#checkout,#order,#cms,#product) *,body:is(#cart,#checkout,#order,#cms,#product) *::before {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* SILA 2026 4.5.3 — métadonnées des cartes catégorie pilotées par SILA Builder. */
.product-miniature__reference{
  display:none;
}
.product-miniature__reference-label{
  margin-right:.25em;
}
.product-miniature__reviews:empty{
  display:none;
}

/* SILA 2026 4.5.5 — contact, cart and special listing pages refinements. */

/* Shared editorial background for contact and catalog listing landing pages. */
body:is(#contact,#best-sales,#new-products,#prices-drop) #wrapper {
  background:
    radial-gradient(ellipse at 95% 0%,color-mix(in srgb,var(--sila-primary,#0b6ffb) 4%,transparent),transparent 48%),
    var(--sila-page-bg,#f6f8fb);
  padding-bottom:clamp(40px,5vw,80px);
}
body:is(#contact,#best-sales,#new-products,#prices-drop) #center-column {min-width:0}
body:is(#contact,#best-sales,#new-products,#prices-drop) .breadcrumb {
  font-size:.82rem; padding-block:20px; margin-bottom:8px;
}
body:is(#contact,#best-sales,#new-products,#prices-drop) :is(h1,.page-title-section) {
  font-size:clamp(1.8rem,2.6vw,2.7rem); font-weight:750; letter-spacing:-.04em; line-height:1.18;
  margin-bottom:1.5rem; text-wrap:balance;
}

/* Contact page: turn the left information block and the form into clear cards. */
body#contact .columns-container > .row {row-gap:24px; align-items:start}
body#contact #left-column,
body#contact #center-column {min-width:0}
body#contact #left-column .ps-contactinfo,
body#contact .contact-form > form {
  background:var(--sila-surface,#fff);
  border:1px solid var(--sila-line,#dce4ee);
  border-radius:var(--sila-panel-radius);
  box-shadow:var(--sila-elegance-shadow);
}
body#contact #left-column .ps-contactinfo {
  border-top:3px solid var(--sila-accent,#f26a00);
  padding:clamp(22px,3vw,32px);
}
body#contact #left-column .ps-contactinfo__title {
  margin:0 0 1.25rem;
  font-size:clamp(1.45rem,2vw,1.95rem);
  font-weight:750;
  letter-spacing:-.03em;
  color:var(--sila-heading,#10233f);
}
body#contact #left-column .ps-contactinfo hr {
  margin:18px 0;
  border-color:var(--sila-line,#dce4ee);
  opacity:1;
}
body#contact #left-column .ps-contactinfo__item {
  display:flex;
  align-items:flex-start;
  gap:14px;
}
body#contact #left-column .ps-contactinfo__item > i {
  color:var(--sila-primary,#0b6ffb);
  font-size:1.35rem;
  margin-top:3px;
}
body#contact #left-column .ps-contactinfo__info,
body#contact #left-column .ps-contactinfo__info a {
  color:var(--sila-ink,#10233f);
  text-decoration:none;
  overflow-wrap:anywhere;
}
body#contact #left-column .ps-contactinfo__info a:hover {
  color:var(--sila-primary,#0b6ffb);
}
body#contact .contact-form > form {
  border-top:3px solid var(--sila-primary,#0b6ffb);
  padding:clamp(22px,3vw,36px);
}
body#contact .contact-form .page-title-section {margin-bottom:1.5rem}
body#contact .contact-form .form-fields {display:block}
body#contact .contact-form .mb-3 {margin-bottom:1.1rem !important}
body#contact .contact-form :is(.form-control,.form-select) {
  min-height:48px;
  border-radius:var(--sila-control-radius);
}
body#contact .contact-form textarea.form-control {
  min-height:180px;
  resize:vertical;
}
body#contact .contact-form .form-text {
  color:var(--sila-muted,#68788d);
  font-size:.82rem;
}
body#contact .contact-form .buttons-wrapper {
  display:flex;
  justify-content:flex-end;
  margin-top:1rem;
}
body#contact .contact-form .btn-primary {
  min-width:220px;
  min-height:52px;
}
body#contact .contact-form .alert {
  border-radius:var(--sila-control-radius);
  margin-bottom:1rem;
}

/* Cart page: selectors aligned with current SILA/Prestashop markup. */
body#cart :is(.cart__list,.cart-items) {
  padding:0;
  list-style:none;
  display:grid;
  gap:16px;
  border:0;
}
body#cart :is(.cart__item,.cart-item) {
  list-style:none;
  margin:0;
  padding:24px;
  border:1px solid var(--sila-line,#dce4ee);
  border-radius:var(--sila-panel-radius);
  background:var(--sila-surface,#fff);
  box-shadow:var(--sila-elegance-shadow);
  transition:border-color var(--sila-motion-duration) ease,box-shadow var(--sila-motion-duration) ease;
}
body#cart :is(.cart__item,.cart-item):hover {
  border-color:color-mix(in srgb,var(--sila-primary,#0b6ffb) 30%,var(--sila-line,#dce4ee));
}
body#cart .product-line {
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:22px;
  min-width:0;
  align-items:start;
}
body#cart .product-line__image {
  width:112px;
  flex:0 0 112px;
}
body#cart .product-line__img {
  width:112px;
  height:112px;
  object-fit:contain;
  padding:8px;
  background:var(--sila-soft,#f5f8fc);
  border-radius:var(--sila-radius,16px);
}
body#cart .product-line__content {
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px 20px;
  align-items:start;
}
body#cart .product-line__content-left,
body#cart .product-line__content-right {
  min-width:0;
}
body#cart a.product-line__title {
  display:inline-block;
  color:var(--sila-heading,#10233f);
  font-size:1.05rem;
  line-height:1.45;
  font-weight:700;
  overflow-wrap:anywhere;
  margin-bottom:6px;
}
body#cart .product-line__item--info {
  font-size:.84rem;
  color:var(--sila-muted,#68788d);
  margin-top:3px;
}
body#cart .product-line__item--prices {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem .7rem;
  margin-top:14px;
}
body#cart .product-line__item-price {
  font-size:1.15rem;
  font-weight:750;
  color:var(--sila-heading,#10233f);
}
body#cart .product-line__item-unit-price,
body#cart .product-line__item-regular-price {
  font-size:.82rem;
  color:var(--sila-muted,#68788d);
}
body#cart .product-line__quantity-button {
  min-width:142px;
}
body#cart .product-line__quantity-button .quantity-button__group {
  justify-content:flex-end;
}
body#cart .product-line__content-right {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}
body#cart .product-line__price {
  font-size:1.28rem;
  font-weight:800;
  color:var(--sila-heading,#10233f);
  white-space:nowrap;
}
body#cart .product-line__actions {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:2px;
  font-size:.85rem;
}
body#cart .product-line__actions a {
  text-underline-offset:3px;
}
body#cart .cart__continue-shopping {
  margin-top:22px;
  background:var(--sila-surface,#fff);
  font-size:.88rem;
}
body#cart .cart-grid__aside-wrapper > hr:last-of-type {display:none}

/* Best sales / promotions / new products: no left sidebar and cleaner catalog top bar. */
body:is(#best-sales,#new-products,#prices-drop) #left-column {
  display:none !important;
}
body:is(#best-sales,#new-products,#prices-drop) #center-column {
  flex:0 0 100%;
  max-width:100%;
}
body:is(#best-sales,#new-products,#prices-drop) #js-product-list-top {
  margin-bottom:1rem;
}
body:is(#best-sales,#new-products,#prices-drop) .products__selection {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  border:1px solid var(--sila-line,#dce4ee);
  border-radius:var(--sila-panel-radius);
  background:var(--sila-surface,#fff);
  box-shadow:var(--sila-elegance-shadow);
}
body:is(#best-sales,#new-products,#prices-drop) .products__count {
  color:var(--sila-muted,#68788d);
  font-weight:500;
}
body:is(#best-sales,#new-products,#prices-drop) .products__sort {
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
}
body:is(#best-sales,#new-products,#prices-drop) .products-sort-order .select-title {
  min-height:48px;
  border-radius:999px;
  padding-inline:18px 42px;
  border:1px solid var(--sila-line,#dce4ee);
  background:var(--sila-surface,#fff);
}

@media(min-width:992px) {
  body#contact #left-column .ps-contactinfo {
    position:sticky;
    top:calc(var(--scroll-padding-top,100px) + 20px);
  }
}
@media(max-width:991.98px) {
  body#contact #left-column,
  body#contact #center-column {
    padding-inline:0;
  }
}
@media(max-width:767.98px) {
  body#contact .contact-form > form,
  body#contact #left-column .ps-contactinfo {
    padding:20px 18px;
  }
  body#contact .contact-form .buttons-wrapper {
    justify-content:stretch;
  }
  body#contact .contact-form .btn-primary {
    width:100%;
    min-width:0;
  }
  body#cart :is(.cart__item,.cart-item) {padding:16px}
  body#cart .product-line {
    grid-template-columns:76px minmax(0,1fr);
    gap:14px;
  }
  body#cart .product-line__image {
    width:76px;
    flex-basis:76px;
  }
  body#cart .product-line__img {
    width:76px;
    height:76px;
    padding:4px;
  }
  body#cart .product-line__content {
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  body#cart .product-line__content-right {
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
  }
  body#cart .product-line__quantity-button {
    min-width:0;
    max-width:148px;
  }
  body:is(#best-sales,#new-products,#prices-drop) .products__selection {
    flex-direction:column;
    align-items:stretch;
    padding:16px;
  }
  body:is(#best-sales,#new-products,#prices-drop) .products__sort {
    width:100%;
    margin-left:0;
    justify-content:space-between;
  }
}

/* SILA 2026 4.5.6 — unified product listing chrome (category, new, promo, best sales...). */
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) #wrapper {
  background:
    radial-gradient(ellipse at 95% 0%,color-mix(in srgb,var(--sila-primary,#0b6ffb) 4%,transparent),transparent 48%),
    var(--sila-page-bg,#f6f8fb);
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) #center-column {
  min-width:0;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) #products {
  display:grid;
  gap:22px;
}

/* Hero header for listing pages */
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) #js-product-list-header {
  margin-bottom:0;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) :is(.category__header,#js-product-list-header) {
  position:relative;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .category__header,
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) #js-product-list-header:has(.page-title-section) {
  padding:clamp(22px,3vw,34px);
  border:1px solid var(--sila-line,#dce4ee);
  border-radius:var(--sila-panel-radius);
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--sila-primary,#0b6ffb) 3%,#fff),#fff 56%),
    var(--sila-surface,#fff);
  box-shadow:var(--sila-elegance-shadow);
  overflow:hidden;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .category__header::after,
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) #js-product-list-header:has(.page-title-section)::after {
  content:"";
  position:absolute;
  inset:auto -80px -120px auto;
  width:280px;
  height:280px;
  border-radius:50%;
  background:color-mix(in srgb,var(--sila-primary,#0b6ffb) 10%,transparent);
  pointer-events:none;
  filter:blur(8px);
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .page-title-section {
  position:relative;
  z-index:1;
  margin:0 0 .55rem;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .category__description,
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .category__additional-description,
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) #js-product-list-header .page-title-section + * {
  position:relative;
  z-index:1;
  color:var(--sila-muted,#68788d);
  max-width:78ch;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .category__cover {
  margin-top:1.25rem;
  position:relative;
  z-index:1;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .category__cover-image {
  border-radius:calc(var(--sila-radius,16px) * 1.1);
}

/* Toolbar card: count + sort/filter */
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) #js-product-list-top {
  margin-bottom:0;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products__selection {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  border:1px solid var(--sila-line,#dce4ee);
  border-radius:calc(var(--sila-radius,16px) * 1.1);
  background:var(--sila-surface,#fff);
  box-shadow:0 14px 34px -28px rgba(16,35,63,.28);
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products__count {
  color:var(--sila-muted,#68788d);
  font-size:.98rem;
  font-weight:550;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products__sort {
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products-sort-order {
  min-width:min(100%,560px);
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products-sort-order .select-title {
  min-height:48px;
  display:flex;
  align-items:center;
  border-radius:999px;
  padding:0 18px;
  border:1px solid var(--sila-line,#dce4ee);
  background:var(--sila-surface,#fff);
  box-shadow:none;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products-sort-order .select-title i {
  margin-left:auto;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .js-search-toggler {
  min-height:48px;
  border-radius:999px;
}

/* Pagination card */
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products__pagination {
  margin-top:0;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination__container {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  border:1px solid var(--sila-line,#dce4ee);
  border-radius:calc(var(--sila-radius,16px) * 1.1);
  background:var(--sila-surface,#fff);
  box-shadow:0 14px 34px -28px rgba(16,35,63,.28);
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination__number {
  color:var(--sila-muted,#68788d);
  font-size:.95rem;
  font-weight:550;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination__nav nav {
  display:flex;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination .page-link {
  min-width:44px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:.55rem .95rem;
  border:1px solid var(--sila-line,#dce4ee);
  border-radius:999px;
  color:var(--sila-heading,#10233f);
  background:var(--sila-surface,#fff);
  box-shadow:none;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination .page-item.active .page-link {
  background:var(--sila-primary,#0b6ffb);
  border-color:var(--sila-primary,#0b6ffb);
  color:#fff;
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination .page-item:not(.active) .page-link:hover {
  border-color:color-mix(in srgb,var(--sila-primary,#0b6ffb) 35%,var(--sila-line,#dce4ee));
  background:color-mix(in srgb,var(--sila-primary,#0b6ffb) 4%,#fff);
}
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination .page-item.disabled .page-link,
body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination .page-link.disabled {
  opacity:.55;
  cursor:not-allowed;
}

/* Keep the faceted filters column visually aligned on listing pages that still use it. */
body:is(#category,#search,#manufacturer,#supplier) #left-column .block-categories,
body:is(#category,#search,#manufacturer,#supplier) #left-column .block,
body:is(#category,#search,#manufacturer,#supplier) #left-column #search_filters {
  border:1px solid var(--sila-line,#dce4ee);
  border-radius:calc(var(--sila-radius,16px) * 1.05);
  background:var(--sila-surface,#fff);
  box-shadow:0 14px 34px -28px rgba(16,35,63,.28);
  padding:18px;
}

@media(max-width:991.98px) {
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products__selection,
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination__container {
    padding:16px 18px;
  }
}
@media(max-width:767.98px) {
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .category__header,
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) #js-product-list-header:has(.page-title-section) {
    padding:20px 18px;
  }
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products__selection,
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination__container {
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products__sort {
    width:100%;
    margin-left:0;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .products-sort-order {
    width:100%;
    min-width:0;
  }
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination__nav {
    width:100%;
  }
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination__nav nav,
  body:is(#category,#best-sales,#new-products,#prices-drop,#search,#manufacturer,#supplier) .pagination {
    width:100%;
    justify-content:center;
  }
}

/* SILA 2026 4.5.7 — category description uses the full listing header width. */
body#category .category__description,
body#category .category__additional-description {
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
body#category .category__description > *,
body#category .category__additional-description > * {
  max-width:none;
}
body#category .category__description :is(div,section,article,aside,blockquote),
body#category .category__additional-description :is(div,section,article,aside,blockquote) {
  box-sizing:border-box;
}

/* SILA 2026 4.5.8 — force the actual category-description content card to use the whole header width.
   Category descriptions can contain editor-generated inline width/max-width styles; these beat the 4.5.7 rule. */
body#category .category__description {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0;
}
body#category .category__description > :is(div,section,article,main) {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
/* Also cover the common case where the WYSIWYG wraps the visible card once more. */
body#category .category__description > :is(div,section,article,main) > :is(div,section,article)[style*="width"],
body#category .category__description > :is(div,section,article,main) > :is(div,section,article)[style*="max-width"] {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
