/**
 * Refactor — PrestaBlog category page (menu cat + intro + article grid)
 * Scope: only the elements inside #module-prestablog-blog's center column
 * (the part framed in red: category tabs, intro text, "N articles" heading,
 * article grid). Drop this AFTER the theme's prestablog.css so it can
 * override it — nothing here touches the left category-tree sidebar.
 *
 * Design tokens
 * ---------------------------------------------------------------
 * Ink      #16202B   headings, active tab text
 * Paper    #F6F7F9   section background
 * Card     #FFFFFF   card surface
 * Accent   #FF5A36   primary accent (echoes the theme's existing #ff5600)
 * Teal     #2FB5D2   secondary accent (echoes the theme's existing TOC teal)
 * Text     #2B333B   body copy
 * Muted    #6B7280   meta text
 * Line     #E5E8EC   hairlines
 *
 * Type: "Sora" for headings/titles, "Arimo" for body & meta.
 * Layout: pill tab-bar (horizontal scroll on small screens) + a real
 * CSS grid for the article list, replacing the JS-positioned masonry.
 * ---------------------------------------------------------------
 */

 @import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700&family=Inter:wght@400;500;600&display=swap');

 #module-prestablog-blog {
     --pb-ink: #16202B;
     --pb-paper: #F6F7F9;
     --pb-card: #FFFFFF;
     --pb-accent: #FF5A36;
     --pb-teal: #2FB5D2;
     --pb-text: #2B333B;
     --pb-muted: #6B7280;
     --pb-line: #E5E8EC;
     --pb-radius: 14px;
 }
 
 #module-prestablog-blog #center-column {
     background: var(--pb-paper);
     padding: 24px 24px 40px;
     border-radius: var(--pb-radius);
 }
 
 /* ---------- Category tab bar ---------- */
 .prestablog-menu {
	display: flex;
	align-items: center;
	gap: 16px;
    margin-bottom: 25px;
}

/* -------------------------
   HOME
------------------------- */

.prestablog-menu__home {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	text-decoration: none;
}


/* -------------------------
   CATEGORIES
------------------------- */

.prestablog-menu__categories {
	position: relative;
}

.prestablog-menu__toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 0;

	cursor: pointer;
	list-style: none;
}

.prestablog-menu__toggle::-webkit-details-marker {
	display: none;
}

.prestablog-menu__toggle .material-icons {
	font-size: 20px;
	transition: transform .2s ease;
}

.prestablog-menu__categories[open]
.prestablog-menu__toggle .material-icons {
	transform: rotate(180deg);
}


/* Dropdown catégories */

.prestablog-menu__list {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;

	z-index: 100;

	width: 360px;
	max-width: calc(100vw - 32px);
	max-height: 70vh;

	margin: 0;
	padding: 8px 0;

	overflow-y: auto;

	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;

	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);

	list-style: none;
}

.prestablog-menu__list ul > li a[href$='/blog'] {
    display: none;
}

.prestablog-menu__list a {
	display: block;

	padding: 10px 16px;

	color: inherit;
	text-decoration: none;
	line-height: 1.35;
}

.prestablog-menu__list a:hover {
	background: #f5f5f5;
}


/* -------------------------
   SEARCH
------------------------- */

.prestablog-menu__search {
	position: relative;
	margin-left: auto;
}


/* Icône */

.prestablog-menu__search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	padding: 0;

	border: 0;
	background: transparent;

	cursor: pointer;
	list-style: none;
}

.prestablog-menu__search-toggle::-webkit-details-marker {
	display: none;
}

.prestablog-menu__search-toggle .material-icons {
	font-size: 22px;
}


/* Search panel */

.prestablog-menu__search-form {
	display: flex;
	align-items: stretch;
	width: clamp(280px, 30vw, 400px);
	padding: 6px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
}


/* Input */

.prestablog-menu__search-input {
	flex: 1;
	min-width: 0;
	height: 42px;
	padding: 0 12px;
	border: 0;
	outline: none;
	background: transparent;
    box-shadow: none;
	font: inherit;
}


/* Bouton */

.prestablog-menu__search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
    background: var(--pb-ink);
    color: white;
}


/* -------------------------
   MOBILE
------------------------- */

@media (max-width: 767px) {

	.prestablog-menu {
		gap: 12px;
	}

	.prestablog-menu__list {
		position: fixed;

		top: auto;
		left: 16px;
		right: 16px;

		width: auto;
		max-width: none;
	}
}
 
 /* ---------- Intro / category description ---------- */
 .cat_desc_blog {
     background: var(--pb-card);
     border: 1px solid var(--pb-line);
     border-left: 4px solid var(--pb-accent);
     border-radius: 0 var(--pb-radius) var(--pb-radius) 0;
     padding: 20px 24px;
     margin-bottom: 8px;
     color: var(--pb-muted);
     font: 400 15px/1.6 "Arimo", sans-serif;
 }

 .cat_desc_blog:empty {
    display: none;
 }
 
 /* ---------- "N articles" heading ---------- */
 h1.prestablogcat {
     font: 700 22px/1.3 "Sora", sans-serif;
     color: var(--pb-ink);
     margin: 28px 0 20px;
 }
 #module-prestablog-blog h1.prestablogcat span { color: var(--pb-ink); font-size: 22px; }
 
 /* ---------- Article grid ---------- */
 /* The theme positions .blog-grid items with inline absolute coordinates
    from its masonry script. Force them back into a normal CSS grid. */
 :is(#blog_list_1-7, .blog_list_1-7) {
     display: grid !important;
     grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
     gap: 24px;
     height: auto !important;
 }
 
 :is(#blog_list_1-7, .blog_list_1-7) li.blog-grid {
     position: static !important;
     top: auto !important;
     left: auto !important;
     width: 100% !important;
     float: none;
     padding: 0;
 }
 
 :is(#blog_list_1-7, .blog_list_1-7) .block_cont {
     background: var(--pb-card);
     border: 1px solid var(--pb-line);
     border-radius: var(--pb-radius);
     overflow: hidden;
     height: 100%;
     display: flex;
     flex-direction: column;
     transition: box-shadow .2s ease, transform .2s ease;
 }
 :is(#blog_list_1-7, .blog_list_1-7) li:hover .block_cont {
     box-shadow: 0 10px 24px rgba(22, 32, 43, 0.10);
     transform: translateY(-3px);
 }
 
 :is(#blog_list_1-7, .blog_list_1-7) .block_top {
     padding: 0;
     aspect-ratio: 1 / 1;
     height: 300px;
 }
 :is(#blog_list_1-7, .blog_list_1-7) .block_top img {height: 100%;object-fit: cover;width: 100%;object-position: top;}
 
 :is(#blog_list_1-7, .blog_list_1-7) .block_bas {
     padding: 18px 20px 4px;
     flex: 1;
 }
 
 :is(#blog_list_1-7, .blog_list_1-7) h2 {
     border-bottom: none;
     padding-bottom: 0;
     margin-bottom: 8px;
 }
 :is(#blog_list_1-7, .blog_list_1-7) h2 a {
     font: 600 17px/1.35 "Sora", sans-serif;
     color: var(--pb-ink);
 }
 :is(#blog_list_1-7, .blog_list_1-7) h2 a:hover { color: var(--pb-accent); }
 
 .date_blog-cat {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 6px;
     margin-top: 6px;
     font: 500 12px/1.4 "Arimo", sans-serif;
 }
 .date_blog-cat, .date_blog-cat a { color: var(--pb-muted); }
 
 /* The theme has a more specific rule (ul#blog_list_1-7 li .date_blog-cat a)
    forcing #3C3C3C on these links — match that specificity to actually win. */
 :is(#blog_list_1-7, .blog_list_1-7) li .date_blog-cat a.categorie_blog,
 .categorie_blog {
     display: inline-flex;
     align-items: center;
     color: white;
     background: var(--pb-ink);
     padding: 3px 10px;
     border-radius: 4px;
     font: 600 11px/1.5 "Arimo", sans-serif;
     max-width: 100%;
     white-space: normal;
 }
 :is(#blog_list_1-7, .blog_list_1-7) li .date_blog-cat a.categorie_blog:hover,
 .categorie_blog:hover {
     text-decoration: none;
     background: rgba(47, 181, 210, 0.2);
 }
 
 :is(#blog_list_1-7, .blog_list_1-7) .star_content { margin: 8px 0 0; }
 :is(#blog_list_1-7, .blog_list_1-7) .star_content .material-icons { font-size: 13px; }
 
 .prestablog_desc {
     color: var(--pb-muted);
     font: 400 14px/1.6 "Arimo", sans-serif;
     margin: 10px 0 0;
 }
 
 :is(#blog_list_1-7, .blog_list_1-7) .prestablog_more {
     border-top: 1px solid var(--pb-line);
     background: transparent;
     min-height: 0;
     margin-top: 14px;
     padding: 15px 0;
 }
 :is(#blog_list_1-7, .blog_list_1-7) .prestablog_more a,
 :is(#blog_list_1-7, .blog_list_1-7) .prestablog_more span {
     height: auto;
     padding: 14px 20px;
     font: 600 13px/1 "Arimo", sans-serif;
     color: var(--pb-ink);
 }
 :is(#blog_list_1-7, .blog_list_1-7) .prestablog_more .blog_link i.material-icons,
 :is(#blog_list_1-7, .blog_list_1-7) .prestablog_more .comments i.material-icons {
     font-size: 17px;
     color: var(--pb-accent);
 }
 :is(#blog_list_1-7, .blog_list_1-7) a.blog_link:hover,
 :is(#blog_list_1-7, .blog_list_1-7) .comments:hover {
     background: var(--pb-paper);
     color: var(--pb-accent);
 }
 
 @media (max-width: 600px) {
     #module-prestablog-blog #center-column { padding: 16px 16px 28px; }
     :is(#blog_list_1-7, .blog_list_1-7) { grid-template-columns: 1fr; }
 }
 
 /* =================================================================
  * Left sidebar — category tree, blog search, last articles
  * Same token set as above, redeclared here since the sidebar sits
  * outside #module-prestablog-blog's wrapper.
  * ================================================================= */
 .left-column {
     --pb-ink: #16202B;
     --pb-paper: #F6F7F9;
     --pb-card: #FFFFFF;
     --pb-accent: #FF5A36;
     --pb-teal: #2FB5D2;
     --pb-text: #2B333B;
     --pb-muted: #6B7280;
     --pb-line: #E5E8EC;
     --pb-radius: 14px;
     font-family: "Arimo", sans-serif;
 }
 
 /* Shared "card" shell for every sidebar block */
 .left-column .ps-categorytree.category-tree.left-block, .left-column .block-categories.prestablog, .left-column  .block-categories {
     background: var(--pb-card);
     border: 1px solid var(--pb-line);
     border-radius: var(--pb-radius);
     padding: 18px 18px 14px;
     margin-bottom: 20px;
 }
 
 /* -- "Accueil" / block titles -- */
 .left-column .left-block__title,
 .left-column .title_block {
     font: 700 15px/1.3 "Sora", sans-serif;
     color: var(--pb-ink);
     margin: 0 0 14px;
     padding-bottom: 12px;
     border-bottom: 1px solid var(--pb-line);
 }
 .left-column .left-block__title-link { color: var(--pb-ink); }
 .left-column .left-block__title-link:hover { color: var(--pb-accent); text-decoration: none; }
 
 /* -- Category tree -- */
 .left-column .category-tree__list {
     list-style: none;
     margin: 0;
     padding: 0;
 }
 .left-column .category-tree__list[data-depth="1"],
 .left-column .category-tree__list[data-depth="2"] {
     padding-left: 14px;
     margin-top: 2px;
     margin-bottom: 4px;
     border-left: 2px solid var(--pb-line);
 }
 .left-column .category-tree__item { position: relative; }
 .left-column .category-tree__item-header { padding: 0; }
 
 .left-column .category-tree__item-link {
     display: block;
     padding: 8px 4px;
     font: 500 14px/1.4 "Arimo", sans-serif;
     color: var(--pb-text);
     border-radius: 8px;
     transition: background .15s ease, color .15s ease, padding-left .15s ease;
 }
 .left-column .category-tree__list[data-depth="0"] > .category-tree__item > .category-tree__item-header > .category-tree__item-link {
     font-weight: 600;
 }
 .left-column .category-tree__item-link:hover {
     color: var(--pb-accent);
     background: var(--pb-paper);
     padding-left: 8px;
     text-decoration: none;
 }
 
 /* Expand/collapse chevrons instead of the default plain button */
 .left-column .accordion-button {
     width: 26px;
     height: 26px;
     padding: 0;
     border-radius: 999px;
     box-shadow: none;
     position: absolute;
     right: 2px;
     top: 8px;
     justify-content: center;
 }
 .left-column .accordion-button::after {
     margin: 0;
     width: 12px;
     height: 12px;
     background-size: 12px;
     transition: transform .2s ease;
 }
 .left-column .accordion-button:not(.collapsed) {/* background: var(--pb-teal); */}
 .left-column .accordion-button:not(.collapsed)::after {/* filter: brightness(0) invert(1); */height: 1px;}
 .left-column .accordion-button:focus {/* box-shadow: 0 0 0 3px rgba(47,181,210,.25); */}
 
 /* -- Blog search block -- */
 #prestablog_recherche #prestablog_bloc_search { position: relative; }
 #prestablog_recherche #prestablog_search {
     width: 100%;
     height: 42px;
     background: var(--pb-paper);
     border: 1px solid var(--pb-line);
     border-radius: 999px;
     padding: 0 46px 0 16px;
     font: 400 14px/1 "Arimo", sans-serif;
     color: var(--pb-text);
 }
 #prestablog_recherche #prestablog_search:focus {
     outline: none;
     border-color: var(--pb-teal);
     background: var(--pb-card);
 }
 #prestablog_recherche .btn.button-search {
     position: absolute;
     right: 3px;
     top: 3px;
     width: 36px;
     height: calc(100% - 6px);
     padding: 0;
     min-height: auto;
     border-radius: 999px;
     background: var(--pb-ink);
     color:white;
 }
 #prestablog_recherche .btn.button-search::after { font-size: 20px; top: 8px; left: 8px; }
 #prestablog_recherche .btn.button-search:hover { background: var(--pb-accent); }
 
 /* -- Last articles carousel -- */
 #prestablog_lastliste .title_block { margin-bottom: 10px; }
 #prestablog_lastliste .prestabloglastnewswip {padding-top: 0;margin-bottom: 6px;}
 #prestablog_lastliste .swiper-slide {
     border-radius: 10px;
     overflow: hidden;
     background: var(--pb-paper);
 }
 #prestablog_lastliste .prestabloglastnewstitle {
     position: static;
     background: transparent;
     color: var(--pb-text);
     font: 500 13px/1.4 "Arimo", sans-serif;
     padding: 14px;
     text-align: left;
 }
 #prestablog_lastliste .link_block:hover .prestabloglastnewstitle { color: var(--pb-accent); }
 #prestablog_lastliste .swiper-pagination-bullet-active { background-color: var(--pb-accent) !important; }
 #prestablog_lastliste .btn-primary,
 .left-column .prestablog-menu-search + .btn-primary {
     background: var(--pb-ink);
     font: 600 13px/1 "Arimo", sans-serif;
     padding: 12px;
     border: none;
     width: 100%;
 }
 #prestablog_lastliste .btn-primary:hover { background: var(--pb-accent); }
 
 @media (max-width: 768px) {
     .left-column .ps-categorytree.category-tree.left-block,
     .left-column .block-categories.prestablog {
         margin-bottom: 14px;
     }
 }


.prestablog-rating-info {
    font-size: 12px;
    display: none;
}

.prestablog-rating-static:hover .prestablog-rating-info  {
    display: block;
}

/**
 * Swiper 
 */

 .prestablogswip :host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}
.prestablogswip .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    overflow: clip;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
}
.prestablogswip .swiper-vertical > .swiper-wrapper {
    flex-direction: column;
}
.prestablogswip .swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
}
.prestablogswip .swiper-android .swiper-slide,
.prestablogswip .swiper-ios .swiper-slide,
.prestablogswip .swiper-wrapper {
    transform: translate3d(0px, 0, 0);
}
.prestablogswip .swiper-horizontal {
    touch-action: pan-y;
}
.prestablogswip .swiper-vertical {
    touch-action: pan-x;
}
.prestablogswip .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
}
.prestablogswip .swiper-slide-invisible-blank {
    visibility: hidden;
}
.prestablogswip .swiper-autoheight,
.prestablogswip .swiper-autoheight .swiper-slide {
    height: auto;
}
.prestablogswip .swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
}
.prestablogswip .swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.prestablogswip .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
}
.prestablogswip .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
}
.prestablogswip .swiper-3d {
    perspective: 1200px;
}
.prestablogswip .swiper-3d .swiper-cube-shadow,
.prestablogswip .swiper-3d .swiper-slide {
    transform-style: preserve-3d;
}
.prestablogswip .swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.prestablogswip .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
}
.prestablogswip .swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
}
.prestablogswip .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
}
.prestablogswip .swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
}
.prestablogswip .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
}
.prestablogswip .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
}
.prestablogswip .swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999;
}
.prestablogswip .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
}
.prestablogswip .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
}
.prestablogswip .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
}
.prestablogswip .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
}
.prestablogswip .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
}
.prestablogswip .swiper-3d .swiper-slide-shadow,
.prestablogswip .swiper-3d .swiper-slide-shadow-bottom,
.prestablogswip .swiper-3d .swiper-slide-shadow-left,
.prestablogswip .swiper-3d .swiper-slide-shadow-right,
.prestablogswip .swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}
.prestablogswip .swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
}
.prestablogswip .swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.prestablogswip .swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.prestablogswip .swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.prestablogswip .swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.prestablogswip .swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
}
.prestablogswip .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.prestablogswip .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: prestablog-swiper-preloader-spin 1s infinite linear;
}
.prestablogswip .swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
}
.prestablogswip .swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
}

@keyframes prestablog-swiper-preloader-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.prestablogswip .swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}
.prestablogswip .swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
}
.prestablogswip .swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size);
}
.prestablogswip .swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size);
}
.prestablogswip .swiper-button-next,
.prestablogswip .swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.prestablogswip .swiper-button-next.swiper-button-disabled,
.prestablogswip .swiper-button-prev.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}
.prestablogswip .swiper-button-next.swiper-button-hidden,
.prestablogswip .swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
}
.prestablogswip .swiper-navigation-disabled .swiper-button-next,
.prestablogswip .swiper-navigation-disabled .swiper-button-prev {
    display: none !important;
}
.prestablogswip .swiper-button-next svg,
.prestablogswip .swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
}
.prestablogswip .swiper-rtl .swiper-button-next svg,
.prestablogswip .swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg);
}
.prestablogswip .swiper-button-prev,
.prestablogswip .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
}
.prestablogswip .swiper-button-next,
.prestablogswip .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
}
.prestablogswip .swiper-button-lock {
    display: none;
}
.prestablogswip .swiper-button-next,
.prestablogswip .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
}
.prestablogswip .swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 0.3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
}
.prestablogswip .swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
}
.prestablogswip .swiper-pagination-disabled > .swiper-pagination,
.prestablogswip .swiper-pagination.swiper-pagination-disabled {
    display: none !important;
}
.prestablogswip .swiper-horizontal > .swiper-pagination-bullets,
.prestablogswip .swiper-pagination-bullets.swiper-pagination-horizontal,
.prestablogswip .swiper-pagination-custom,
.prestablogswip .swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%;
}
.prestablogswip .swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0;
}
.prestablogswip .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
}
.prestablogswip .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1);
}
.prestablogswip .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1);
}
.prestablogswip .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
}
.prestablogswip .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
}
.prestablogswip .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
}
.prestablogswip .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
}
.prestablogswip .swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
.prestablogswip button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}
.prestablogswip .swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
}
.prestablogswip .swiper-pagination-bullet:only-child {
    display: none !important;
}
.prestablogswip .swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.prestablogswip .swiper-pagination-vertical.swiper-pagination-bullets,
.prestablogswip .swiper-vertical > .swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0px, -50%, 0);
}
.prestablogswip .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.prestablogswip .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
}
.prestablogswip .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.prestablogswip .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    /* top: 50%; */
    /* transform: translateY(-50%); */
    width: 8px;
}
.prestablogswip .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.prestablogswip .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: 0.2s transform, 0.2s top;
}
.prestablogswip .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.prestablogswip .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.prestablogswip .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.prestablogswip .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    /* left: 50%; */
    /* transform: translateX(-50%); */
    white-space: nowrap;
    margin: 18px auto;
}
.prestablogswip .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.prestablogswip .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 0.2s transform, 0.2s left;
}
.prestablogswip .swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 0.2s transform, 0.2s right;
}
.prestablogswip .swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit);
}
.prestablogswip .swiper-pagination-lock {
    display: none;
}
.prestablogswip .swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}
.prestablogswip .swiper-scrollbar-disabled > .swiper-scrollbar,
.prestablogswip .swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important;
}
.prestablogswip .swiper-horizontal > .swiper-scrollbar,
.prestablogswip .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.prestablogswip .swiper-scrollbar.swiper-scrollbar-vertical,
.prestablogswip .swiper-vertical > .swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.prestablogswip .swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0;
}
.prestablogswip .swiper-scrollbar-cursor-drag {
    cursor: move;
}
.prestablogswip .swiper-scrollbar-lock {
    display: none;
}
.prestablogswip .swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.prestablogswip .swiper-zoom-container > canvas,
.prestablogswip .swiper-zoom-container > img,
.prestablogswip .swiper-zoom-container > svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.prestablogswip .swiper-slide-zoomed {
    cursor: move;
    touch-action: none;
}
.prestablogswip .swiper-cube {
    overflow: visible;
}
.prestablogswip .swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
}
.prestablogswip .swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none;
}
.prestablogswip .swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
}
.prestablogswip .swiper-cube .swiper-slide-active,
.prestablogswip .swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}
.prestablogswip .swiper-cube .swiper-slide-active,
.prestablogswip .swiper-cube .swiper-slide-next,
.prestablogswip .swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
}
.prestablogswip .swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
}
.prestablogswip .swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px);
}
.prestablogswip .swiper-cube .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
}
.prestablogswip .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.prestablogswip .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.prestablogswip .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.prestablogswip .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.prestablogswip .swiper-flip {
    overflow: visible;
}
.prestablogswip .swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
}
.prestablogswip .swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none;
}
.prestablogswip .swiper-flip .swiper-slide-active,
.prestablogswip .swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}
.prestablogswip .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.prestablogswip .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.prestablogswip .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.prestablogswip .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.prestablogswip .swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
}
.prestablogswip .swiper-cards {
    overflow: visible;
}
.prestablogswip .swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
}
/* Table of Contents styles */
#prestablog-toc-container {
    width: 100%;
    margin-bottom: 10px;
	float: left;
}
.prestablog-toc {
    background: #fff;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    max-width: 100%;
    position: relative;
    border: 1px solid #e6e6e6;
}

.prestablog-toc:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

.prestablog-toc-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 0;
    padding-bottom: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #333333d2;
}

.prestablog-toc-toggle {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    -webkit-user-select: none;
}
.prestablog-toc-toggle i {
    transition: transform 0.3s ease;
    color: #2fb5d2;
}
.prestablog-toc.collapsed .prestablog-toc-toggle i {
    transform: rotate(-90deg);
}

.prestablog-toc-list {
    position: absolute;
    left: -1px;
    right: -1px;
    top: 100%;
    z-index: 99;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-top: none;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
    padding: 10px 15px;
    list-style: none;
    transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.2s ease;
    overflow-y: auto;
    max-height: calc(70vh - 80px);
    margin: 0;
    opacity: 1;
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
}

.prestablog-toc-list::-webkit-scrollbar {
    width: 4px;
}

.prestablog-toc-list::-webkit-scrollbar-track {
    background: transparent;
}
.prestablog-toc-list::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}
.prestablog-toc-list::-webkit-scrollbar-thumb:hover {
    background: #aaa;
}
.prestablog-toc.collapsed .prestablog-toc-list {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    opacity: 0;
    border: none;
    box-shadow: none;
}

.prestablog-toc-item {
    margin: 8px 0;
    line-height: 1.4;
}

.prestablog-toc-level-2 {
    padding-left: 15px;
}
.prestablog-toc-level-3 {
    padding-left: 30px;
}

.prestablog-toc-level-4 {
    padding-left: 45px;
}
.prestablog-toc-level-5 {
    padding-left: 60px;
}
.prestablog-toc-level-6 {
    padding-left: 75px;
}
.prestablog-toc-level-2 .prestablog-toc-link {
    padding: 3px 0 10px 0;
    border-bottom: 1px solid #e3e3e3
}
.prestablog-toc-link {
    text-decoration: none;
    display: inline-block;
    padding: 3px 0;
    position: relative;
    color: inherit;
    transition: color 0.2s ease, padding-left 0.2s ease;
    font-size: 95%;
}
.prestablog-toc-link:hover {
    padding-left: 5px;
    color: #2fb5d2;
}
.prestablog-toc-link:before {
    content: "";
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent currentColor;
    opacity: 0;
    transition: opacity 0.2s ease, left 0.2s ease;
}
.prestablog-toc-link:hover:before {
    opacity: 1;
    left: -15px;
}
.prestablog-toc-link.active {
    color: #2fb5d2;
    font-weight: 500;
    padding-left: 5px;
}
.prestablog-toc-link.active:before {
    opacity: 1;
    left: -15px;
}
.toc-wrapper {
    position: relative;
}
.toc-placeholder {
    display: block;
    visibility: hidden;
}
.toc-fixed {
    position: fixed;
    top: 20px;
    z-index: 100;
}
.prestablog-toc.float-toc {
    float: left;
    min-width: 480px;
    margin-left: 0px;
    margin-bottom: 30px;
    z-index: 100;
}
@media (max-width: 990px) {
    .prestablog-toc.float-toc {
        width: 100%;
        min-width: inherit;
    }
}
@media (max-width: 768px) {
    .prestablog-toc.float-toc {
        float: none;
        width: 100%;
        min-width: inherit;
    }
/* Mobile-only accordion for PrestaBlog sidebar blocks */
    .block-categories.prestablog > h4.title_block {
      position: relative;
      cursor: pointer;
      user-select: none;
      margin-bottom: 0px;
      font-size: 1rem;
    }  
    #prestablog_lastliste h4.title_block {
        font-size: 1rem;
    }
    
    .block-categories.prestablog > h4.title_block::after {
      content: '\25BE'; /* small down-pointing triangle */
      position: absolute;
      right: 0px;
      top: 50%;
      transform: translateY(-50%) rotate(0deg);
      transition: transform 0.18s ease;
      font-size: 25px;
      line-height: 1;
    }
    .block-categories.prestablog.accordion-open > h4.title_block::after {
      transform: translateY(-50%) rotate(180deg);
    }
    .block-categories.prestablog > .block_content {
      display: none;
      margin-top: .5rem;
    }
    .block-categories.prestablog.accordion-open > .block_content {
      display: block;
    }
    #prestablog_recherche, #prestablog_categorieslist, #prestablog_lastliste, #prestablog_archives, #prestablog_block_rss {
    padding: 0.7rem 1.25rem;
    }
  }

/* Article Navigation Cards Design */
.prestablog-article-navigation .nav-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    transition: all 0.3s ease;
    height: 100%;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}

.prestablog-article-navigation .nav-card:hover,
.prestablog-article-navigation .nav-card:focus {
    text-decoration: none;
    color: inherit;
}

.prestablog-article-navigation .nav-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #007bff, #0056b3);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.prestablog-article-navigation .nav-card:hover {
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.15);
    transform: translateY(-2px);
}

.prestablog-article-navigation .nav-card:hover::before {
    transform: scaleX(1);
}

.prestablog-article-navigation .nav-direction {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #6c757d;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.prestablog-article-navigation .nav-direction i {
    font-size: 18px;
    margin: 0 5px;
}

.prestablog-article-navigation .nav-card-prev .nav-direction {
    justify-content: flex-start;
}

.prestablog-article-navigation .nav-card-next .nav-direction {
    justify-content: flex-end;
}

.prestablog-article-navigation .nav-title {
    display: block;
    font-weight: 600;
    color: #212529;
    line-height: 1.4;
    font-size: 12px;
    transition: color 0.3s ease;
}

.nav-card-prev {text-align: left;}
.nav-card-next {text-align: right;}
.nav-card-prev i.material-icons {margin-left:0px;}
.nav-card-next i.material-icons {margin-right:0px;} 
.nav-card-prev .nav-title {margin-left: 23px;}
.nav-card-next .nav-title {margin-right: 23px;}

.prestablog-article-navigation .nav-card:hover .nav-title {
    color: #007bff;
}

.prestablog-article-navigation .nav-card:hover .nav-direction {
    color: #007bff;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .prestablog-article-navigation .nav-card {
        padding: 16px;
        margin-bottom: 15px;
    }
    
    .prestablog-article-navigation .nav-title {
        font-size: 15px;
    }
    
    .prestablog-article-navigation .nav-direction {
        font-size: 13px;
    }
}

/* Animation for better UX */
.prestablog-article-navigation .nav-card {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Focus states for accessibility */
.prestablog-article-navigation .nav-title:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
    border-radius: 4px;
}

/* PrestaBlog Gallery - uses Bootstrap row/col-md-* for columns */
.prestablog-gallery {
    margin: 20px 0;
}
.prestablog-gallery.row {
    margin-left: -5px;
    margin-right: -5px;
}
.prestablog-gallery .prestablog-gallery-link-wrapper {
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: 10px;
}
.prestablog-gallery img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}
.prestablog-gallery-link {
    display: block;
    overflow: hidden;
    border-radius: 4px;
    transition: opacity 0.2s;
}
.prestablog-gallery-link:hover {
    opacity: 0.85;
}

/* PrestaBlog Gallery slideshow */
.prestablog-gallery-carousel {
    position: relative;
    width: 100%;
    height: auto;
    margin: 20px 0 10px 0;
    padding-bottom: 30px;
    overflow: hidden;
}
.prestablog-gallery-carousel img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}
.prestablog-gallery-carousel .swiper-slide {
    padding: 0;
    box-sizing: border-box;
}
.prestablog-gallery-carousel .swiper-pagination {
    bottom: 0px !important;
    width: 100%;
    text-align: center;
}
.prestablog-gallery-carousel .swiper-pagination-bullet {
    margin: 0 4px !important;
}
.prestablog-gallery-carousel .swiper-pagination-bullet-active {
    background: #555;
}

/* FAQ Block */
.prestablog-faq {
    margin: 20px 0;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    overflow: hidden;
}
.prestablog-faq-item {
    border-bottom: 1px solid #e5e5e5;
}
.prestablog-faq-item:last-child {
    border-bottom: none;
}
.prestablog-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    cursor: pointer;
    font-weight: 600;
    font-size: 15px;
    color: #333;
    background: #fff;
    user-select: none;
    list-style: none;
    transition: background 0.15s;
}
.prestablog-faq-question::-webkit-details-marker {
    display: none;
}
.prestablog-faq-question:hover {
    background: #f8f8f8;
}
.prestablog-faq-icon {
    font-size: 22px;
    color: #aaa;
    flex-shrink: 0;
    margin-left: 12px;
    transition: transform 0.3s ease;
}
.prestablog-faq-question[aria-expanded="true"] .prestablog-faq-icon {
    transform: rotate(180deg);
}
.prestablog-faq-answer {
    padding: 10px 18px 16px;
    color: #555;
    line-height: 1.6;
    background: #fff;
}

.prestablog_pagination a:hover {
    color: var(--pb-accent);
}

#module-prestablog-blog .grc-site-iframe iframe {
    width: 100%;
    height: 480px;
}