/* ==========================================================================
   POLICES AUTO-HEBERGEES - Fira Sans
   Les fichiers .woff2 sont dans  templates/t4_kilix/local/fonts/
   Ils remplacent l'appel a Google Fonts : le navigateur du visiteur ne
   contacte plus fonts.googleapis.com ni fonts.gstatic.com.
   Le chargement Google est desactive dans  local/etc/site/default.json
   (dont_use_google_font = true).
   Pour ajouter une graisse : deposer le .woff2 dans local/fonts/ puis
   recopier un bloc ci-dessous en changeant font-weight et le nom du fichier.
   ========================================================================== */
@font-face { font-family:'Fira Sans'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/fira-sans-400.woff2') format('woff2'); }
@font-face { font-family:'Fira Sans'; font-style:italic; font-weight:400; font-display:swap; src:url('../fonts/fira-sans-400-italic.woff2') format('woff2'); }
@font-face { font-family:'Fira Sans'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/fira-sans-500.woff2') format('woff2'); }
@font-face { font-family:'Fira Sans'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/fira-sans-600.woff2') format('woff2'); }
@font-face { font-family:'Fira Sans'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/fira-sans-700.woff2') format('woff2'); }
@font-face { font-family:'Fira Sans'; font-style:italic; font-weight:700; font-display:swap; src:url('../fonts/fira-sans-700-italic.woff2') format('woff2'); }

/* ===== Kaona V2 — palette Signal (fond sombre) ===== */

/* Titres */
h1, h2, h3,
.article-title, .item-title,
.page-header h1, .page-header h2 { color: #25A8FF; }
h1 a, h2 a, h3 a, .article-title a { color: #25A8FF; }
h1 a:hover, h2 a:hover, h3 a:hover, .article-title a:hover { color: #5CF2E4; }

/* Boutique — titres de produits dans les listes */
.eshop-info-block h5 { margin-bottom: .45rem; }
.eshop-info-block h5 a,
.eshop-product-name a,
.product-name a {
  color: #25A8FF;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
  text-decoration: none;
}
.eshop-info-block h5 a:hover,
.eshop-product-name a:hover,
.product-name a:hover { color: #5CF2E4; }

/* Boutique — fiche produit */
.eshop-product h1, .eshop-product .product-name { color: #25A8FF; }
.eshop-product-price .price { color: #E6EDF7; font-weight: 700; }

/* Pied de page */
.t4-footnav { padding-block: 3rem; }
.t4-footnav .t4-module .module-title,
.t4-footnav .t4-module h3.module-title {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 600;
  color: #5CF2E4;
  margin-bottom: 1rem;
}
.t4-footnav .navbar { padding: 0; }
.t4-footnav ul { gap: .5rem; }
.t4-footer { padding-block: 1.25rem; border-top: 1px solid #1F2E42; }

/* Pied de page — baseline et formulaire */
.t4-footnav .footer-baseline {
  font-size: 1.05rem; font-weight: 600; color: #E6EDF7;
  margin-bottom: .9rem; letter-spacing: -.01em;
}
.t4-footnav a { color: #C3D2E4; text-decoration: none; }
.t4-footnav a:hover { color: #5CF2E4; }
.t4-footnav h4 { font-size: 1rem; margin: 0; }

/* AcyMailing — champ Langue masqué, mise en forme */
.t4-footnav .acym_module .onefield.acyfield_language { display: none !important; }
.t4-footnav .acym_module .acym_form { display: flex; flex-direction: column; gap: .55rem; }
.t4-footnav .acym_module input[type="text"],
.t4-footnav .acym_module input[type="email"] {
  width: 100%; background: #080C14; border: 1px solid #1F2E42;
  border-radius: 2px; color: #E6EDF7; padding: .55rem .7rem; font-size: .95rem;
}
.t4-footnav .acym_module input::placeholder { color: #6E8298; }
.t4-footnav .acym_module .btn,
.t4-footnav .acym_module button,
.t4-footnav .acym_module input[type="submit"] {
  background: #25A8FF; border: 0; color: #080C14;
  font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  font-size: .82rem; padding: .6rem 1rem; border-radius: 2px; cursor: pointer;
}
.t4-footnav .acym_module .btn:hover,
.t4-footnav .acym_module button:hover,
.t4-footnav .acym_module input[type="submit"]:hover { background: #5CF2E4; }

/* Logo — hauteur fixe, largeur proportionnelle */
.navbar-brand.logo-image img.logo-img,
.t4-header img.logo-img,
.logo-image img { height: 40px; width: auto; max-width: 100%; }
@media (max-width: 575.98px) {
  .navbar-brand.logo-image img.logo-img,
  .t4-header img.logo-img,
  .logo-image img { height: 32px; }
}

/* Barre d'en-tête unique — répartition des colonnes */
.t4-header .t4-row { align-items: center; }
.t4-header .t4-col.logo,
.t4-header .t4-col.eshop-cart,
.t4-header .t4-col.eshop-languages { flex: 0 0 auto; width: auto; max-width: none; }
.t4-header .t4-col.mainnav { flex: 1 1 auto; width: auto; max-width: none; }
.t4-header .t4-col.eshop-cart { margin-left: auto; }
.t4-header .t4-col.mainnav .navbar,
.t4-header .t4-col.mainnav .t4-megamenu { padding-top: 0; padding-bottom: 0; }
.t4-header .navbar-brand { margin: 0; padding: 0; }
.t4-header .t4-section-inner { padding-top: .55rem; padding-bottom: .55rem; }

/* Burger off-canvas — toujours visible, tout à gauche */
.t4-header .t4-section-inner { position: relative; padding-left: 3.4rem; }
.t4-header .t4-offcanvas-toggle {
  display: inline-flex !important; align-items: center;
  position: absolute; left: .5rem; top: 50%; transform: translateY(-50%);
  margin: 0; padding: .4rem .5rem; color: #E6EDF7; font-size: 1.1rem; z-index: 5;
}
.t4-header .t4-offcanvas-toggle:hover { color: #5CF2E4; }
.t4-header .t4-navbar { display: flex; align-items: center; }

/* le burger doit se positionner par rapport à la barre, pas à la colonne du menu */
.t4-header .t4-col.mainnav,
.t4-header .t4-row { position: static; }
.t4-header .t4-section-inner { position: relative !important; padding-left: 3.6rem !important; }

.t4-header .t4-navbar,
.t4-header .navbar,
.t4-header .t4-megamenu { position: static !important; }

/* ===== Page d'accueil — grille de cartes ===== */
.blog-items .items-row { align-items: stretch; }
.blog-items .item { margin-bottom: 1.7rem; display: flex; }
.blog-items .item-content {
  width: 100%; display: flex; flex-direction: column;
  background: #111A28; border: 1px solid #1F2E42; border-radius: 3px;
  padding: 0 0 1.2rem; overflow: hidden;
}
.blog-items .item-content > * { padding-left: 1.15rem; padding-right: 1.15rem; }

/* image en tête de carte, pleine largeur */
.blog-items .item-content p:has(img) { order: -2; padding: 0; margin: 0; }
.blog-items .item-content img { display: block; width: 100%; height: auto; }

/* titre de la carte (lien Joomla) juste sous l'image */
.blog-items .item-title { order: -1; font-size: 1.2rem; line-height: 1.25; margin: 1.05rem 0 .5rem; }
.blog-items .item-title a { color: #25A8FF; text-decoration: none; }
.blog-items .item-title a:hover { color: #5CF2E4; }

/* le titre recopié à l'intérieur de l'article : masqué dans la grille */
.blog-items .item-content h1 { display: none; }
.blog-items .item-content h2:not(.item-title) { font-size: 1.02rem; color: #E6EDF7; margin: .1rem 0 .55rem; line-height: 1.3; }
.blog-items .item-content p { font-size: .95rem; line-height: 1.55; margin: 0 0 .7rem; }
.blog-items .item-content span[style] { font-size: inherit !important; }
.blog-items .item-content ul { font-size: .95rem; }
.blog-items .article-aside:empty { display: none; }

/* Lire la suite, aligné en bas de carte */
.blog-items .readmore { order: 99; margin-top: auto; padding-top: .5rem; margin-bottom: 0; }
.blog-items .readmore .btn {
  background: transparent; border: 1px solid #25A8FF; color: #25A8FF;
  text-transform: uppercase; letter-spacing: .1em; font-size: .74rem;
  font-weight: 600; padding: .45rem .85rem; border-radius: 2px; text-decoration: none;
}
.blog-items .readmore .btn:hover { background: #25A8FF; color: #080C14; }

/* un h1 qui ne contient qu'une image reste visible : c'est l'illustration */
.blog-items .item-content h1:has(img) { display: block; order: -2; padding: 0; margin: 0; }
/* bande d'image de hauteur homogène, sans recadrage */
.blog-items .item-content img {
  max-height: 280px; object-fit: contain; background: #0B1420;
}

/* ===== Barre d'en-tête : reste sombre au défilement ===== */
/* Kilix force .not-at-top #t4-header.t4-sticky { background:#fff } — on annule */
.t4-section.t4-header { background-color: #111A28; }
.not-at-top #t4-header.t4-sticky,
.not-at-top .t4-header.t4-sticky {
  background-color: #111A28;
  box-shadow: 0 3px 16px rgba(0, 0, 0, .5);
}

/* ===== Module « Derniers modules » sous les articles ===== */
.t4-section.t4-inner-5 { padding-block: 2.4rem 3rem; }
.t4-section.t4-inner-5 .module-title,
.t4-section.t4-inner-5 h3 {
  font-size: .82rem; text-transform: uppercase; letter-spacing: .14em;
  font-weight: 600; color: #5CF2E4; margin-bottom: 1.2rem;
}
.t4-section.t4-inner-5 .eshop-info-block h5 a { font-size: 1.1rem; }

/* ===== Menu off-canvas — fond papier ===== */
.t4-offcanvas, #t4-off-canvas, .off-canvas, .t4-off-canvas {
  background: #FAF7F2 !important; color: #14283C !important;
}
.t4-offcanvas .t4-off-canvas-header,
#t4-off-canvas .t4-off-canvas-header { border-bottom: 1px solid #E7DFD3; }
.t4-offcanvas a, #t4-off-canvas a, .off-canvas a { color: #14283C !important; text-decoration: none; }
.t4-offcanvas a:hover, #t4-off-canvas a:hover, .off-canvas a:hover { color: #146E96 !important; }
.t4-offcanvas li, #t4-off-canvas li { border-bottom: 1px solid #EFE8DE; }
.t4-offcanvas li > a, #t4-off-canvas li > a {
  display: block; padding: .8rem .2rem; font-size: 1.02rem; font-weight: 600;
}
.t4-offcanvas .close, #t4-off-canvas .close,
.t4-offcanvas .js-offcanvas-close { color: #6E7A85 !important; opacity: 1; }

/* off-canvas : ferme la ligne de séparation en bas de liste */
.t4-offcanvas li:last-child { border-bottom: 0; }
.t4-offcanvas .t4-offcanvas-body, .t4-offcanvas .c-offcanvas__content { padding: 1.2rem 1.4rem; }

/* le logo blanc est illisible sur le fond papier de l'off-canvas : on le retire */
.t4-offcanvas .logo-image, .t4-offcanvas img.logo-img { display: none; }
.t4-offcanvas .t4-offcanvas-header { min-height: 0; padding: .6rem 1.4rem; }

/* ===== Page Actualités (blog de catégorie) ===== */
.com-content-category-blog .page-header h1 {
  font-size: .82rem; text-transform: uppercase; letter-spacing: .14em;
  font-weight: 600; color: #5CF2E4; margin: 0 0 1.6rem;
}
.com-content-category-blog__items > .items-row > [class*="col-"] { display: flex; margin-bottom: 1.7rem; }
.com-content-category-blog__items .item { display: flex; width: 100%; }
.com-content-category-blog__items .item-content {
  width: 100%; display: flex; flex-direction: column;
  background: #111A28; border: 1px solid #1F2E42; border-radius: 3px;
  padding: 1.15rem 1.15rem 1.2rem; overflow: hidden;
}
.com-content-category-blog__items .page-header { margin: 0 0 .35rem; }
.com-content-category-blog__items .page-header h2 {
  font-size: 1.18rem; line-height: 1.25; margin: 0; letter-spacing: -.015em;
}
.com-content-category-blog__items .page-header h2 a { color: #25A8FF; text-decoration: none; }
.com-content-category-blog__items .page-header h2 a:hover { color: #5CF2E4; }
.com-content-category-blog__items .article-aside {
  font-size: .78rem; color: #8FA3BC; margin: 0 0 .9rem;
}
.com-content-category-blog__items .item-intro img {
  display: block; width: calc(100% + 2.3rem); margin: 0 -1.15rem .9rem;
  max-height: 220px; object-fit: contain; background: #0B1420;
}
.com-content-category-blog__items .item-intro p { font-size: .93rem; line-height: 1.55; margin: 0 0 .7rem; }
.com-content-category-blog__items .item-intro h1,
.com-content-category-blog__items .item-intro h3 { display: none; }
.com-content-category-blog__items .readmore { margin-top: auto; padding-top: .5rem; margin-bottom: 0; }
.com-content-category-blog__items .readmore .btn {
  background: transparent; border: 1px solid #25A8FF; color: #25A8FF;
  text-transform: uppercase; letter-spacing: .1em; font-size: .74rem;
  font-weight: 600; padding: .45rem .85rem; border-radius: 2px; text-decoration: none;
}
.com-content-category-blog__items .readmore .btn:hover { background: #25A8FF; color: #080C14; }
.com-content-category-blog .pagination { justify-content: center; margin-top: 1.5rem; }


/* ==========================================================
   PAPIER — pages claires (style « Kaona Papier », theme-architect)
   Surcharge les couleurs de Signal, qui sont écrites en dur plus haut.
   ========================================================== */

/* Titres */
.theme-architect h1, .theme-architect h2, .theme-architect h3,
.theme-architect .article-title, .theme-architect .page-header h1 { color: #146E96; }
.theme-architect h1 a, .theme-architect h2 a, .theme-architect h3 a { color: #146E96; }
.theme-architect h1 a:hover, .theme-architect h2 a:hover, .theme-architect h3 a:hover { color: #17A9C9; }

/* Cartes d'articles — accueil et actualités */
.theme-architect .blog-items .item-content,
.theme-architect .com-content-category-blog__items .item-content {
  background: #FFFFFF; border-color: #E7DFD3;
  box-shadow: 0 1px 2px rgba(20,40,60,.05);
}
.theme-architect .blog-items .item-title a,
.theme-architect .com-content-category-blog__items .page-header h2 a { color: #146E96; }
.theme-architect .blog-items .item-title a:hover,
.theme-architect .com-content-category-blog__items .page-header h2 a:hover { color: #17A9C9; }
.theme-architect .blog-items .item-content p,
.theme-architect .com-content-category-blog__items .item-intro p { color: #14283C; }
.theme-architect .blog-items .card-kicker,
.theme-architect .com-content-category-blog__items .article-aside { color: #6E7A85; }
.theme-architect .blog-items .item-content img,
.theme-architect .com-content-category-blog__items .item-intro img { background: #F1EBE2; }
.theme-architect .com-content-category-blog .page-header h1 { color: #6E7A85; }

/* Boutons « lire la suite » */
.theme-architect .readmore .btn { border-color: #146E96; color: #146E96; background: transparent; }
.theme-architect .readmore .btn:hover { background: #146E96; color: #FFFFFF; }

/* Boutique sur fond clair */
.theme-architect .eshop-info-block h5 a,
.theme-architect .eshop-product h1,
.theme-architect .product-name a { color: #146E96; }
.theme-architect .eshop-info-block h5 a:hover { color: #17A9C9; }
.theme-architect .eshop-product-price .price { color: #14283C; }

/* Texte courant : mesure de lecture et respiration */
.theme-architect .com-content-article__body,
.theme-architect .item-page > div:not(.page-header):not(.article-aside),
.theme-architect .com-content-article__body p { max-width: 68ch; }
.theme-architect .com-content-article__body p,
.theme-architect .item-page p { line-height: 1.72; }
.theme-architect .chapo, .theme-architect p.chapo {
  font-size: 1.2rem; line-height: 1.5; color: #14283C; max-width: 48ch; margin-bottom: 1.6rem;
}
.theme-architect .item-page h3 { margin-top: 2rem; }
.theme-architect .item-page h3::before {
  content: ""; display: block; width: 26px; height: 2px; background: #17A9C9; margin-bottom: .7rem;
}

/* Colonne de droite des articles (Papier) */
.theme-architect .t4-col.sidebar-r { padding-left: 2.2rem; }
.theme-architect .sidebar-r .t4-module {
  border: 1px solid #E7DFD3; border-radius: 3px; background: #FFFFFF;
  padding: 16px 17px 18px; margin-bottom: 1.1rem;
}
.theme-architect .sidebar-r .module-title {
  font-size: .74rem; text-transform: uppercase; letter-spacing: .15em;
  font-weight: 600; color: #6E7A85; margin: 0 0 .85rem;
}
.theme-architect .sidebar-r .acym_module input[type="text"],
.theme-architect .sidebar-r .acym_module input[type="email"] {
  width: 100%; background: #FAF7F2; border: 1px solid #E7DFD3;
  border-radius: 2px; color: #14283C; padding: .55rem .7rem; font-size: .95rem;
}
.theme-architect .sidebar-r .acym_module .onefield.acyfield_language { display: none !important; }
.theme-architect .sidebar-r .acym_module .btn,
.theme-architect .sidebar-r .acym_module button {
  background: #146E96; color: #FFFFFF; border: 0; border-radius: 2px;
  text-transform: uppercase; letter-spacing: .11em; font-weight: 600;
  font-size: .76rem; padding: .55rem .9rem; cursor: pointer;
}
.theme-architect .sidebar-r .acym_module .btn:hover { background: #17A9C9; }
@media (max-width: 991.98px){ .theme-architect .t4-col.sidebar-r { padding-left: 0; margin-top: 2rem; } }


/* ==========================================================
   FICHE PRODUIT — palette Papier (vue produit uniquement)
   La grille de la boutique reste en Signal ; seule la fiche bascule.
   ========================================================== */
body.view-product { background: #FAF7F2; color: #14283C; }
body.view-product .t4-main-body,
body.view-product .t4-main-body .t4-section-inner { background: #FAF7F2; }
body.view-product .t4-main-body a { color: #146E96; }
body.view-product .t4-main-body a:hover { color: #17A9C9; }

/* Titre du produit */
body.view-product .page-header { border: 0; margin: 0 0 1.6rem; padding: 0; }
body.view-product h1.eshop-title {
  color: #146E96; font-size: 2.1rem; line-height: 1.1;
  letter-spacing: -.025em; margin: 0;
}

/* Image */
body.view-product .image.img-thumbnail {
  background: #FFFFFF; border: 1px solid #E7DFD3; border-radius: 3px;
  padding: 14px; box-shadow: 0 1px 2px rgba(20,40,60,.05);
}
body.view-product .image.img-thumbnail img { width: 100%; height: auto; display: block; }

/* Bloc d'achat : une carte, pas une suite de blocs */
body.view-product .col-md-8 > div:has(.product-price),
body.view-product .col-md-8 > div:has(.product-options),
body.view-product .product-cart {
  background: transparent;
}
body.view-product .product-desc {
  color: #14283C; font-size: 1.02rem; line-height: 1.6;
  max-width: 60ch; margin-bottom: 1.4rem;
}
body.view-product .product-desc b, body.view-product .product-desc strong { color: #14283C; }

/* Prix */
body.view-product .product-price {
  font-size: 1.7rem; font-weight: 700; color: #14283C;
  font-variant-numeric: tabular-nums; letter-spacing: -.02em;
  margin: 0 0 1.5rem; padding-bottom: 1.2rem;
  border-bottom: 1px solid #E7DFD3;
}
body.view-product .product-price .price-label,
body.view-product .product-price span { font-weight: 700; }

/* Options : l'intitulé devient un label, pas un titre */
body.view-product .product-options h2,
body.view-product .product-options h3,
body.view-product .product-options legend {
  font-size: .76rem; text-transform: uppercase; letter-spacing: .15em;
  font-weight: 600; color: #6E7A85; margin: 0 0 .9rem;
}
body.view-product .product-options label { font-size: .9rem; color: #6E7A85; font-weight: 600; }
body.view-product .product-options select,
body.view-product .box-quantity input {
  background: #FFFFFF; border: 1px solid #E7DFD3; border-radius: 2px;
  color: #14283C; padding: .5rem .7rem; font-size: .95rem;
}

/* Bouton d'achat */
body.view-product .product-cart .btn,
body.view-product #add-to-cart, body.view-product .add-to-cart-button {
  background: #146E96; border: 0; color: #FFFFFF;
  text-transform: uppercase; letter-spacing: .1em; font-weight: 700;
  font-size: .82rem; padding: .7rem 1.3rem; border-radius: 2px;
}
body.view-product .product-cart .btn:hover { background: #17A9C9; }
body.view-product .box-action-icons-item .btn {
  background: transparent; border: 1px solid #E7DFD3; color: #6E7A85;
}
body.view-product .box-action-icons-item .btn:hover { border-color: #146E96; color: #146E96; }

/* Onglets Description / Mode d'emploi / Téléchargement */
body.view-product joomla-tab { display: block; margin-top: 2.6rem; }
body.view-product joomla-tab button[role="tab"],
body.view-product .nav-tabs .nav-link {
  background: transparent; border: 0; border-bottom: 2px solid transparent;
  color: #6E7A85; font-weight: 600; font-size: .84rem;
  text-transform: uppercase; letter-spacing: .1em; padding: .7rem 1.1rem;
}
body.view-product joomla-tab button[aria-selected="true"],
body.view-product .nav-tabs .nav-link.active {
  color: #146E96; border-bottom-color: #17A9C9; background: transparent;
}
body.view-product joomla-tab-element {
  background: #FFFFFF; border: 1px solid #E7DFD3;
  border-radius: 3px; padding: 1.8rem 2rem; margin-top: -1px;
}
/* NE PAS forcer l'affichage : EShop pilote les onglets par l'attribut [active] */
body.view-product joomla-tab-element:not([active]) { display: none !important; }
body.view-product joomla-tab-element p { max-width: 68ch; line-height: 1.72; margin: 0 0 1.1rem; }
body.view-product joomla-tab-element h2 {
  color: #14283C; font-size: 1.2rem; margin: 2rem 0 .7rem;
}
body.view-product joomla-tab-element h2::before {
  content: ""; display: block; width: 26px; height: 2px; background: #17A9C9; margin-bottom: .7rem;
}
body.view-product joomla-tab-element h3 { color: #146E96; font-size: 1.05rem; }
/* les <br> en rafale issus des copier/coller */
body.view-product joomla-tab-element p > br:first-child:last-child,
body.view-product joomla-tab-element p:empty { display: none; }

/* Fiche produit — corrections de détail */
body.view-product h1.eshop-title { text-transform: none; }
body.view-product .product-price h2 {
  font-size: 1.7rem; margin: 0; color: #14283C; font-weight: 700;
}
body.view-product .product-price h2::before { content: none; }
body.view-product .product-price .price { color: #14283C; }
body.view-product .product-price br { display: none; }

/* « Quantité » est un libellé, pas un bouton */
body.view-product .box-quantity label.btn {
  background: transparent; border: 0; color: #6E7A85; padding: 0 .8rem 0 0;
  text-transform: uppercase; letter-spacing: .12em; font-size: .74rem; font-weight: 600;
}
/* les boutons − / + restent discrets face à « Ajouter au panier » */
body.view-product .eshop-quantity-button {
  background: #FFFFFF; border: 1px solid #E7DFD3; color: #14283C;
  padding: .5rem .8rem; font-weight: 600; text-transform: none; letter-spacing: 0;
}
body.view-product .eshop-quantity-button:hover { border-color: #146E96; color: #146E96; background: #FFFFFF; }
body.view-product .eshop-quantity-value, body.view-product .input-small {
  background: #FFFFFF; border: 1px solid #E7DFD3; color: #14283C; text-align: center;
}
body.view-product .product-cart .btn.btn-primary { background: #146E96; color: #FFFFFF; }
body.view-product .product-cart .btn.btn-primary:hover { background: #17A9C9; }

body.view-product .product-cart .btn.eshop-quantity-button {
  background: #FFFFFF; border: 1px solid #E7DFD3; color: #14283C;
  padding: .5rem .8rem; font-weight: 600;
}
body.view-product .product-cart .btn.eshop-quantity-button:hover {
  border-color: #146E96; color: #146E96; background: #FFFFFF;
}
body.view-product .product-cart .box-quantity label.btn.btn-secondary {
  background: transparent; border: 0; color: #6E7A85;
}


/* ==========================================================
   GRILLE BOUTIQUE (catégories EShop)
   ========================================================== */

/* Barre grille/liste + « Montrer : N » : retirées.
   ATTENTION : possible uniquement parce que products_per_page = 100
   sur chaque catégorie. Si le catalogue dépasse 100 produits,
   remonter cette valeur AVANT de compter sur ces règles,
   sinon la pagination masquée cacherait des produits. */
body.com_eshop .products-list-container .sortPagiBar { display: none; }
body.com_eshop .pagination { display: none; }

/* Cadre d'image : il épouse l'image au lieu de flotter en blanc */
body.com_eshop .eshop-image-block .image.img-thumbnail {
  background: #111A28; border: 1px solid #1F2E42; border-radius: 3px;
  padding: 0; overflow: hidden; line-height: 0;
}
body.com_eshop .eshop-image-block .image.img-thumbnail:hover { border-color: #25A8FF; }
body.com_eshop .eshop-image-block .product-image,
body.com_eshop .eshop-image-block a { display: block; line-height: 0; }
body.com_eshop .eshop-image-block img {
  display: block; width: 100%; height: auto; margin: 0;
}

/* Sur la fiche produit (Papier), le cadre reste clair mais épouse aussi l'image */
body.view-product .image.img-thumbnail { padding: 0; line-height: 0; overflow: hidden; }
body.view-product .image.img-thumbnail img { display: block; width: 100%; height: auto; }


/* Grille boutique — boutons compacts en menthe, et de l'air entre les lignes */
body.com_eshop .products-list-container .row.clearfix { margin-bottom: 3rem; }
body.com_eshop .products-list-container .row.clearfix:last-child { margin-bottom: 1rem; }
body.com_eshop .ajax-block-product { display: flex; flex-direction: column; }
body.com_eshop .ajax-block-product .eshop-info-block { padding: 1rem .2rem .2rem; }
body.com_eshop .ajax-block-product .eshop-product-desc { margin: .35rem 0 .55rem; line-height: 1.45; }
body.com_eshop .ajax-block-product .eshop-product-price { margin-bottom: .9rem; }
body.com_eshop .ajax-block-product .eshop-buttons {
  display: flex; align-items: center; justify-content: center;
  gap: .5rem; margin-top: auto;
}

/* Bouton principal : plus petit, fond menthe */
body.com_eshop .eshop-buttons .eshop-cart-area .btn,
body.com_eshop .eshop-buttons .btn.btn-primary {
  background: #5CF2E4; color: #080C14; border: 0;
  font-size: .72rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: .42rem .85rem; border-radius: 2px;
  line-height: 1.3; white-space: nowrap;
}
body.com_eshop .eshop-buttons .eshop-cart-area .btn:hover,
body.com_eshop .eshop-buttons .btn.btn-primary:hover { background: #8DF6EC; color: #080C14; }

/* Icônes secondaires (favoris, comparer) : plus discrètes et à la même hauteur */
body.com_eshop .box-action-icons-list .btn {
  background: transparent; border: 1px solid #1F2E42; color: #8FA3BC;
  padding: .35rem .5rem; border-radius: 2px;
}
body.com_eshop .box-action-icons-list .btn:hover { border-color: #5CF2E4; color: #5CF2E4; }
body.com_eshop .box-action-icons-list svg { width: 16px; height: 16px; }


/* Sélecteur de langue : le menu déroulant est clair, le texte doit l'être aussi */
.t4-header .mod-languages .dropdown-menu,
.t4-header [class*="languages"] .dropdown-menu {
  background: #FFFFFF; border: 1px solid #E7DFD3; border-radius: 3px; padding: .25rem 0;
}
.t4-header .mod-languages .dropdown-menu a,
.t4-header [class*="languages"] .dropdown-menu a,
.t4-header [class*="languages"] .dropdown-item {
  color: #14283C !important; padding: .4rem .9rem; font-weight: 600; font-size: .86rem;
}
.t4-header [class*="languages"] .dropdown-item:hover,
.t4-header [class*="languages"] .dropdown-menu a:hover {
  background: #F1EBE2; color: #146E96 !important;
}

/* ==========================================================
   PANIER ET COMMANDE — palette Papier (suite de la fiche produit)
   ========================================================== */
body.view-cart, body.view-checkout { background: #FAF7F2; color: #14283C; }
body.view-cart .t4-main-body, body.view-checkout .t4-main-body,
body.view-cart .t4-main-body .t4-section-inner,
body.view-checkout .t4-main-body .t4-section-inner { background: #FAF7F2; }
body.view-cart .t4-main-body h1, body.view-checkout .t4-main-body h1,
body.view-cart .t4-main-body h2, body.view-checkout .t4-main-body h2 { color: #146E96; }
body.view-cart .t4-main-body a, body.view-checkout .t4-main-body a { color: #146E96; }

/* Tableau du panier */
body.view-cart .t4-main-body table, body.view-checkout .t4-main-body table {
  background: #FFFFFF; border: 1px solid #E7DFD3; border-collapse: collapse; width: 100%;
}
body.view-cart .t4-main-body thead th, body.view-checkout .t4-main-body thead th {
  background: #F1EBE2; color: #14283C; font-size: .76rem; text-transform: uppercase;
  letter-spacing: .1em; font-weight: 600; padding: .8rem .9rem; border-bottom: 1px solid #E7DFD3;
}
body.view-cart .t4-main-body td, body.view-checkout .t4-main-body td {
  color: #14283C; padding: .85rem .9rem; border-bottom: 1px solid #F0EAE1; vertical-align: middle;
}
body.view-cart .t4-main-body tfoot td { font-weight: 700; }
body.view-cart .t4-main-body input[type="text"],
body.view-cart .t4-main-body input[type="number"],
body.view-checkout .t4-main-body input, body.view-checkout .t4-main-body select {
  background: #FFFFFF; border: 1px solid #E7DFD3; color: #14283C;
  border-radius: 2px; padding: .45rem .6rem;
}
body.view-cart .t4-main-body .btn, body.view-checkout .t4-main-body .btn {
  background: #146E96; color: #FFFFFF; border: 0; border-radius: 2px;
  text-transform: uppercase; letter-spacing: .09em; font-weight: 700;
  font-size: .76rem; padding: .55rem 1rem;
}
body.view-cart .t4-main-body .btn:hover, body.view-checkout .t4-main-body .btn:hover { background: #17A9C9; }
body.view-cart .t4-main-body .btn-secondary,
body.view-cart .t4-main-body .eshop-quantity-button {
  background: #FFFFFF; border: 1px solid #E7DFD3; color: #14283C;
}

/* l'en-tête de tableau reprend la couleur primaire du thème : on la neutralise sur fond Papier */
body.view-cart .t4-main-body table thead th,
body.view-checkout .t4-main-body table thead th {
  background-color: #F1EBE2 !important; color: #14283C !important;
  border-color: #E7DFD3 !important;
}
body.view-cart .t4-main-body .table-striped > tbody > tr:nth-of-type(odd) > *,
body.view-checkout .t4-main-body .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: #FCFAF7 !important; color: #14283C !important;
}
body.view-cart .t4-main-body .table > :not(caption) > * > * {
  background-color: transparent; color: #14283C; border-color: #F0EAE1;
}
body.view-cart .t4-main-body .box-quantity,
body.view-cart .t4-main-body .eshop-quantity { display: flex; align-items: center; gap: .3rem; }


/* ================================================================
   Titres dans les descriptions produit EShop (palette Papier)
   Les H2/H3/H4 saisis dans les onglets du produit heritaient de la
   couleur de texte courante : on leur rend la meme hierarchie que
   dans les articles.
   ================================================================ */
body.com_eshop.view-product joomla-tab-element h2,
body.com_eshop.view-product joomla-tab-element h3,
body.com_eshop.view-product joomla-tab-element h4,
body.com_eshop.view-product .product-info h2,
body.com_eshop.view-product .product-info h3,
body.com_eshop.view-product .product-info h4 {
  color: #146E96;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 2rem;
  margin-bottom: .6rem;
}
body.com_eshop.view-product joomla-tab-element h2,
body.com_eshop.view-product .product-info h2 { font-size: 1.5rem; letter-spacing: -.01em; }
body.com_eshop.view-product joomla-tab-element h3,
body.com_eshop.view-product .product-info h3 { font-size: 1.22rem; }
body.com_eshop.view-product joomla-tab-element h4,
body.com_eshop.view-product .product-info h4 { font-size: 1.06rem; color: #17A9C9; }
body.com_eshop.view-product joomla-tab-element h2:first-child,
body.com_eshop.view-product joomla-tab-element h3:first-child { margin-top: 0; }

/* H4 des articles : meme traitement que dans les fiches produit */
.theme-architect .com-content-article__body h4,
.theme-architect .item-page h4 { color: #17A9C9; }

/* ================================================================
   Colonne de droite : titre de module (bandeau bleu)
   Texte en blanc pour la lisibilite.
   ================================================================ */
.theme-architect .module-title,
.theme-architect .module-title span,
.theme-architect h3.module-title,
.theme-architect h3.module-title span {
  color: #FFFFFF !important;
  letter-spacing: .1em;
  font-weight: 700;
}


/* ================================================================
   COLONNE DE DROITE DES ARTICLES : liens produits + mode d'emploi
   Aliment&eacute; par les champs personnalis&eacute;s "Mode d'emploi" et
   "Produits li&eacute;s" de l'article. Le rendu brut de Joomla est
   reconstruit et deplace dans la colonne par le script du style.
   ================================================================ */
.ka-rail { background: #FFFFFF; border: 1px solid #E7DFD3; border-radius: 3px;
  padding: 1.1rem 1.15rem 1.25rem; margin-bottom: 1.5rem; }
.ka-rail-titre { margin: 0 0 .8rem; font-size: .68rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: #7C8C99; }
.ka-rail-btn { display: block; padding: .6rem .75rem; margin-bottom: .5rem; border-radius: 2px;
  background: #146E96; color: #FFFFFF !important; text-decoration: none;
  font-weight: 700; font-size: .95rem; line-height: 1.2; transition: background .2s ease; }
.ka-rail-btn:hover { background: #17A9C9; text-decoration: none; }
.ka-rail-btn span { display: block; font-weight: 400; font-size: .72rem; letter-spacing: .06em;
  text-transform: uppercase; opacity: .85; margin-top: .18rem; }
.ka-rail-lien { display: inline-block; margin-top: .4rem; font-size: .88rem; font-weight: 600;
  color: #146E96; text-decoration: none; border-bottom: 1px solid #C9DCE6; padding-bottom: 1px; }
.ka-rail-lien:hover { color: #17A9C9; border-bottom-color: #17A9C9; }
.ka-rail-lien::before { content: "\2193"; margin-right: .4rem; }
/* le rendu brut n'est masqu&eacute; que si le script a bien fait son travail */
body.ka-rail-ok .com-content-article .fields-container,
body.ka-rail-ok .item-page .fields-container { display: none; }


/* Les champs "Mode d'emploi" et "Produits li&eacute;s" ne concernent que la page
   de l'article : on les masque dans les listes (accueil, Actualit&eacute;s, News). */
.blog-items .fields-container,
.com-content-category-blog__items .fields-container,
.com-content-category-blog .items-row .fields-container,
.blog-featured .fields-container { display: none !important; }


/* ================================================================
   DIAPORAMA D'ACCUEIL (module FavSlider Pro en position slideshow)
   Le contenu (images, titres, textes, boutons) se modifie dans le
   module lui-meme. Ici on ne fait que la mise en page et les
   couleurs, pour que le bandeau ne ressemble pas aux cartes
   d'articles : image a gauche, texte a droite, fond plus sombre.
   ================================================================ */
.t4-section.t4-slideshow { background: #0B1421; border-bottom: 1px solid #1B2A3D; }
.t4-slideshow .favth-row.favsliderpro { max-width: 1320px; margin: 0 auto; padding: 0 12px; }
.t4-slideshow .favsliderpro-carousel { position: relative; }

.t4-slideshow .favsliderpro.favsliderpro-image {
  display: flex; align-items: center; gap: 2.5rem; padding: 2.4rem 0 2.6rem; }
.t4-slideshow .favsliderpro-images { flex: 0 0 300px; max-width: 300px; margin: 0; }
.t4-slideshow .favsliderpro-images img {
  width: 100%; height: 300px; object-fit: cover; border-radius: 3px; display: block; }
.t4-slideshow .favsliderpro-caption,
.t4-slideshow .favth-carousel-caption {
  flex: 1 1 auto; width: auto !important; max-width: none !important;
  position: static !important; padding: 0 !important; text-align: left !important;
  background: none !important; text-shadow: none !important; }
.t4-slideshow .favsliderpro-caption-title,
.t4-slideshow h3.favsliderpro-caption-title {
  color: #25A8FF !important; font-size: 2rem; font-weight: 700; line-height: 1.12;
  letter-spacing: -.015em; margin: 0 0 .7rem; }
.t4-slideshow .favsliderpro-caption-description,
.t4-slideshow p.favsliderpro-caption-description {
  color: #93A7BF !important; font-size: 1rem; line-height: 1.55; max-width: 58ch; margin: 0 0 1.3rem; }
.t4-slideshow .favsliderpro-caption-readmore .btn,
.t4-slideshow .favsliderpro-caption-readmore a {
  display: inline-block; background: #5CF2E4; color: #080C14 !important; border: 0; border-radius: 2px;
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: .6rem 1.15rem; text-decoration: none; transition: background .2s ease; }
.t4-slideshow .favsliderpro-caption-readmore .btn:hover,
.t4-slideshow .favsliderpro-caption-readmore a:hover { background: #25A8FF; color: #080C14 !important; }

/* fleches et pastilles */
.t4-slideshow .favth-carousel-control,
.t4-slideshow [class*="favth-carousel-control"] {
  background: rgba(8,12,20,.75) !important; border: 1px solid #26384F; border-radius: 50%;
  width: 40px; height: 40px; color: #5CF2E4 !important; opacity: 1 !important;
  text-shadow: none !important; }
.t4-slideshow .favth-carousel-control:hover { background: #5CF2E4 !important; color: #080C14 !important; }
.t4-slideshow .favth-carousel-indicators li { background: #22324A; border-color: #22324A; }
.t4-slideshow .favth-carousel-indicators li.favth-active,
.t4-slideshow .favth-carousel-indicators .favth-active { background: #25A8FF; border-color: #25A8FF; }

@media (max-width: 880px) {
  .t4-slideshow .favsliderpro.favsliderpro-image { flex-direction: column; align-items: flex-start; gap: 1.2rem; padding: 1.6rem 0 2rem; }
  .t4-slideshow .favsliderpro-images { flex: 0 0 auto; max-width: 190px; }
  .t4-slideshow .favsliderpro-images img { height: 190px; }
  .t4-slideshow .favsliderpro-caption-title { font-size: 1.45rem; }
}


/* Boutons de liens dans la description d'un volet du diaporama.
   Dans le module, il suffit d'ecrire a la fin de la description :
   <span class="kaona-liens"><a href="...">Nom</a><span>Nom a venir</span></span>
   Un <a> donne un bouton plein, un <span> une pastille pour un module
   pas encore en vente. */
.t4-slideshow .kaona-liens { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.15rem; }
.t4-slideshow .kaona-liens a,
.t4-slideshow .kaona-liens span {
  display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: .5rem .9rem; border-radius: 2px;
  text-decoration: none; line-height: 1; }
.t4-slideshow .kaona-liens a { background: #5CF2E4; color: #080C14 !important; transition: background .2s ease; }
.t4-slideshow .kaona-liens a:hover { background: #25A8FF; color: #080C14 !important; text-decoration: none; }
.t4-slideshow .kaona-liens span { background: transparent; color: #5CF2E4; border: 1px solid #2B4160; }


/* ================================================================
   LARGEUR DE LECTURE  (pages Papier : articles, fiches produit, panier)
   Deux reglages, et deux seulement :
   1. LE CADRE  -> .theme-architect ... .container  (max-width ci-dessous)
      C'est la largeur totale du contenu. Le reste du site (entete,
      pied de page, accueil, grille boutique) garde ses 1320px.
   2. LA MESURE -> les valeurs en "ch" ci-dessous. 1ch = la largeur du
      chiffre zero. Le confort de lecture se situe entre 65 et 80 signes ;
      au-dela la ligne devient penible a suivre.
   Ces regles remplacent les 68ch et 48ch definis plus haut.
   ================================================================ */

/* 1. le cadre */
.theme-architect .t4-section.t4-main-body .t4-section-inner.container { max-width: 1060px; }

/* Exception : les pages de LISTE d'articles (Actualites, News) gardent
   toute la largeur. Joomla met "view-category" sur le body des listes et
   "view-article" sur celui d'un article seul : c'est ce qui les separe. */
body.com_content.view-category .t4-section.t4-main-body .t4-section-inner.container { max-width: 1320px; }

/* 2. la mesure */
.theme-architect .com-content-article__body,
.theme-architect .item-page > div:not(.page-header):not(.article-aside),
.theme-architect .com-content-article__body p { max-width: 72ch; }
.theme-architect .chapo,
.theme-architect p.chapo { max-width: 54ch; }
body.view-product joomla-tab-element p,
body.view-product joomla-tab-element li { max-width: 78ch; }

/* la boite des onglets se resserre autour de la colonne de texte,
   au lieu de laisser le blanc a l'interieur du cadre */
/* la fiche produit (photo + options en haut, onglets en bas) tient dans
   le meme cadre que les articles, pour que les deux zones soient alignees */
body.view-product .t4-section.t4-main-body .t4-section-inner.container { max-width: 1060px; }
body.view-product joomla-tab { display: block; max-width: none; }
@media (max-width: 991.98px) {
  body.view-product joomla-tab { max-width: none; }
}
