	:root
{
	--header-height:160px;
	--header-height-min:80px
}
	@media screen and (max-width:600px)
{
	:root
{
	--header-height:100px;
	--header-height-min:80px
}

}
	:root
{
	--accent-color:#FFC43F;
	--dark-color:#222222;
	--light-dark-color:#727272;
	--light-color:#fff;
	--grey-color:#dbdbdb;
	--light-grey-color:#fafafa;
	--primary-color:#6995B1;
	--light-primary-color:#eef1f3
}
	:root
{
	--body-font:"Open Sans",sans-serif;
	--heading-font:"Nunito",sans-serif
}
	body
{
	--bs-link-color:#333;
	--bs-link-hover-color:#333;
	--bs-link-color-rgb:40,40,40;
	--bs-link-hover-color-rgb:0,0,0;
	--bs-light-rgb:248,248,248;
	--bs-font-sans-serif:"Open Sans",sans-serif;
	--bs-body-font-family:var(--bs-font-sans-serif);
	--bs-body-font-size:1rem;
	--bs-body-font-weight:400;
	--bs-body-line-height:2;
	--bs-body-color:#747474;
	--bs-primary:#FFC43F;
	--bs-primary-rgb:255,196,63;
	--bs-success:#a3be4c;
	--bs-success-rgb:163,190,76;
	--bs-primary-bg-subtle:#FFF9EB;
	--bs-success-bg-subtle:#eef5e5;
	--bs-border-color:#F7F7F7;
	--bs-secondary-rgb:230,243,251;
	--bs-danger-rgb:249,235,231;
	--bs-warning-rgb:255,249,235;
	--bs-info-rgb:230,243,250
}
.btn-primary
{
	--bs-btn-color:#fff;
	--bs-btn-bg:#ffc43f;
	--bs-btn-border-color:transparent;
	--bs-btn-hover-color:#fff;
	--bs-btn-hover-bg:#f7a422;
	--bs-btn-hover-border-color:transparent;
	--bs-btn-focus-shadow-rgb:49,132,253;
	--bs-btn-active-color:#fff;
	--bs-btn-active-bg:#ffc43f;
	--bs-btn-active-border-color:transparent;
	--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color:#fff;
	--bs-btn-disabled-bg:#d3d7dd;
	--bs-btn-disabled-border-color:transparent
}
.btn-outline-primary
{
	--bs-btn-color:#ffc43f;
	--bs-btn-border-color:#ffc43f;
	--bs-btn-hover-color:#fff;
	--bs-btn-hover-bg:#ffc107;
	--bs-btn-hover-border-color:#ffc107;
	--bs-btn-focus-shadow-rgb:13,110,253;
	--bs-btn-active-color:#fff;
	--bs-btn-active-bg:#ffc107;
	--bs-btn-active-border-color:#ffc107;
	--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color:#fff3cd;
	--bs-btn-disabled-bg:transparent;
	--bs-btn-disabled-border-color:#fff3cd;
	--bs-gradient:none
}
.btn-outline-light
{
	--bs-btn-color:#747474;
	--bs-btn-border-color:#EFEFEF;
	--bs-btn-hover-color:#000;
	--bs-btn-hover-bg:#EFEFEF;
	--bs-btn-hover-border-color:#EFEFEF;
	--bs-btn-focus-shadow-rgb:248,249,250;
	--bs-btn-active-color:#000;
	--bs-btn-active-bg:#EFEFEF;
	--bs-btn-active-border-color:#EFEFEF;
	--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color:#EFEFEF;
	--bs-btn-disabled-bg:transparent;
	--bs-btn-disabled-border-color:#EFEFEF;
	--bs-gradient:none
}
.btn-danger
{
	--bs-btn-color:#222;
	--bs-btn-bg:#FFEADA;
	--bs-btn-border-color:#FFEADA;
	--bs-btn-hover-color:#222;
	--bs-btn-hover-bg:#ecc9af;
	--bs-btn-hover-border-color:#ecc9af;
	--bs-btn-focus-shadow-rgb:60,153,110;
	--bs-btn-active-color:#222;
	--bs-btn-active-bg:#ecc9af;
	--bs-btn-active-border-color:#ecc9af;
	--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color:#222;
	--bs-btn-disabled-bg:#FFEADA;
	--bs-btn-disabled-border-color:#FFEADA
}
	body
{
	letter-spacing:.03em
}
	h1,h2,h3,h4,h5,h6
{
	font-family:var(--heading-font);
	color:var(--dark-color);
	font-weight:700
}
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6
{
	font-weight:700
}
.dropdown-menu
{
	--bs-dropdown-link-active-bg:var(--bs-primary)
}
.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl
{
	--bs-gutter-x:3rem
}
.preloader-wrapper
{
	width:100%;
	height:100vh;
	margin:0 auto;
	position:fixed;
	top:0;
	left:0;
	z-index:111;
	background:#fff
}
.preloader-wrapper .preloader
{
	margin:20% auto 0;
	transform:translateZ(0)
}
.preloader:after,.preloader:before
{
	content:'';
	position:absolute;
	top:0
}
.preloader,.preloader:after,.preloader:before
{
	border-radius:50%;
	width:2em;
	height:2em;
	animation:animation 1.2s infinite ease-in-out
}
.preloader
{
	animation-delay:-.16s
}
.preloader:before
{
	left:-3.5em;
	animation-delay:-.32s
}
.preloader:after
{
	left:3.5em
}
	@keyframes animation
{
	0%,100%,80%
{
	box-shadow:0 2em 0 -1em var(--accent-color)
}
	40%
{
	box-shadow:0 2em 0 0 var(--accent-color)
}

}
.container-fluid
{
	max-width:1600px
}
.banner-blocks
{
	display:grid;
	grid-template-columns:repeat(12,1fr);
	grid-gap:2rem
}
.block-1
{
	grid-area:1/1/3/8
}
.block-2
{
	grid-area:1/8/2/13
}
.block-3
{
	grid-area:2/8/3/13
}
	@media screen and (max-width:1140px)
{
.banner-blocks
{
	grid-template-columns:1fr;
	grid-template-rows:repeat(4,1fr)
}
.block-1
{
	grid-area:1/1/3/2
}
.block-2
{
	grid-area:3/1/4/2
}
.block-3
{
	grid-area:4/1/5/2
}

}
.banner-ad
{
	position:relative;
	overflow:hidden;
	border-radius:12px
}
.banner-ad .swiper-pagination
{
	bottom:40px;
	left:0;
	right:0
}
.banner-ad .swiper-slide
{
	min-height:630px;
	display:flex
}
.banner-ad .banner-content .categories
{
	font-family:Garamond;
	font-size:37px;
	text-transform:capitalize;
	color:var(--dark-color)
}
.banner-ad .banner-content .banner-title
{
	letter-spacing:.02em;
	font-size:33px
}
.banner-ad.large .banner-content .categories
{
	color:var(--accent-color)
}
.banner-ad.large .banner-content .banner-title
{
	font-size:54px
}
.swiper-next,.swiper-prev
{
	width:38px;
	height:38px;
	line-height:38px;
	background:#f1f1f1;
	color:#222;
	padding:0;
	text-align:center;
	border-radius:10px;
	--bs-btn-border-color:transparent;
	--bs-btn-active-bg:#ec9b22;
	--bs-btn-active-border-color:transparent;
	--bs-btn-hover-bg:#FFC43F;
	--bs-btn-hover-border-color:transparent;
	--bs-btn-disabled-color:#ccc;
	--bs-btn-disabled-bg:#eaeaea;
	--bs-btn-disabled-border-color:#eaeaea
}
.swiper-next:hover,.swiper-prev:hover
{
	background:#ffc43f
}
.btn-link
{
	margin-right:30px;
	font-weight:600;
	font-size:16px;
	line-height:22px;
	text-align:right;
	text-transform:capitalize;
	color:#787878
}
.category-carousel .category-item
{
	background:#fff;
	border:1px solid #fbfbfb;
	box-shadow:0 5px 22px rgba(0,0,0,.04);
	border-radius:16px;
	text-align:center;
	padding:60px 20px;
	margin:20px 0;
	transition:box-shadow .3s ease-out,transform .3s ease-out
}
.category-carousel .category-item:hover
{
	transform:translate3d(0,-10px,0);
	box-shadow:0 21px 44px rgba(0,0,0,.08)
}
.category-carousel .category-item .category-title
{
	font-weight:600;
	font-size:20px;
	line-height:27px;
	letter-spacing:.02em;
	text-transform:capitalize;
	color:#222;
	margin-top:20px
}
.brand-carousel .brand-item
{
	background:#fff;
	border:1px solid #fbfbfb;
	box-shadow:0 5px 22px rgba(0,0,0,.04);
	border-radius:16px;
	padding:16px
}
.brand-carousel .brand-item img
{
	width:100%;
	border-radius:12px
}
.brand-carousel .brand-item .brand-title
{
	margin:0
}
.product-item
{
	position:relative;
	padding:16px;
	background:#fff;
	border:1px solid #fbfbfb;
	box-shadow:0 5px 22px rgba(0,0,0,.04);
	border-radius:16px;
	margin-bottom:30px;
	transition:box-shadow .3s ease-out
}
.product-item:hover
{
	box-shadow:0 21px 44px rgba(0,0,0,.08)
}
.product-item h3
{
	display:block;
	width:100%;
	font-weight:600;
	font-size:18px;
	line-height:25px;
	text-transform:capitalize;
	color:#333;
	margin:0
}
.product-item .qty
{
	font-weight:400;
	font-size:13px;
	line-height:18px;
	letter-spacing:.02em;
	text-transform:uppercase;
	color:#9d9d9d
}
.product-item .product-qty
{
	width:85px
}
.product-item .btn-link
{
	text-decoration:none
}
.product-item #quantity
{
	height:auto;
	width:28px;
	text-align:center;
	border:none;
	margin:0;
	padding:0
}
.cart .product-qty
{
	min-width:130px
}
.post-item .post-meta
{
	font-size:.8rem;
	line-height:1
}
.post-item .post-meta svg
{
	margin-right:5px
}
	@media screen and (max-width:991px)
{
.offcanvas-body .nav-item
{
	font-weight:700;
	border-bottom:1px solid #d1d1d1
}
.offcanvas-body .filter-categories
{
	width:100%;
	margin-bottom:20px!important;
	border:1px solid #d1d1d1!important;
	padding:14px;
	border-radius:8px
}
.dropdown-menu
{
	padding:0;
	border:none;
	line-height:1.4;
	font-size:.9em
}
.dropdown-menu a
{
	padding-left:0
}
.dropdown-toggle::after
{
	position:absolute;
	right:0;
	top:21px
}

}
	iframe.position-absolute.top-0.start-0.w-100.h-100.border-0,video#main-banner-video
{
	border-radius:12px
}
	a.nav-link
{
	color:#000;
	font-weight:600
}
.sr-only
{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0
}
	input#search-query,select#search-type
{
	color:#000
}
	#search-query::placeholder
{
	color:#000;
	opacity:1
}
.quick-access-swiper
{
	background-color:#e6f7ff;
	padding:1rem 0;
	position:relative
}
.quick-access-swiper .swiper-wrapper
{
	padding-left:1rem;
	padding-right:1rem
}
.quick-access-swiper .swiper-slide
{
	flex-shrink:0;
	width:96px;
	text-align:center
}
.quick-access-swiper .swiper-slide a
{
	display:flex;
	flex-direction:column;
	align-items:center;
	background:#fff;
	padding:.5rem;
	border-radius:.5rem;
	box-shadow:0 2px 6px rgba(0,0,0,.1)
}
.quick-access-swiper .swiper-button-next,.quick-access-swiper .swiper-button-prev
{
	color:#0056b3;
	background:rgba(255,255,255,.8);
	width:2.5rem;
	height:2.5rem;
	border-radius:50%;
	top:50%;
	transform:translateY(-50%)
}
.quick-access-swiper .swiper-button-prev
{
	left:.5rem
}
.quick-access-swiper .swiper-button-next
{
	right:.5rem
}
.quick-access-swiper .swiper-slide
{
	height:96px!important;
	width:150px!important
}
.quick-access-swiper .swiper-wrapper
{
	align-items:center
}
.quick-access-swiper
{
	padding-top:.5rem;
	padding-bottom:.5rem
}
.quick-access-swiper .swiper-slide a
{
	text-decoration:none;
	color:#111!important
}
	section.banner-ad.block-3.bg-info
{
	max-height:105px
}
.quick-access-swiper .swiper-slide .text-dark
{
	color:#000!important
}
	#pubpmm
{
	position:fixed;
	right:0;
	bottom:-100%;
	width:290px;
	height:450px;
	z-index:100000;
	opacity:0;
	visibility:hidden;
	transition:bottom 1s ease,opacity .5s ease
}
	#pubpmm.open
{
	bottom:0;
	opacity:1;
	visibility:visible
}
.fermer
{
	position:absolute;
	top:5px;
	right:5px;
	width:30px;
	height:30px;
	line-height:20px;
	font-size:20px;
	text-align:center;
	background:#1d6aad;
	color:#fff;
	border:none;
	border-radius:50%;
	cursor:pointer
}
	@media (min-width:992px)
{
.category-carousel .swiper-slide
{
	flex:0 0 25%!important;
	max-width:25%!important
}

}
	#latest-videos
{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:1rem;
	margin:0;
	padding:0
}
	#latest-videos>div
{
	flex:1 1 calc(25% - 1rem);
	margin:0
}
.hero-section .container-fluid
{
	position:relative;
	z-index:1
}
.barre:after
{
	background:linear-gradient(to right,#ffcf14 25%,#95c4eb 25%,#1e6aad 50%,#cb3d1b 50%,#a53716 75%,#96a469 75%);
	content:"";
	height:4px;
	left:0;
	position:absolute;
	right:0;
	top:0;
	z-index:999999
}
.skip-link
{
	position:absolute;
	top:0;
	left:0;
	background:#ffc43f;
	color:#222;
	padding:.5em 1em;
	z-index:1000;
	transform:translateY(-100%);
	transition:transform .3s ease;
	text-decoration:none
}
.skip-link:focus
{
	transform:translateY(0);
	outline:2px solid #222
}
	@media (max-width: 480px)
{
.skaping-iframe
{
	padding-top: 75% !important
}

}
	@media screen and (max-width: 1140px)
{
.banner-blocks
{
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important
}
.banner-ad
{
	grid-area: auto !important;
	width: 100% !important;
	margin: 0 !important
}

}
.jumbotron-custom
{
	background-color: #f3f3f8;
	border-radius: 1rem
}
.jumbotron-custom .container
{
	padding-top: 2rem;
	padding-bottom: 2rem
}
.promo-slider
{
	position: relative;
	padding: 4rem 0
}
.promo-slider .swiper-button-prev, .promo-slider .swiper-button-next
{
	color: #222;
	width: 3rem;
	height: 3rem;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 50%;
	top: 50%;
	transform: translateY(-50%)
}
.promo-slider .swiper-button-prev
{
	left: 1rem
}
.promo-slider .swiper-button-next
{
	right: 1rem
}
.promo-block
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-radius: 1rem;
	padding: 2rem;
	position: relative;
	overflow: visible
}
.promo-content
{
	max-width: 50%;
	z-index: 1
}
.promo-title
{
	font-size: 2rem;
	margin-bottom: 1rem
}
.promo-text
{
	line-height: 1.5;
	margin-bottom: 1.5rem
}
.promo-buttons .btn
{
	margin-right: 1rem;
	padding: 0.75rem 1.5rem;
	border-radius: 0.5rem;
	text-decoration: none;
	display: inline-block
}
.promo-buttons .btn-primary
{
	background: #222;
	color: #fff
}
.promo-buttons .btn-outline
{
	background: transparent;
	border: 2px solid #222;
	color: #222
}
.promo-image
{
	overflow: visible
}
.promo-image img
{
	display: block;
	width: 100%;
	border-radius: 1rem
}
.swiper-slide.slide--cocteau .promo-block
{
	background-color: #f0f0f0
}
.swiper-slide.slide--jardin .promo-block
{
	background-color: #a3d39c
}
.swiper-slide.slide--marche .promo-block
{
	background-color: #f7a35c
}
.swiper-slide.slide--citron .promo-block
{
	background-color: #fee827
}
.social-list__item
{
	margin-left: 0.5rem
}
.social-list__link
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f8f9fa;
	border-radius: 50%;
	padding: 0.5rem;
	color: #222;
	text-decoration: none
}
.social-list__icon
{
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor
}
.social-list__link:hover
{
	background: #e2e6ea
}
.bg-light-custom
{
	background-color:#f3f3f8
}
	select#search-type
{
	color: #000000
}
	input#search-query, select#search-type
{
	color: #000
}
	form#search-form
{
	background-color: #f3f3f8 !important
}
.video-thumb
{
	position: relative;
	display: inline-block;
	cursor: pointer
}
.video-thumb img
{
	display: block
}
.video-thumb .play-btn
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 68px;
	height: 48px;
	pointer-events: none
}
	article h1, section h1, nav h1, aside h1
{
	font-size: 2em;
	margin-block: 0.67em
}
	@media (max-width: 576px) {
  .jumbotron-custom {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .jumbotron-custom .container-fluid {
    padding-left: 0.9rem !important;
    padding-right: 0.9rem !important;
  }
}
h1 {
  font-size: 2rem; 
  line-height: 1.2;
}

  /* Scoped variables */
  #access-panel, #access-toggle {
    --panel-width: 300px;
    --btn-bg: #1d6aad;
    --btn-hover: #004080;
    --btn-fg: #ffffff;
    --reset-bg: #a80000;
    --reset-hover: #800000;
  }


  /* Filters & cursor */
  html.cursor-big * { cursor: url('https://www.menton.fr/IMG/png/cursor.png') 4 4, pointer !important; }
  html.invert { filter: invert(1) hue-rotate(180deg) !important; }
  html.grayscale { filter: grayscale(1) !important; }
  html.high-contrast { filter: contrast(1.8) brightness(1.2) !important; }

  /* Fonts */
  html.dys-font * { font-family: 'Atkinson Hyperlegible', Arial, sans-serif !important; }
  html.open-dyslexic * { font-family: 'OpenDyslexic', Arial, sans-serif !important; }

  /* Reading ruler */
  #access-ruler {
    display: none;
    position: fixed; left: 0; width: 100%; height: 2em;
    background: rgba(255,255,0,0.3); pointer-events: none;
    z-index: 10000;
  }
  body.ruler-active #access-ruler { display: block; }

  /* Slide panel */
  #access-panel {
    position: fixed; top: 1rem; right: 1rem;
    width: var(--panel-width); height: fit-content;
    background: #fff; box-shadow: -3px 0 8px rgba(0,0,0,0.2);
    transform: translateX(100%); transition: transform .3s;
    z-index: 1000; padding: 1rem; border-radius: .5rem;
    font-size: clamp(16px,1rem,200%); line-height:1.5;
  }
  #access-panel.open { transform: translateX(0); }

  /* Toggle button */
  #access-toggle {
    position: fixed; top:1rem; right:1rem; width:64px; height:64px;
    background: var(--btn-bg) url('https://www.menton.fr/IMG/png/icon-accessiblite.png') center/48px no-repeat;
    border:none; border-radius:50%; z-index:900; cursor:pointer;
  }
  #access-toggle:focus { outline:3px solid #ffd600; }

  /* Buttons */
  .access-btn, .access-btn-reset {
    display:flex; align-items:center; gap:.5rem;
    width:100%; padding:.75rem; margin-bottom:.5rem;
    border:none; border-radius:.5rem;
    background: var(--btn-bg); color: var(--btn-fg); text-align:left;
  }
  .access-btn-reset { background: var(--reset-bg); }
  .access-btn:hover, .access-btn:focus-visible,
  .access-btn-reset:hover, .access-btn-reset:focus-visible {
    background: var(--btn-hover); outline:3px solid #ffd600; outline-offset:2px;
  }
  .access-btn[aria-pressed="true"] { box-shadow: inset 0 0 0 3px #ffd600; }


/* 1) Variables dark mode */
html.dark-mode {
  --bs-body-bg: var(--dark-color);
  --bs-body-color: var(--light-color);
  --jumbotron-bg: var(--light-dark-color);
  --jumbotron-color: var(--light-color);
}

/* 2) Fond & texte globaux */
html.dark-mode body,
html.dark-mode .navbar,
html.dark-mode .offcanvas,
html.dark-mode footer,
html.dark-mode .card,
html.dark-mode .modal-content {
  background-color: var(--bs-body-bg) !important;
  color:            var(--bs-body-color) !important;
}
html.dark-mode p,
html.dark-mode a.nav-link,
html.dark-mode .text-dark {
  color: #fff !important;
}

/* 3) Boutons & liens */
html.dark-mode a:hover,
html.dark-mode .nav-link:hover {
  color: var(--bs-warning) !important;
}
html.dark-mode .btn.btn-primary {
  background: var(--dark-color) !important;
  border:     1px solid var(--light-color) !important;
  color:      var(--light-color) !important;
}
html.dark-mode .btn.btn-outline-dark {
  background: transparent   !important;
  border:     1px solid #fff !important;
  color:      #fff          !important;
}
html.dark-mode .btn.btn-outline-dark:hover {
  background: #fff           !important;
  color:      var(--dark-color) !important;
}

/* 4) Sections spécifiques */
html.dark-mode .jumbotron-custom,
html.dark-mode .product-item.swiper-slide,
html.dark-mode .bg-light {
  background-color: var(--bs-body-bg) !important;
  color:            #fff               !important;
}
html.dark-mode .jumbotron-custom {
  border:        1px solid var(--bs-border-color) !important;
  border-radius: .25rem                   !important;
}

/* 5) Sélecteurs */
html.dark-mode .filter-categories {
  background: var(--bs-body-bg) !important;
  color:      #fff            !important;
  border:     1px solid #444  !important;
}
html.dark-mode .filter-categories option {
  background: var(--bs-body-bg) !important;
  color:      #fff            !important;
}
html.dark-mode .filter-categories:focus {
  outline: 1px solid var(--accent-color) !important;
}

/* 6) Social icons */
html.dark-mode .social-list__link {
  background: var(--dark-color) !important;
  color:      var(--light-color) !important;
}
html.dark-mode .social-list__link:hover {
  background: var(--light-dark-color) !important;
}

/* 7) Toggle personnalisé */
.darkmode-toggle {
  display:    inline-flex;
  align-items:center;
  gap:        .75rem;
  background: transparent;
  border:     none;
  padding:    .25rem;
  cursor:     pointer;
}
.darkmode-toggle .toggle {
  position:       relative;
  width:          3rem;
  height:         1.5rem;
  background:     #ccc;
  border-radius:  .75rem;
  transition:     background .3s;
}
.darkmode-toggle .toggle .handle {
  position:      absolute;
  top:           2px;
  left:          2px;
  width:         calc(1.5rem - 4px);
  height:        calc(1.5rem - 4px);
  background:    #fff;
  border-radius: 50%;
  transition:    left .3s, background .3s;
}
.darkmode-toggle .icon {
  font-size: 1.2rem;
  transition: color .3s;
}

/* Toggle = état “on” */
html.dark-mode .darkmode-toggle.active .toggle {
  background: var(--grey-color) !important;
}
html.dark-mode .darkmode-toggle.active .toggle .handle {
  left:       calc(100% - (1.5rem - 4px) - 2px);
  background: var(--dark-color);
}
html.dark-mode .darkmode-toggle .sun {
  color: var(--light-dark-color);
}
html.dark-mode .darkmode-toggle.active .sun {
  color: #fff;
}
html.dark-mode .darkmode-toggle .moon {
  color: #fff;
}
html.dark-mode .darkmode-toggle.active .moon {
  color: var(--light-dark-color);
}

/* SVG icons explicit fill override */
html.dark-mode .darkmode-toggle svg.bi-sun,
html.dark-mode .darkmode-toggle svg.bi-moon,
html.dark-mode .darkmode-toggle svg.bi-sun path,
html.dark-mode .darkmode-toggle svg.bi-moon path {
  fill:  #fff !important;
  color: #fff !important;
}