/*
 * CognitiShop Kittoner — couche typographique publique V2.
 *
 * Cette feuille est volontairement isolée du socle CognitiShop et du thème
 * Encros. Elle conserve la racine historique Magento à 62,5 % et corrige
 * uniquement la lisibilité du storefront Kittoner.
 */

body.cs-public-kittoner {
  --kt-type-sans: Inter, "Segoe UI Variable Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --kt-type-body: 16px;
  --kt-type-secondary: 14px;
  --kt-type-meta: 13px;
  --kt-type-control: 15px;
  --kt-type-card: 17px;
  --kt-type-h4: 19px;
  --kt-type-h3: 22px;
  --kt-type-h2: 27px;
  --kt-type-h1: 34px;
  --kt-type-ink: #172126;
  --kt-type-muted: #53636d;
  font-family: var(--kt-type-sans) !important;
  font-size: var(--kt-type-body);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.cs-public-kittoner :where(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  a,
  span,
  strong,
  b,
  em,
  small,
  label,
  button,
  input,
  select,
  textarea,
  option,
  dt,
  dd,
  li,
  td,
  th,
  time
) {
  font-family: var(--kt-type-sans) !important;
}

body.cs-public-kittoner :where(
  .main,
  .main-container,
  main,
  section,
  article,
  aside,
  form,
  fieldset,
  table,
  tbody,
  thead,
  tr,
  td,
  th,
  dl,
  div
) {
  min-width: 0;
}

body.cs-public-kittoner :where(
  .main,
  .main-container,
  main,
  [role="dialog"],
  .cs-ui-toast,
  .cs-favorites-toast,
  .cs-assistant-panel
) :where(h1, h2, h3, h4, h5, h6, p, a, strong, span, small, em, label, button, td, th, dt, dd) {
  overflow-wrap: break-word;
}

body.cs-public-kittoner :where(.main, .main-container, main) :where(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
  color: var(--kt-type-ink);
  font-weight: 720 !important;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

body.cs-public-kittoner :where(.main, .main-container, main) h1 {
  font-size: clamp(29px, 3.1vw, var(--kt-type-h1)) !important;
  line-height: 1.14 !important;
}

body.cs-public-kittoner :where(.main, .main-container, main) h2 {
  font-size: clamp(24px, 2.5vw, var(--kt-type-h2)) !important;
  line-height: 1.2 !important;
}

body.cs-public-kittoner :where(.main, .main-container, main) h3 {
  font-size: clamp(20px, 2vw, var(--kt-type-h3)) !important;
  line-height: 1.25 !important;
}

body.cs-public-kittoner :where(.main, .main-container, main) h4,
body.cs-public-kittoner :where(.main, .main-container, main) h5,
body.cs-public-kittoner :where(.main, .main-container, main) h6 {
  font-size: var(--kt-type-h4) !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner :where(.main, .main-container, main) :where(p, li, dt, dd, td, th) {
  font-size: var(--kt-type-body);
  line-height: 1.52;
}

body.cs-public-kittoner :where(.main, .main-container, main) :where(strong, b) {
  font-weight: 700;
}

body.cs-public-kittoner :where(
  .breadcrumbs,
  .cs-content-breadcrumb,
  .cs-videos-breadcrumb,
  .cs-search-breadcrumb,
  .cs-account-breadcrumb,
  .cs-printer-breadcrumb
) {
  font-size: var(--kt-type-meta) !important;
  line-height: 1.4 !important;
}

body.cs-public-kittoner :where(
  .breadcrumbs,
  .cs-content-breadcrumb,
  .cs-videos-breadcrumb,
  .cs-search-breadcrumb,
  .cs-account-breadcrumb,
  .cs-printer-breadcrumb
) :where(a, span, strong) {
  font-size: inherit !important;
  line-height: inherit !important;
}

body.cs-public-kittoner :where(
  .cs-content-kicker,
  .cs-videos-kicker,
  .cs-search-kicker,
  .cs-account-kicker,
  .cs-printer-kicker,
  .cs-blog-card small,
  .cs-content-card-body > small,
  .cs-blog-feature-body > small,
  .cs-blog-mini-card small,
  .cs-videos-card-body > span:first-child,
  .cs-videos-theme > header > span,
  .cs-videos-feature-copy > span:first-child
) {
  font-size: var(--kt-type-meta) !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.025em !important;
}

body.cs-public-kittoner :where(
  .cs-content-date,
  .cs-blog-card em,
  .cs-content-card-body > em,
  .cs-blog-feature-body > em,
  .cs-blog-mini-card em,
  .cs-videos-card-body > small,
  .cs-account-page small,
  .cs-product-page small
) {
  font-size: var(--kt-type-meta) !important;
  line-height: 1.38 !important;
}

body.cs-public-kittoner :where(
  .cs-content-summary,
  .cs-blog-search-notice,
  .cs-videos-search-notice,
  .cs-search-count,
  .cs-content-card-body > span,
  .cs-blog-feature-body > span,
  .cs-videos-card-body p,
  .cs-videos-theme > header > p,
  .cs-printer-intro,
  .category-description,
  .category-seo-description,
  .description,
  .desc-content,
  .short-description
) {
  color: var(--kt-type-muted) !important;
  font-size: 15px !important;
  line-height: 1.52 !important;
}

/* Formulaires et actions : lisibles sans déborder dans les largeurs existantes. */
body.cs-public-kittoner :where(
  .main,
  .main-container,
  main,
  [role="dialog"],
  .cs-ui-toast,
  .cs-favorites-toast,
  .cs-assistant-panel,
  .kt-newsletter-dialog
) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  font-size: 16px !important;
  font-weight: 450 !important;
  line-height: 1.35 !important;
}

body.cs-public-kittoner :where(
  .main,
  .main-container,
  main,
  [role="dialog"],
  .cs-ui-toast,
  .cs-favorites-toast,
  .cs-assistant-panel,
  .kt-newsletter-dialog
) label {
  font-size: var(--kt-type-secondary) !important;
  font-weight: 680 !important;
  line-height: 1.4 !important;
}

body.cs-public-kittoner :where(
  .main,
  .main-container,
  main,
  [role="dialog"],
  .cs-ui-toast,
  .cs-favorites-toast,
  .cs-assistant-panel,
  .kt-newsletter-dialog
) button:not(.cs-videos-preview):not(.cs-product-assistant-trigger) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 42px;
  padding-block: 9px;
  font-size: var(--kt-type-control) !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  text-align: center;
}

body.cs-public-kittoner :where(
  .cs-password-migration-close,
  .cs-password-help-close,
  .cs-videos-modal-close,
  .kt-newsletter-close
) {
  min-width: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

/* En-tête Magento conservé, typographie modernisée sans toucher au logo. */
body.cs-public-kittoner .page-header-container {
  font-size: var(--kt-type-body);
}

body.cs-public-kittoner .page-header .logo :where(h1, em) {
  font-size: 14px !important;
  font-weight: 450 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

body.cs-public-kittoner .quicksearch .label strong {
  font-size: 15px !important;
  font-weight: 700 !important;
}

body.cs-public-kittoner .quicksearch .label span {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.cs-public-kittoner #search_mini_form .input-text {
  font-size: 15px !important;
  font-weight: 450 !important;
}

body.cs-public-kittoner #search_mini_form .search-button {
  font-size: 14px !important;
  font-weight: 750 !important;
}

body.cs-public-kittoner #nav .nav-primary > li > a,
body.cs-public-kittoner #nav .nav-primary > li > span {
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

body.cs-public-kittoner #nav .nav-secondary :where(a, span) {
  font-size: 14px !important;
  font-weight: 550 !important;
  line-height: 1.35 !important;
}

body.cs-public-kittoner .skip-links .label {
  font-size: 14px !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .customer-services span {
  font-size: 14px !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .customer-services strong {
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}

/* Accueil et sélecteur imprimante 1/2/3. */
body.cs-public-kittoner :where(#search-box, #search-by-models, [data-cognitishop-printer-selector]) {
  font-size: var(--kt-type-body) !important;
  line-height: 1.48 !important;
}

body.cs-public-kittoner :where(#search-box, #search-by-models, [data-cognitishop-printer-selector]) :where(.title, .section-title, h2) {
  font-size: 23px !important;
  font-weight: 720 !important;
  line-height: 1.22 !important;
}

body.cs-public-kittoner :where(#search-box, #search-by-models, [data-cognitishop-printer-selector]) :where(label, .step-label, .search-layer-title) {
  font-size: 14px !important;
  font-weight: 680 !important;
  line-height: 1.35 !important;
}

body.cs-public-kittoner :where(#search-box, #search-by-models, [data-cognitishop-printer-selector]) :where(select, input, button, a) {
  font-size: 15px !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .cs-printer-layout {
  color: var(--kt-type-ink);
  font-size: var(--kt-type-body);
  line-height: 1.52;
}

body.cs-public-kittoner .cs-printer-layout :where(.cs-printer-metric span, .cs-printer-link small, .cs-printer-product-card small) {
  font-size: var(--kt-type-meta) !important;
  line-height: 1.4 !important;
}

body.cs-public-kittoner .cs-printer-layout :where(.cs-printer-link strong, .cs-printer-product-card strong) {
  font-size: 17px !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .cs-printer-layout :where(
  .cs-printer-backlink,
  .cs-printer-visual-row strong,
  .cs-printer-visual-row span,
  .cs-printer-selector-label
) {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

body.cs-public-kittoner .cs-printer-layout .cs-printer-visual-icon {
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
}

body.cs-public-kittoner .kittoner-home-tuto-body > span {
  font-size: var(--kt-type-meta) !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

/* Fiches produits, flypages catégories et listes imprimantes. */
body.cs-public-kittoner :where(
  .page-title h1,
  .product-name,
  .product-name h1,
  .kittoner-product-content > h1,
  .list-upper-content h1
) {
  font-size: clamp(27px, 3vw, 33px) !important;
  font-weight: 720 !important;
  line-height: 1.16 !important;
  letter-spacing: -0.018em !important;
  overflow-wrap: break-word;
}

body.cs-public-kittoner :where(
  .product-shop,
  .product-essential,
  .kittoner-product-content,
  .kittoner-product-editorial,
  .category-products,
  .list-upper-content,
  .category-description,
  .category-seo-description
) {
  font-size: var(--kt-type-body) !important;
  line-height: 1.52 !important;
}

body.cs-public-kittoner :where(
  .product-shop,
  .product-essential,
  .kittoner-product-content,
  .kittoner-product-editorial,
  .category-products,
  .list-upper-content
) :where(p, li, td, th, dd, dt) {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body.cs-public-kittoner :where(
  .product-shop,
  .kittoner-product-content,
  .category-products
) :where(.product-name, .product-name a, .list-block-subtitle h2, .cs-card-title, .cs-product-card-title),
body.cs-public-kittoner .cs-home-product-grid :where(.product-name, .product-name a) {
  font-size: var(--kt-type-card) !important;
  font-weight: 720 !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .cs-product-page .product-essential > h1.product-name {
  font-size: 28px !important;
  line-height: 1.18 !important;
}

body.cs-public-kittoner .cs-home-product-grid h3.product-name,
body.cs-public-kittoner .cs-home-product-grid h3.product-name a,
body.cs-public-kittoner .category-products h3.product-name,
body.cs-public-kittoner .category-products h3.product-name a {
  font-size: var(--kt-type-card) !important;
  font-weight: 720 !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .category-products .list-block-subtitle h2 {
  font-size: 21px !important;
  line-height: 1.24 !important;
}

body.cs-public-kittoner .list-upper-content .main-content > h1.printer-name {
  font-size: 28px !important;
  line-height: 1.18 !important;
}

body.cs-public-kittoner .list-upper-content .main-content .desc-content {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 14px 0 0 !important;
  padding: 13px 15px !important;
  border: 1px solid rgba(77, 126, 0, 0.2) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 5px 14px rgba(45, 80, 0, 0.08) !important;
  color: #304047 !important;
  font-size: 15px !important;
  line-height: 1.52 !important;
}

/* Flypage advice column: short, separated reading cards instead of one tall text rail. */
body.cs-public-kittoner .kittoner-left-text {
  display: grid !important;
  gap: 10px !important;
  margin-top: 14px !important;
  color: #26343a !important;
  font-size: 14px !important;
  line-height: 1.52 !important;
}

body.cs-public-kittoner .kittoner-left-text > strong {
  display: block !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, #6ba900, #8bcf00) !important;
  box-shadow: 0 5px 12px rgba(65, 112, 0, 0.14) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .kittoner-left-text > strong:not(:first-child) {
  margin-top: 3px !important;
}

body.cs-public-kittoner .kittoner-left-text > p {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 11px 12px !important;
  border: 1px solid #d8e6c3 !important;
  border-left: 4px solid #82c800 !important;
  border-radius: 9px !important;
  background: linear-gradient(145deg, #ffffff, #f7fbeF) !important;
  box-shadow: 0 4px 12px rgba(46, 71, 24, 0.06) !important;
  color: #34434a !important;
  font-size: 14px !important;
  font-weight: 450 !important;
  line-height: 1.52 !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
}

body.cs-public-kittoner :where(
  .product-shop,
  .kittoner-product-content,
  .category-products
) :where(.reference, .sku, .product-reference, .product-list-ref, small) {
  font-size: var(--kt-type-meta) !important;
  line-height: 1.4 !important;
}

body.cs-public-kittoner span.count:not(.cart-count) {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .kittoner-product-attrs :where(th, td),
body.cs-public-kittoner .data-table :where(th, td) {
  font-size: 15px !important;
  line-height: 1.38 !important;
}

body.cs-public-kittoner :where(.price-including-tax .price, .cs-price, .kittoner-product-purchase .price) {
  font-weight: 750 !important;
  letter-spacing: -0.02em !important;
}

body.cs-public-kittoner .cs-favorite-button {
  min-height: 42px !important;
  padding: 9px 15px !important;
  font-size: 14px !important;
  font-weight: 680 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

body.cs-public-kittoner .cs-favorite-button span {
  font-size: inherit !important;
  line-height: inherit !important;
}

body.cs-public-kittoner :where(.block-related, .cs-relations, [data-cognitishop-relations]) {
  font-size: 15px !important;
  line-height: 1.48 !important;
}

body.cs-public-kittoner :where(.block-related, .cs-relations, [data-cognitishop-relations]) :where(strong, h3, h4) {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
}

body.cs-public-kittoner :where(.block-related, .cs-relations, [data-cognitishop-relations]) small {
  font-size: var(--kt-type-meta) !important;
}

/* Recherche globale et autocomplétion. */
body.cs-public-kittoner :where(.cs-search-page, .cs-search-page-kittoner) {
  font-size: var(--kt-type-body) !important;
  line-height: 1.52 !important;
}

body.cs-public-kittoner :where(.cs-search-result, .cs-search-card, .cs-product-card) :where(strong, h2, h3) {
  font-size: var(--kt-type-card) !important;
  font-weight: 720 !important;
  line-height: 1.28 !important;
}

body.cs-public-kittoner :where(.cs-search-result, .cs-search-card, .cs-product-card) :where(p, span, small) {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.cs-public-kittoner :where(.cs-search-refinement, .cs-search-list-item) strong {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body.cs-public-kittoner .cs-search-list-item > span {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.cs-public-kittoner .cs-search-content-type {
  font-size: 13px !important;
  font-weight: 720 !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .cs-search-content-title {
  font-size: 15px !important;
  font-weight: 720 !important;
  line-height: 1.32 !important;
}

body.cs-public-kittoner .cs-search-content-summary {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.cs-public-kittoner #search_mini_form :where(
  .cs-encros-live-search,
  .cs-kittoner-live-search,
  [data-kittoner-live-search-results]
) {
  font-size: 14px !important;
  line-height: 1.42 !important;
}

body.cs-public-kittoner .cs-kittoner-live-match {
  font-size: 13px !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner #search_mini_form :where(
  .cs-encros-live-search,
  .cs-kittoner-live-search,
  [data-kittoner-live-search-results]
) :where(strong, b) {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

/* Blog, guides et vidéos. */
body.cs-public-kittoner :where(
  .cs-blog-page,
  .cs-content-page,
  .cs-content-index-page,
  .cs-videos-page
) {
  color: var(--kt-type-ink) !important;
  font-size: var(--kt-type-body) !important;
  line-height: 1.55 !important;
}

body.cs-public-kittoner :where(.cs-blog-card, .cs-content-card, .cs-videos-card) {
  min-width: 0;
}

body.cs-public-kittoner :where(
  .cs-blog-card,
  .cs-content-card,
  .cs-blog-feature-card,
  .cs-blog-mini-card,
  .cs-videos-card
) :where(strong, h2, h3) {
  color: var(--kt-type-ink) !important;
  font-size: var(--kt-type-card) !important;
  font-weight: 720 !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner :where(
  .cs-blog-card,
  .cs-content-card,
  .cs-blog-feature-card,
  .cs-blog-mini-card,
  .cs-videos-card
) :where(p, span:not(.cs-videos-playmark):not(.cs-videos-watch-chip)) {
  font-size: 14px !important;
  line-height: 1.48 !important;
}

body.cs-public-kittoner :where(.cs-content-index-chips, .cs-videos-stats, .cs-search-insights) small {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

body.cs-public-kittoner .cs-blog-topic-header small {
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .cs-content-card-body b {
  font-size: 13px !important;
  font-weight: 550 !important;
  line-height: 1.38 !important;
}

body.cs-public-kittoner :where(.cs-blog-article-body, .cs-content-body, .kittoner-legacy-description) {
  color: #202a2f !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
}

body.cs-public-kittoner :where(.cs-blog-article-body, .cs-content-body, .kittoner-legacy-description) :where(p, li, td, th) {
  font-size: 16px !important;
  line-height: 1.62 !important;
}

body.cs-public-kittoner :where(.cs-blog-article-body, .cs-content-body, .kittoner-legacy-description) :where(h2, h3, h4) {
  margin-top: 1.4em;
  margin-bottom: 0.55em;
}

body.cs-public-kittoner .cs-videos-watch-chip {
  font-size: 13px !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
}

/* Panier, commande et retour de paiement. */
body.cs-public-kittoner :where(
  .kt-cart-magento,
  .cs-cart-page,
  .cs-checkout-page,
  .cs-checkout-return-page
) {
  color: var(--kt-type-ink);
  font-size: var(--kt-type-body) !important;
  line-height: 1.52 !important;
}

body.cs-public-kittoner :where(
  .kt-cart-magento,
  .cs-cart-page,
  .cs-checkout-page,
  .cs-checkout-return-page
) :where(p, li, dt, dd, td, th, label) {
  font-size: 15px !important;
  line-height: 1.48 !important;
}

body.cs-public-kittoner .cs-checkout-page .cs-checkout-steps strong {
  font-size: 13px !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner .cs-checkout-page :where(
  .cs-checkout-account span,
  .cs-checkout-account-result,
  .cs-checkout-form label span,
  .cs-checkout-methods legend,
  .cs-checkout-shipping-methods legend,
  .cs-checkout-shipping-address legend,
  .cs-checkout-same-address span,
  .cs-checkout-summary .cs-checkout-items span
) {
  font-size: 14px !important;
  line-height: 1.42 !important;
}

body.cs-public-kittoner .cs-checkout-page .cs-checkout-option-copy strong {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

body.cs-public-kittoner .cs-checkout-page .cs-checkout-option-copy em {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

body.cs-public-kittoner .cs-checkout-page :where(.cs-checkout-info, .cs-checkout-tooltip) {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

body.cs-public-kittoner .kt-mobile-menu-toggle em {
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
}

body.cs-public-kittoner :where(.kt-cart-product-name, .cs-cart-line-title, .cs-checkout-line-title) {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner :where(.kt-cart-unit-price, .kt-cart-line-total, .kt-cart-grand-total, .cs-cart-total) {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

body.cs-public-kittoner :where(.kt-cart-notice, .cs-cart-notice, .cs-checkout-notice) {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.cs-public-kittoner .kt-cart-line-form {
  grid-template-columns: 86px 108px !important;
  gap: 8px !important;
}

body.cs-public-kittoner .kt-cart-update {
  width: 108px !important;
  min-width: 108px !important;
  height: 42px !important;
  padding: 0 10px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.cs-public-kittoner :where(.cs-cart-franco-dialog, .cs-cart-smart-dialog) :where(p, span, small) {
  font-size: 15px !important;
  line-height: 1.48 !important;
}

body.cs-public-kittoner :where(.cs-cart-franco-dialog, .cs-cart-smart-dialog) :where(h2, h3, strong) {
  font-size: 20px !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
}

/* Compte client, connexion, création de compte et contact. */
body.cs-public-kittoner :where(
  .cs-account-page,
  .cs-account-password-page,
  .cs-signup-page,
  .kt-contact-page
) {
  color: var(--kt-type-ink);
  font-size: var(--kt-type-body) !important;
  line-height: 1.52 !important;
}

body.cs-public-kittoner :where(
  .cs-account-page,
  .cs-account-password-page,
  .cs-signup-page,
  .kt-contact-page
) :where(p, li, dt, dd, td, th) {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body.cs-public-kittoner :where(.kt-account-box-title, .cs-account-section-title, .kt-contact-page h2) {
  font-size: 21px !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
}

body.cs-public-kittoner .cs-account-tabs button {
  font-size: 15px !important;
  font-weight: 720 !important;
  line-height: 1.22 !important;
}

body.cs-public-kittoner .cs-account-tabs button > span {
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body.cs-public-kittoner :where(.cs-account-order-item, .cs-account-product-line) :where(small, span) {
  font-size: 14px !important;
  line-height: 1.42 !important;
}

body.cs-public-kittoner :where(.cs-password-migration-dialog, .cs-password-help-dialog) {
  font-size: 16px !important;
  line-height: 1.52 !important;
}

body.cs-public-kittoner :where(.cs-password-migration-dialog, .cs-password-help-dialog) :where(p, label, span) {
  font-size: 15px !important;
  line-height: 1.48 !important;
}

body.cs-public-kittoner :where(.cs-password-migration-dialog, .cs-password-help-dialog) :where(h2, h3) {
  font-size: 28px !important;
  line-height: 1.18 !important;
}

/* Assistant, notifications, toasts et chargements. */
body.cs-public-kittoner :where(.cs-ui-toast, .cs-favorites-toast) {
  max-width: min(540px, calc(100vw - 28px)) !important;
  font-size: 15px !important;
  font-weight: 550 !important;
  line-height: 1.45 !important;
}

body.cs-public-kittoner :where(.cs-ui-toast, .cs-favorites-toast) :where(span, strong, a, button) {
  font-size: inherit !important;
  line-height: inherit !important;
}

body.cs-public-kittoner .cs-ui-loader-message {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

body.cs-public-kittoner :where(.cs-assistant-panel, .cs-assistant-dialog, .cs-assistant-message) {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body.cs-public-kittoner :where(.cs-assistant-panel, .cs-assistant-dialog) :where(h2, h3, strong) {
  font-weight: 720 !important;
  line-height: 1.28 !important;
}

body.cs-public-kittoner :where(.cs-assistant-panel, .cs-assistant-dialog) :where(p, li, label, input, textarea, button) {
  font-size: 15px !important;
  line-height: 1.48 !important;
}

body.cs-public-kittoner .kt-newsletter-dialog {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* Pied de page : compact, mais jamais microscopique. */
body.cs-public-kittoner .footer-container {
  font-size: 14px !important;
  line-height: 1.48 !important;
}

body.cs-public-kittoner .footer-container :where(p, li, a, span, em) {
  font-size: 14px !important;
  line-height: 1.48 !important;
}

body.cs-public-kittoner .footer-container :where(strong, #bottom-links > li > ol > li:first-child) {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

/* Garde-fous généraux contre les débordements de texte. */
body.cs-public-kittoner :where(
  .cs-content-card,
  .cs-blog-card,
  .cs-videos-card,
  .cs-product-card,
  .cs-home-product-card,
  .cs-printer-product-card,
  .cs-account-panel,
  .cs-account-order-item,
  .cs-cart-line,
  .kt-cart-table td,
  .cs-search-result,
  .cs-relations-card,
  [data-cognitishop-relations] article,
  [role="dialog"]
) {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

body.cs-public-kittoner :where(
  .cs-content-card,
  .cs-blog-card,
  .cs-videos-card,
  .cs-product-card,
  .cs-home-product-card,
  .cs-printer-product-card,
  .cs-account-panel,
  .cs-account-order-item,
  .cs-cart-line,
  .kt-cart-table td,
  .cs-search-result,
  .cs-relations-card,
  [data-cognitishop-relations] article,
  [role="dialog"]
) :where(h1, h2, h3, h4, p, a, strong, span, small, em, button, label) {
  max-width: 100%;
  overflow-wrap: anywhere;
}

/*
 * The minicart is a floating panel inside a narrow 42 px header holder.
 * It must not inherit the generic dialog max-width from its parent.
 */
body.cs-public-kittoner .kittoner-minicart-panel[role="dialog"] {
  width: min(308px, calc(100vw - 24px)) !important;
  min-width: min(260px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
}

body.cs-public-kittoner .kittoner-minicart-panel :where(
  .kittoner-minicart-title,
  .kittoner-minicart-loading,
  .kittoner-minicart-empty,
  .kittoner-minicart-copy,
  .kittoner-minicart-copy a,
  .kittoner-minicart-copy em,
  .kittoner-minicart-remove,
  .kittoner-minicart-checkout
) {
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

@media (min-width: 761px) {
  body.cs-public-kittoner .cs-assistant-root .cs-assistant-panel {
    min-height: 0 !important;
    max-height: min(760px, calc(100vh - 220px)) !important;
  }
}

@media (max-width: 760px) {
  body.cs-public-kittoner {
    --kt-type-body: 16px;
    --kt-type-secondary: 14px;
    --kt-type-meta: 13px;
    --kt-type-control: 15px;
    --kt-type-card: 17px;
    --kt-type-h4: 18px;
    --kt-type-h3: 20px;
    --kt-type-h2: 23px;
    --kt-type-h1: 28px;
  }

  body.cs-public-kittoner :where(.main, .main-container, main) h1,
  body.cs-public-kittoner :where(
    .page-title h1,
    .product-name,
    .product-name h1,
    .kittoner-product-content > h1,
    .list-upper-content h1
  ) {
    font-size: var(--kt-type-h1) !important;
    line-height: 1.18 !important;
  }

  body.cs-public-kittoner .cs-product-page .product-essential > h1.product-name {
    font-size: 25px !important;
    line-height: 1.2 !important;
  }

  body.cs-public-kittoner :where(.main, .main-container, main) h2 {
    font-size: var(--kt-type-h2) !important;
  }

  body.cs-public-kittoner :where(.main, .main-container, main) h3 {
    font-size: var(--kt-type-h3) !important;
  }

  body.cs-public-kittoner #nav .nav-primary > li > a,
  body.cs-public-kittoner #nav .nav-primary > li > span {
    font-size: 15px !important;
  }

  body.cs-public-kittoner .cs-checkout-steps li {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    gap: 5px !important;
    min-height: 70px !important;
    padding: 7px 4px !important;
    text-align: center !important;
  }

  body.cs-public-kittoner .cs-checkout-steps li > span {
    width: 30px !important;
    height: 30px !important;
    font-size: 15px !important;
    line-height: 30px !important;
  }

  body.cs-public-kittoner .cs-checkout-steps strong {
    width: 100%;
    font-size: 12px !important;
    line-height: 1.2 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.cs-public-kittoner .cs-checkout-form,
  body.cs-public-kittoner .cs-checkout-form > *,
  body.cs-public-kittoner .cs-checkout-two,
  body.cs-public-kittoner .cs-checkout-three,
  body.cs-public-kittoner .cs-checkout-form label {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.cs-public-kittoner .cs-checkout-form :where(input, select, textarea) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.cs-public-kittoner :where(
    .cs-content-search,
    .cs-blog-search,
    .cs-videos-search,
    .cs-search-form
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.cs-public-kittoner :where(
    .cs-content-search,
    .cs-blog-search,
    .cs-videos-search,
    .cs-search-form
  ) button {
    width: 100% !important;
  }

  body.cs-public-kittoner :where(.cs-ui-toast, .cs-favorites-toast) {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  body.cs-public-kittoner :where(
    .cs-password-migration-dialog,
    .cs-password-help-dialog,
    .cs-cart-franco-dialog,
    .cs-cart-smart-dialog,
    .kt-newsletter-dialog,
    .cs-videos-modal-panel
  ) {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    overflow: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-public-kittoner *,
  body.cs-public-kittoner *::before,
  body.cs-public-kittoner *::after {
    scroll-behavior: auto !important;
  }
}

/* Homepage personalized suggestions: balanced, clearly separated product cards. */
@media (min-width: 972px) {
  body.cs-public-kittoner.cms-home .cs-home-page {
    margin-top: 14px !important;
  }
}

body.cs-public-kittoner #best-sells .products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
  padding: 0 18px 8px !important;
}

body.cs-public-kittoner #best-sells .products-grid > .item {
  position: relative !important;
  isolation: isolate;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 312px !important;
  padding: 14px 13px 15px !important;
  overflow: hidden !important;
  border: 1px solid rgba(119, 169, 0, 0.34) !important;
  border-radius: 15px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fcfef8 100%) !important;
  box-shadow:
    0 7px 18px rgba(36, 60, 17, 0.08),
    0 1px 2px rgba(20, 36, 8, 0.06) !important;
  text-align: center !important;
  transform: translateZ(0);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease !important;
}

body.cs-public-kittoner #best-sells .products-grid > .item::before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 12px;
  left: 12px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, #7fbd00 0%, #a9d900 58%, #e10279 100%);
  content: "";
  opacity: 0.7;
  transform: scaleX(0.36);
  transform-origin: center;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

body.cs-public-kittoner #best-sells .products-grid > .item .productGrid-description {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  text-align: center !important;
}

body.cs-public-kittoner #best-sells .products-grid > .item .product-image {
  display: grid !important;
  flex: 0 0 138px !important;
  place-items: center !important;
  width: 100% !important;
  max-width: 190px !important;
  height: 138px !important;
  margin: 0 auto 10px !important;
  overflow: hidden !important;
  background: transparent !important;
}

body.cs-public-kittoner #best-sells .products-grid > .item .product-image img {
  width: auto !important;
  max-width: 184px !important;
  height: auto !important;
  max-height: 132px !important;
  object-fit: contain !important;
  transition: transform 180ms ease !important;
}

body.cs-public-kittoner #best-sells .products-grid > .item .product-name,
body.cs-public-kittoner #best-sells .products-grid > .item .product-name a {
  width: 100% !important;
  margin: 0 !important;
  color: #263238 !important;
  font-size: 16px !important;
  font-weight: 720 !important;
  line-height: 1.28 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

body.cs-public-kittoner #best-sells .products-grid > .item .kittoner-smart-reason {
  align-self: center !important;
  justify-content: center !important;
  margin: 10px auto 0 !important;
  text-align: center !important;
}

body.cs-public-kittoner #best-sells .products-grid > .item .type {
  margin: 9px 0 0 !important;
  color: #68777c !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

body.cs-public-kittoner #best-sells .products-grid > .item .kittoner-smart-price {
  display: block !important;
  align-self: center !important;
  margin: auto 0 0 !important;
  padding-top: 12px !important;
  color: #d70070 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  letter-spacing: 0.01em !important;
}

@media (hover: hover) and (pointer: fine) {
  body.cs-public-kittoner #best-sells .products-grid > .item:hover,
  body.cs-public-kittoner #best-sells .products-grid > .item:focus-within {
    z-index: 2;
    border-color: rgba(112, 166, 0, 0.86) !important;
    box-shadow:
      0 14px 28px rgba(56, 92, 15, 0.16),
      0 0 0 3px rgba(132, 190, 0, 0.1) !important;
    transform: translateY(-4px) scale(1.014);
  }

  body.cs-public-kittoner #best-sells .products-grid > .item:hover::before,
  body.cs-public-kittoner #best-sells .products-grid > .item:focus-within::before {
    opacity: 1;
    transform: scaleX(1);
  }

  body.cs-public-kittoner #best-sells .products-grid > .item:hover .product-image img,
  body.cs-public-kittoner #best-sells .products-grid > .item:focus-within .product-image img {
    transform: scale(1.035);
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  body.cs-public-kittoner #best-sells .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.cs-public-kittoner #best-sells .products-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 0 !important;
  }

  body.cs-public-kittoner #best-sells .products-grid > .item {
    width: min(100%, 340px) !important;
    max-width: 340px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 14px 14px 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-public-kittoner #best-sells .products-grid > .item,
  body.cs-public-kittoner #best-sells .products-grid > .item::before,
  body.cs-public-kittoner #best-sells .products-grid > .item .product-image img {
    transition: none !important;
  }

  body.cs-public-kittoner #best-sells .products-grid > .item:hover,
  body.cs-public-kittoner #best-sells .products-grid > .item:focus-within,
  body.cs-public-kittoner #best-sells .products-grid > .item:hover .product-image img,
  body.cs-public-kittoner #best-sells .products-grid > .item:focus-within .product-image img {
    transform: none !important;
  }
}

/* Accueil Kittoner : prix et achat directement accessibles sur les meilleures ventes. */
body.cs-public-kittoner #best-sells .products-grid > .item .kittoner-home-top-price {
  display: block;
  align-self: center;
  margin-top: 10px;
  color: #d70070;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
}

body.cs-public-kittoner #best-sells .products-grid > .item .kittoner-home-top-cart {
  display: grid;
  justify-items: center;
  gap: 6px;
  width: 100%;
  margin-top: 10px;
}

body.cs-public-kittoner #best-sells .products-grid > .item .kittoner-home-top-cart button {
  width: min(100%, 174px);
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid #6da900;
  border-radius: 999px;
  background: linear-gradient(180deg, #8bd300 0%, #75ba00 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
  box-shadow: 0 7px 16px rgba(105, 164, 0, .2);
}

body.cs-public-kittoner #best-sells .products-grid > .item .kittoner-home-top-cart button:hover,
body.cs-public-kittoner #best-sells .products-grid > .item .kittoner-home-top-cart button:focus-visible {
  background: linear-gradient(180deg, #96df08 0%, #69ab00 100%);
}

body.cs-public-kittoner #best-sells .products-grid > .item .kittoner-home-top-cart button:disabled {
  cursor: wait;
  opacity: .68;
}

body.cs-public-kittoner #best-sells .products-grid > .item .kittoner-home-top-cart .cs-card-cart-result {
  min-height: 0;
  margin: 0;
  color: #315b00;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}

/* Les quatre repères jaunes gagnent légèrement en contraste sans devenir massifs. */
body.cs-public-kittoner #cartridge-types .types > li h2,
body.cs-public-kittoner #cartridge-types .types > li h2 strong {
  font-weight: 600 !important;
}

body.cs-public-kittoner #cartridge-types .types > li p {
  font-weight: 500 !important;
}

/* Les titres de fiches restent présents sans monopoliser toute la largeur utile. */
body.cs-public-kittoner .cs-product-page .product-essential > h1.product-name,
body.cs-public-kittoner .kittoner-product-content > h1.product-name,
body.cs-public-kittoner .kittoner-product-content > h1 {
  max-width: 100%;
  font-size: clamp(22px, 2.25vw, 25px) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

@media (max-width: 760px) {
  body.cs-public-kittoner .cs-product-page .product-essential > h1.product-name,
  body.cs-public-kittoner .kittoner-product-content > h1.product-name,
  body.cs-public-kittoner .kittoner-product-content > h1 {
    font-size: 23px !important;
    line-height: 1.22 !important;
  }
}
