body:not(#index) #wrapper {
  --wtcp-ink: #102030;
  --wtcp-text: #435366;
  --wtcp-blue: #006fe0;
  --wtcp-hover: #0040b0;
  --wtcp-cyan: #00a9e0;
  --wtcp-soft: #f5f7f9;
  --wtcp-border: #e4eaf0;
  --wtcp-radius: 16px;
  --wtcp-shadow: 0 3px 16px rgb(16 32 48 / 4%);
  --wtcp-title-font: Montserrat, Inter, system-ui, sans-serif;
  color: var(--wtcp-ink);
  background: #fff;
  font-size: 16px;
  line-height: 1.65;
  padding-top: 20px;
  padding-bottom: 24px;
}

/* Socle commun : titres, fil d'Ariane, boutons et liens. */
body:not(#index) #wrapper :is(h1, h2, h3, .h1, .h2, .h3) {
  color: var(--wtcp-ink);
  font-family: var(--wtcp-title-font);
  text-transform: none;
  line-height: 1.3;
}
body:not(#index) #wrapper .page-content { color: var(--wtcp-text); font-size: 16px; line-height: 1.7; }
body:not(#index) #main > .page-header {
  margin: 0 0 24px;
  padding: clamp(22px, 3vw, 36px);
  background: var(--wtcp-soft);
  border: 1px solid var(--wtcp-border);
  border-top: 3px solid var(--wtcp-cyan);
  border-radius: var(--wtcp-radius);
}
body:not(#index) #main > .page-header h1 {
  margin: 0;
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
body:not(#index) #wrapper .breadcrumb {
  margin: 0 0 22px;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: 13px;
  line-height: 1.6;
}
body:not(#index) #wrapper .breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  padding: 0;
  margin: 0;
  background: transparent;
}
body:not(#index) #wrapper .breadcrumb li {
  float: none;
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
}
body:not(#index) #wrapper .breadcrumb li::before,
body:not(#index) #wrapper .breadcrumb li::after { content: none; }
body:not(#index) #wrapper .breadcrumb li + li::before {
  content: "/";
  position: static;
  display: inline;
  padding-right: 8px;
  border: 0;
  color: #8a97a5;
}
body:not(#index) #wrapper .breadcrumb a {
  padding: 5px 0;
  color: var(--wtcp-text);
  background: transparent;
  border: 0;
}
body:not(#index) #wrapper .breadcrumb a::before,
body:not(#index) #wrapper .breadcrumb a::after { content: none; }
body:not(#index) #wrapper .breadcrumb li:last-child { color: var(--wtcp-ink); font-weight: 600; }
body:not(#index) #wrapper .btn {
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  text-transform: none;
  white-space: normal;
}
body:not(#index) #wrapper :is(.btn-primary, .btn-secondary) {
  min-height: 44px;
  padding: 11px 18px;
  line-height: 1.4;
  box-shadow: none;
}
body:not(#index) #wrapper .btn-secondary {
  color: var(--wtcp-ink);
  background: #fff;
  border: 1px solid #c3ccd6;
}
body:not(#index) #wrapper .btn-secondary:not(:disabled):not(.disabled):hover {
  color: var(--wtcp-hover);
  border-color: var(--wtcp-blue);
  background: var(--wtcp-soft);
}
body:not(#index) #wrapper .btn:disabled,
body:not(#index) #wrapper .btn.disabled { opacity: .55; cursor: not-allowed; }
body:not(#index) #wrapper :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--wtcp-blue);
  outline-offset: 3px;
}
body:not(#index) #wrapper :is(.page-content, .tab-content, .contact-rich) a:not(.btn):not(.nav-link):not(.label) {
  color: var(--wtcp-blue);
  text-underline-offset: 3px;
}
body:not(#index) #wrapper :is(.page-content, .tab-content, .contact-rich) a:not(.btn):hover {
  color: var(--wtcp-hover);
  text-decoration: underline;
}

@supports selector(:has(*)) {
  body:not(#index) #left-column:not(:has(> :not(#search_filters_wrapper))):not(:has(#search_filters_wrapper > :not(#search_filter_controls))) {
    display: none;
  }
  body:not(#index) #left-column:not(:has(> :not(#search_filters_wrapper))):not(:has(#search_filters_wrapper > :not(#search_filter_controls))) + #content-wrapper {
    width: 100%;
    max-width: 100%;
    float: none;
  }
}

body#category #category_desc {
  display: flex !important;
  align-items: center;
  gap: 24px;
  margin: 0 0 28px;
  padding: clamp(20px, 3vw, 32px);
  background: var(--wtcp-soft);
  border: 1px solid var(--wtcp-border);
  border-top: 3px solid var(--wtcp-cyan);
  border-radius: var(--wtcp-radius);
}
body#category #category_desc > .clearfix { display: none; }
body#category #category_desc .category-image {
  flex: 0 0 136px;
  width: 136px;
  float: none;
  padding: 0;
  margin: 0;
}
body#category #category_desc .category-image img {
  width: 100%;
  height: auto;
  border: 1px solid var(--wtcp-border);
  border-radius: 12px;
  background: #fff;
}
body#category #category_desc .category-desc { flex: 1 1 0; width: auto; min-width: 0; float: none; padding: 0; }
body#category #category_desc .cat_name { margin: 0 0 12px; font-size: clamp(28px, 3vw, 36px); font-weight: 700; }
body#category #category_desc .cat_desc { color: var(--wtcp-text); font-size: 16px; line-height: 1.7; }
body#category #category_desc .cat_desc p:last-child { margin-bottom: 0; }
body#category .mobile_cat_name { display: none !important; }
body#category #subcategories { padding: 0; margin: 0 0 32px; border: 0; }
body#category #subcategories .subcategory-heading { margin: 0 0 16px; font-size: 20px; font-weight: 600; color: var(--wtcp-ink); }
body#category #subcategories > ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin: 0; }
body#category #subcategories > ul::before,
body#category #subcategories > ul::after { content: none; }
body#category #subcategories > ul > li { width: auto; min-width: 0; float: none; padding: 0; margin: 0; }
body#category #subcategories .subcategory-container {
  height: 100%;
  padding: 14px;
  border: 1px solid var(--wtcp-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--wtcp-shadow);
}
body#category #subcategories .subcategory-container:hover { border-color: var(--wtcp-blue); }
body#category #subcategories .subcategory-image a { display: block; padding: 0; border: 0; background: var(--wtcp-soft); border-radius: 8px; overflow: hidden; }
body#category #subcategories .subcategory-image img { display: block; width: 100%; height: auto; max-height: 180px; object-fit: contain; margin: auto; border: 0; }
body#category #subcategories .subcategory-desc { padding: 12px 0 0; }
body#category #subcategories .subcategory-desc h5 { margin: 0; }
body#category #subcategories .subcategory-name { color: var(--wtcp-ink); font-size: 15px; font-weight: 600; line-height: 1.5; text-transform: none; overflow-wrap: anywhere; }

body:not(#index) #wrapper :is(.block-categories, #search_filters) {
  padding: 20px;
  margin-bottom: 24px;
  background: var(--wtcp-soft);
  border: 1px solid var(--wtcp-border);
  border-radius: 12px;
  box-shadow: none;
}
body:not(#index) #wrapper #search_filters .facet { padding: 16px 0; border-bottom: 1px solid var(--wtcp-border); }
body:not(#index) #wrapper #search_filters .facet:last-child { border-bottom: 0; }
body:not(#index) #wrapper #search_filters .facet-title { color: var(--wtcp-ink); font-size: 16px; font-weight: 600; text-transform: none; }
body:not(#index) #wrapper #search_filters .facet-label a { color: var(--wtcp-text); font-size: 14px; line-height: 1.5; }
body:not(#index) #wrapper #js-product-list-top { margin: 0 0 18px; padding: 14px; background: var(--wtcp-soft); border: 1px solid var(--wtcp-border); border-radius: 10px; }
body:not(#index) #wrapper #js-product-list-top p { margin-bottom: 0; color: var(--wtcp-text); font-size: 14px; }
body:not(#index) #wrapper .products-sort-order .select-title { min-height: 44px; padding: 10px 12px; border: 1px solid var(--wtcp-border); border-radius: 8px; background: #fff; font-size: 14px; color: var(--wtcp-ink); }
body:not(#index) #wrapper .products-sort-order .dropdown-menu { padding: 6px; border: 1px solid var(--wtcp-border); border-radius: 10px; box-shadow: 0 8px 24px rgb(16 32 48 / 10%); }
body:not(#index) #wrapper .products-sort-order .select-list { padding: 10px 12px; color: var(--wtcp-ink); font-size: 14px; border-radius: 6px; }
body:not(#index) #wrapper .products-sort-order .select-list:hover { color: var(--wtcp-hover); background: var(--wtcp-soft); }
body:not(#index) #wrapper .active_filters { border-radius: 10px; background: var(--wtcp-soft); }
body:not(#index) #wrapper .filter-block { padding: 8px 12px; border: 1px solid var(--wtcp-border); border-radius: 20px; background: #fff; font-size: 13px; }
body:not(#index) #content-wrapper .products .product-miniature .thumbnail-container:hover { border-color: #bdcddd; }
body:not(#index) #content-wrapper .products .product-miniature .price { font-weight: 700; }
body:not(#index) #wrapper .pagination { margin-top: 28px; color: var(--wtcp-text); font-size: 14px; }
body:not(#index) #wrapper .pagination .page-list { padding: 0; background: transparent; border: 0; box-shadow: none; }
body:not(#index) #wrapper .pagination .page-list a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 12px; margin: 2px; color: var(--wtcp-ink); background: #fff; border: 1px solid var(--wtcp-border); border-radius: 8px; }
body:not(#index) #wrapper .pagination .page-list .current a { background: var(--wtcp-blue); color: #fff; border-color: var(--wtcp-blue); }
body:not(#index) #wrapper .pagination .page-list a:hover { border-color: var(--wtcp-blue); }

body#product #main .product_container { margin-bottom: 32px; }
body#product #main .product_right { padding: clamp(20px, 2.4vw, 32px); background: var(--wtcp-soft); border: 1px solid var(--wtcp-border); border-top: 3px solid var(--wtcp-cyan); border-radius: var(--wtcp-radius); }
body#product #main .product_right h1 { margin: 0 0 18px; font-size: clamp(26px, 2.5vw, 34px); font-weight: 700; line-height: 1.3; letter-spacing: -.02em; overflow-wrap: anywhere; }
body#product #main .product_left .product-cover { border: 1px solid var(--wtcp-border); border-radius: var(--wtcp-radius); background: #fff; overflow: hidden; }
body#product #main .product_left .product-cover img { max-width: 100%; height: auto; object-fit: contain; }
body#product #main .product-images .thumb { border-radius: 8px; }
body#product #main .product-images .thumb.selected { border-color: var(--wtcp-blue); }
body#product #main [id^="product-description-short-"] { color: var(--wtcp-text); font-size: 16px; line-height: 1.75; }
body#product #main .product-information { font-size: 16px; line-height: 1.7; }
body#product #main .product-prices { margin: 22px 0; padding: 18px 0; border-top: 1px solid var(--wtcp-border); border-bottom: 1px solid var(--wtcp-border); }
body#product #main .current-price { color: var(--wtcp-ink); font-size: 24px; font-weight: 700; }
body#product #main .tax-shipping-delivery-label { color: var(--wtcp-text); font-size: 13px; line-height: 1.6; }
body#product #main .product-variants .control-label { color: var(--wtcp-ink); font-size: 15px; font-weight: 600; }
body#product #main .product-add-to-cart .add-to-cart { min-height: 48px; max-width: 100%; }
body#product #main .tabs { margin-top: 32px; box-shadow: none; background: transparent; }
body#product #main .tabs .nav-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 6px; border: 1px solid var(--wtcp-border); border-radius: 12px 12px 0 0; background: var(--wtcp-soft); }
body#product #main .tabs .nav-tabs::before,
body#product #main .tabs .nav-tabs::after { content: none; }
body#product #main .tabs .nav-item { float: none; margin: 0; }
body#product #main .tabs .nav-link { min-height: 44px; padding: 12px 18px; color: var(--wtcp-text); border: 0; border-radius: 8px; font-size: 15px; line-height: 1.4; font-weight: 600; text-transform: none; }
body#product #main .tabs .nav-link.active { color: var(--wtcp-blue); background: #fff; box-shadow: var(--wtcp-shadow); }
body#product #main .tabs .tab-content { padding: clamp(20px, 2.6vw, 32px); border: 1px solid var(--wtcp-border); border-top: 0; border-radius: 0 0 var(--wtcp-radius) var(--wtcp-radius); background: #fff; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
body#product #main .product-description :is(p, li) { color: var(--wtcp-text); line-height: 1.75; }
body#product #main .product-features dl.data-sheet > dt { background: var(--wtcp-soft); color: var(--wtcp-ink); font-weight: 600; }
body#product #main .product-features dl.data-sheet > dd { background: #fff; color: var(--wtcp-text); }

body:not(#index) #wrapper .form-control:not([type="checkbox"]):not([type="radio"]) { min-height: 48px; padding: 11px 13px; border: 1px solid #ccd6e0; border-radius: 8px; color: var(--wtcp-ink); background-color: #fff; font-size: 16px; line-height: 1.5; box-shadow: none; }
body:not(#index) #wrapper textarea.form-control { min-height: 140px; resize: vertical; }
body:not(#index) #wrapper .form-control::placeholder { color: #68788a; opacity: 1; }
body:not(#index) #wrapper .form-control:focus { border-color: var(--wtcp-blue); }
body:not(#index) #wrapper .form-control:disabled { background-color: var(--wtcp-soft); color: #68788a; }
body:not(#index) #wrapper .has-error .form-control,
body:not(#index) #wrapper .form-control[aria-invalid="true"] { border-color: #bd2436; }
body:not(#index) #wrapper .form-control-label { color: var(--wtcp-ink); font-size: 15px; font-weight: 600; line-height: 1.5; }
body:not(#index) #wrapper .form-control-comment { color: #526174; font-size: 13px; line-height: 1.6; }
body:not(#index) #wrapper .form-group { margin-bottom: 20px; }
body:not(#index) #wrapper input:is([type="checkbox"], [type="radio"]) { accent-color: var(--wtcp-blue); }
body:not(#index) #wrapper .input-group .form-control { border-top-right-radius: 0; border-bottom-right-radius: 0; }
body:not(#index) #wrapper .input-group-btn [data-action="show-password"] { min-height: 48px; padding: 10px 12px; color: var(--wtcp-ink); border: 1px solid #ccd6e0; border-left: 0; border-radius: 0 8px 8px 0; background: var(--wtcp-soft); font-size: 13px; }
body:not(#index) #wrapper .form-footer { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--wtcp-border); }
body:not(#index) #wrapper .alert { padding: 16px 18px; border-radius: 10px; font-size: 14px; line-height: 1.65; }

body:is(#authentication, #registration, #password, #guest-tracking) #main { max-width: 820px; margin-inline: auto; }
body:is(#authentication, #registration, #password, #guest-tracking, #identity, #address) #main > #content { padding: clamp(22px, 3vw, 36px); border: 1px solid var(--wtcp-border); border-radius: var(--wtcp-radius); background: #fff; box-shadow: var(--wtcp-shadow); }
body:is(#authentication, #registration) #main .form-group.row { display: block; margin-inline: 0; }
body:is(#authentication, #registration) #main .form-group.row > :is(.form-control-label, .js-input-column, .form-control-comment, .col-md-6, .col-md-9) { float: none; width: 100%; max-width: none; padding-inline: 0; text-align: left; }
body:is(#authentication, #registration) #main .form-control-label { margin-bottom: 8px; padding-top: 0; }
body#authentication #main .login-form { margin-top: 0; }
body#authentication #main .forgot-password { margin: 4px 0 18px; text-align: right; font-size: 14px; }
body#authentication #submit-login { width: 100%; }
body#authentication #main .no-account { margin-top: 20px; padding: 18px; border-radius: 10px; background: var(--wtcp-soft); text-align: center; font-size: 15px; }
body#registration #main .register-form > p { color: var(--wtcp-text); font-size: 15px; line-height: 1.7; }
body#my-account #content .links { display: flex; flex-wrap: wrap; }
body#my-account #content .links > a { display: flex; margin-bottom: 20px; }
body#my-account #content .link-item { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; width: 100%; min-height: 164px; padding: 24px; border: 1px solid var(--wtcp-border); border-radius: 12px; background: #fff; box-shadow: var(--wtcp-shadow); color: var(--wtcp-ink); font-size: 16px; font-weight: 600; text-transform: none; }
body#my-account #content .link-item i { color: var(--wtcp-blue); font-size: 32px; }
body#my-account #content a:hover .link-item { border-color: var(--wtcp-blue); background: var(--wtcp-soft); }
body:not(#index) #wrapper .address { border: 1px solid var(--wtcp-border); border-radius: 12px; background: #fff; box-shadow: var(--wtcp-shadow); overflow-wrap: anywhere; }
body:not(#index) #wrapper .address .address-body { padding: 24px; font-size: 15px; line-height: 1.75; }
body:not(#index) #wrapper .address .address-footer { padding: 14px 24px; border-top: 1px solid var(--wtcp-border); background: var(--wtcp-soft); border-radius: 0 0 12px 12px; }
body:not(#index) #wrapper .page-footer { margin-top: 28px; font-size: 14px; }
body:not(#index) #wrapper .table { color: var(--wtcp-text); font-size: 14px; background: #fff; }
body:not(#index) #wrapper .table :is(th, td) { padding: 14px; border-color: var(--wtcp-border); vertical-align: middle; }
body:not(#index) #wrapper .table thead th { color: var(--wtcp-ink); background: var(--wtcp-soft); font-weight: 600; }
body:not(#index) #wrapper .table-responsive { border-radius: 10px; border-color: var(--wtcp-border); }

body#cart #main .cart-container,
body:is(#cart, #checkout) #wrapper :is(.cart-summary, #js-checkout-summary),
body#order-confirmation #wrapper .card { border: 1px solid var(--wtcp-border); border-radius: var(--wtcp-radius); box-shadow: var(--wtcp-shadow); background: #fff; }
body#cart #main .cart-container > .card-block:first-child { padding: 24px; background: var(--wtcp-soft); border-top: 3px solid var(--wtcp-cyan); border-radius: 16px 16px 0 0; }
body#cart #main .cart-container h1 { margin: 0; font-size: clamp(28px, 3vw, 36px); font-weight: 700; }
body#cart #main .cart-item { padding: 24px; border-bottom: 1px solid var(--wtcp-border); }
body#cart #main .cart-item:last-child { border-bottom: 0; }
body#cart #main .product-line-grid-left img { border: 1px solid var(--wtcp-border); border-radius: 10px; background: #fff; }
body#cart #main .product-line-grid-body > .product-line-info > :is(.label, .label_name) { color: var(--wtcp-ink); font-size: 16px; font-weight: 600; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
body#cart #main .product-line-grid .product-price { color: var(--wtcp-ink); font-size: 20px; font-weight: 600; }
body#cart #main .cart-grid-body > .label { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin: 14px 0; color: var(--wtcp-blue); font-size: 14px; }
body:is(#cart, #checkout) #wrapper :is(.cart-summary, #js-checkout-summary) { border-top: 3px solid var(--wtcp-cyan); }
body:is(#cart, #checkout) #wrapper :is(.cart-summary, #js-checkout-summary) .card-block { padding: 22px; }
body:is(#cart, #checkout) #wrapper .cart-summary-line { padding-block: 8px; font-size: 15px; }
body:is(#cart, #checkout) #wrapper .cart-total { padding: 16px 0; background: var(--wtcp-soft); color: var(--wtcp-ink); border-radius: 8px; }
body:is(#cart, #checkout) #wrapper .cart-total :is(.label, .value) { color: var(--wtcp-ink); font-size: 20px; font-weight: 700; }
body:is(#cart, #checkout) #wrapper .checkout .btn-primary { width: 100%; }
body:is(#cart, #checkout) #wrapper .promo-code { background: var(--wtcp-soft); border-radius: 10px; }
body:is(#product, #cart) #wrapper .bootstrap-touchspin .form-control { height: 48px; min-height: 48px; padding: 8px; text-align: center; }
body:is(#product, #cart) #wrapper .bootstrap-touchspin .input-group-btn-vertical > .btn { height: 24px; min-height: 24px; padding: 0; line-height: 22px; border-radius: 0; }
body#cart #main .remove-from-cart { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: 8px; }
body#checkout #wrapper .checkout-step { margin-bottom: 18px; padding: 22px; border: 1px solid var(--wtcp-border); border-radius: var(--wtcp-radius); background: #fff; box-shadow: var(--wtcp-shadow); }
body#checkout #wrapper .checkout-step.-current { border-top: 3px solid var(--wtcp-cyan); }
body#checkout #wrapper .checkout-step .step-title { margin-bottom: 0; color: var(--wtcp-ink); font-size: 21px; font-weight: 600; line-height: 1.5; text-transform: none; }
body#checkout #wrapper .checkout-step.-current .step-title { margin-bottom: 20px; }
body#checkout #wrapper .checkout-step .step-number { color: var(--wtcp-blue); font-weight: 700; margin-right: 8px; }
body#checkout #wrapper .checkout-step .step-edit { color: var(--wtcp-blue); font-size: 13px; }
body#checkout #wrapper .checkout-step .content { padding-inline: 0; }
body#checkout #wrapper .address-item { border: 1px solid var(--wtcp-border); border-radius: 10px; background: #fff; }
body#checkout #wrapper .address-item.selected { border-color: var(--wtcp-blue); background: var(--wtcp-soft); }
body#checkout #wrapper .delivery-option { padding: 16px; border: 1px solid var(--wtcp-border); border-radius: 10px; background: #fff; margin-bottom: 12px; }
body#checkout #wrapper .payment-option { padding: 14px 0; border-bottom: 1px solid var(--wtcp-border); }
body#checkout #wrapper #conditions-to-approve { margin-top: 22px; font-size: 14px; line-height: 1.7; }

body#cms #main > .page-header,
body#cms #main > #content { max-width: 1020px; margin-inline: auto; }
body#cms #main > #content { padding: clamp(22px, 3vw, 40px); border: 1px solid var(--wtcp-border); border-radius: var(--wtcp-radius); background: #fff; box-shadow: var(--wtcp-shadow); color: var(--wtcp-text); font-size: 16px; line-height: 1.8; }
body#cms #content :is(p, li) { font-size: 16px; line-height: 1.8; }
body#cms #content h2 { margin: 28px 0 14px; font-size: 28px; font-weight: 700; }
body#cms #content h3 { margin: 24px 0 12px; font-size: 22px; font-weight: 600; }
body#cms #content :is(p, li, td, a) { overflow-wrap: anywhere; }
body#cms #content img { max-width: 100%; height: auto; border-radius: 10px; }
body#cms #content table { max-width: 100%; }
body#contact #wrapper :is(.contact-form, .contact-rich) { padding: clamp(22px, 2.8vw, 32px); margin-bottom: 24px; border: 1px solid var(--wtcp-border); border-radius: var(--wtcp-radius); box-shadow: var(--wtcp-shadow); }
body#contact #wrapper .contact-form { background: #fff; }
body#contact #wrapper .contact-rich { background: var(--wtcp-soft); font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
body#contact #wrapper :is(.contact-form, .contact-rich) h3 { color: var(--wtcp-ink); font-size: 24px; font-weight: 600; }
body#contact #wrapper .contact-rich .icon { color: var(--wtcp-blue); }
body#sitemap #wrapper .sitemap > div { padding: 24px; }
body#sitemap #wrapper .sitemap h2 { padding-bottom: 14px; margin-bottom: 14px; font-size: 22px; border-bottom: 2px solid var(--wtcp-cyan); }
body#sitemap #wrapper .sitemap a { display: inline-block; padding: 5px 0; color: var(--wtcp-text); font-size: 14px; }
body:is(#manufacturer, #supplier) #wrapper .brand-block { height: 100%; padding: 24px; border: 1px solid var(--wtcp-border); border-radius: 12px; background: #fff; box-shadow: var(--wtcp-shadow); }
body:is(#manufacturer, #supplier) #wrapper .brand-infos h3 { font-size: 20px; }
body#pagenotfound #wrapper .page-not-found { max-width: 760px; margin: 28px auto; padding: clamp(24px, 4vw, 48px); border: 1px solid var(--wtcp-border); border-top: 3px solid var(--wtcp-cyan); border-radius: var(--wtcp-radius); background: var(--wtcp-soft); box-shadow: none; text-align: center; font-size: 16px; }

/* Responsive : garder les controles natifs, leurs etats et le menu mobile. */
@media (max-width: 1199px) {
  body#category #subcategories > ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  body#category #subcategories > ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body#category #category_desc { gap: 18px; }
  body#category #category_desc .category-image { flex-basis: 112px; width: 112px; }
}
@media (max-width: 767px) {
  body:not(#index) #wrapper { padding-top: 14px; padding-bottom: 18px; }
  body:not(#index) #main > .page-header { padding: 22px 18px; margin-bottom: 18px; border-radius: 12px; }
  body:not(#index) #main > .page-header h1 { font-size: 28px; }
  body#category #category_desc { align-items: flex-start; padding: 20px 16px; gap: 14px; border-radius: 12px; }
  body#category #category_desc .category-image { flex-basis: 82px; width: 82px; }
  body#category #category_desc .cat_name { font-size: 28px; }
  body#category #category_desc .cat_desc { font-size: 14px; line-height: 1.7; }
  body:not(#index) #wrapper #js-product-list-top { padding: 12px 4px; }
  body:not(#index) #wrapper .products-sort-order .select-title { width: 100%; }
  body#product #main .product_right { margin-top: 20px; padding: 22px 18px; border-radius: 12px; }
  body#product #main .product_right h1 { font-size: 28px; }
  body#product #main .tabs .nav-link { padding: 12px; font-size: 14px; }
  body#product #main .tabs .tab-content { padding: 20px 16px; }
  body#cart #main .cart-item { padding: 18px 14px; }
  body#cart #main .cart-container > .card-block:first-child { padding: 20px; }
  body#cart #main .cart-grid-right { margin-top: 16px; }
  body#checkout #wrapper .checkout-step { padding: 20px 16px; }
  body#checkout #wrapper .checkout-step .step-title { font-size: 19px; }
  body#checkout #wrapper .checkout-step .step-edit { float: none; margin-left: 8px; }
  body#checkout #wrapper #js-checkout-summary { margin-top: 24px; }
  body:is(#history, #order-detail, #order-slip, #order-follow, #discount) #content { overflow-x: auto; }
  body:not(#index) #wrapper .table :is(th, td) { padding: 10px; }
  body#cms #content h2 { font-size: 24px; }
  body#cms #content h3 { font-size: 20px; }
  body#cms #main > #content { padding: 22px 18px; }
}
@media (max-width: 575px) {
  body#category #subcategories > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body#category #subcategories .subcategory-container { padding: 10px; }
  body#category #subcategories .subcategory-name { font-size: 14px; }
  body#category #category_desc { flex-direction: column; }
  body#category #category_desc .category-image { flex-basis: auto; width: 88px; }
  body#category #category_desc .category-desc { flex-basis: auto; width: 100%; }
  body#my-account #content .link-item { min-height: 126px; padding: 20px; gap: 10px; }
  body#product #main .product-add-to-cart .add { width: 100%; margin-top: 12px; }
  body#product #main .product-add-to-cart .add-to-cart { width: 100%; }
  body:is(#registration, #identity, #address) #main .form-footer .btn-primary { width: 100%; }
}
/* FIN WTC PAGES INTERIEURES v1 */

/* FIN WTC FRONT */
