/* Theme tokens */
:root {
	--se-primary: #3c487e;
	--se-bg-light: #f6f7f7;
	--se-bg-dark: #1a1f2e;
	--se-surface-dark: #252b3d;
	--se-surface-darker: #111317;
	--se-surface-hover-dark: #2f364a;
	--se-border-light: #e2e8f0;
	--se-border-dark: #2e374f;
	--se-text-light: #0f172a;
	--se-text-dark: #f1f5f9;
	--se-text-muted-light: #94a3b8;
	--se-text-muted-dark: #94a3b8;
	--se-shadow-soft: 0 1rem 2rem rgba(148, 163, 184, 0.1);
	--se-shadow-card: 0 1rem 2.5rem rgba(148, 163, 184, 0.12);
	--se-shadow-primary: 0 10px 30px rgba(60, 72, 126, 0.25);
	--footer-text-color: var(--se-text-muted-light);
	--footer-hover-color: var(--se-primary);
	--footer-heading-color: var(--se-text-light);
}

html {
	color-scheme: light;
}

html.dark {
	color-scheme: dark;
	--bs-body-bg: var(--se-bg-dark);
	--bs-body-color: var(--se-text-dark);
	--bs-secondary-color: rgba(241, 245, 249, 0.7);
	--bs-border-color: var(--se-border-dark);
	--bs-tertiary-bg: var(--se-surface-dark);
	--bs-gray-800: var(--se-text-dark);
	--footer-text-color: var(--se-text-muted-dark);
	--footer-hover-color: #ffffff;
	--footer-heading-color: var(--se-text-dark);
}

/* Base */
body {
	background: var(--se-bg-light);
	color: var(--se-text-light);
}

html.dark body {
	background: var(--se-bg-dark);
	color: var(--se-text-dark);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.section-title {
	color: var(--se-text-light);
}

html.dark h1,
html.dark h2,
html.dark h3,
html.dark h4,
html.dark h5,
html.dark h6,
html.dark .h1,
html.dark .h2,
html.dark .h3,
html.dark .h4,
html.dark .h5,
html.dark .h6,
html.dark .section-title {
	color: var(--se-text-dark);
}

p,
.small,
.text-muted,
.text-body-secondary {
	color: inherit;
}

a {
	transition: color 0.2s ease;
}

body a {
	color: var(--se-text-muted-light);
}

body a:hover {
	color: var(--se-primary);
}

html.dark body a {
	color: var(--se-text-muted-dark);
}

html.dark body a:hover {
	color: #ffffff;
}

/* Bootstrap and global UI */
.col-form-label,
.form-label {
	color: var(--se-text-light);
	font-weight: 700;
}

html.dark .col-form-label,
html.dark .form-label {
	color: var(--se-text-dark);
}

.bg-light {
	background-color: #f8fafc !important;
}

html.dark .bg-light {
	background-color: var(--se-surface-dark) !important;
	border-color: var(--se-border-dark);
}

html.dark .form-control,
html.dark .form-select,
html.dark .form-check-input,
html.dark .input-group-text {
	color: var(--bs-body-color);
	background-color: var(--bs-tertiary-bg);
	border-color: var(--bs-border-color);
}

html.dark .form-control::placeholder,
html.dark .form-select::placeholder {
	color: rgba(241, 245, 249, 0.55);
}

html.dark .btn-link {
	color: var(--se-text-muted-dark);
}

html.dark .btn-link:hover {
	color: #ffffff;
}

html.dark .input-group .btn {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
	color: var(--se-text-dark);
}

html.dark .input-group .btn:hover {
	background: rgba(255, 255, 255, 0.08);
}

html.dark .border,
html.dark .border-top,
html.dark .border-bottom,
html.dark .border-start,
html.dark .border-end {
	border-color: var(--se-border-dark) !important;
}

html.dark .accordion {
	--bs-accordion-color: var(--se-text-dark);
	--bs-accordion-bg: var(--se-surface-dark);
	--bs-accordion-border-color: var(--se-border-dark);
	--bs-accordion-btn-color: var(--se-text-dark);
	--bs-accordion-btn-bg: var(--se-surface-dark);
	--bs-accordion-active-color: #ffffff;
	--bs-accordion-active-bg: var(--se-surface-dark);
}

html.dark .breadcrumb__wrapper {
	border-bottom: 1px solid var(--se-border-dark);
	background: var(--se-surface-dark);
}

/* Tables */
.table,
.rich-text table {
	--bs-table-bg: transparent;
	--bs-table-color: var(--se-text-light);
	--bs-table-border-color: var(--se-border-light);
	--bs-table-striped-bg: rgba(148, 163, 184, 0.04);
	--bs-table-striped-color: var(--se-text-light);
	--bs-table-hover-bg: rgba(148, 163, 184, 0.06);
	--bs-table-hover-color: var(--se-text-light);
}

html.dark .table,
html.dark .rich-text table {
	--bs-table-bg: transparent;
	--bs-table-color: var(--se-text-dark);
	--bs-table-border-color: var(--se-border-dark);
	--bs-table-striped-bg: rgba(255, 255, 255, 0.03);
	--bs-table-striped-color: var(--se-text-dark);
	--bs-table-hover-bg: rgba(255, 255, 255, 0.04);
	--bs-table-hover-color: var(--se-text-dark);
}

.table thead th,
.rich-text table thead th {
	color: #64748b;
	font-weight: 700;
}

html.dark .table thead th,
html.dark .rich-text table thead th {
	color: var(--se-text-muted-dark);
}

/* Header */
header#header.header {
	background: transparent !important;
	background-color: transparent !important;
	--header-top-bg: transparent;
	--header-color: inherit;
	--header-top-color: inherit;
}

.se-header {
	background: rgba(246, 247, 247, 0.8);
	backdrop-filter: blur(12px);
}

html.dark .se-header {
	background: rgba(26, 31, 46, 0.8);
	border-color: var(--se-border-dark);
}

.se-brand img {
	display: block;
	width: auto;
	height: auto;
	max-height: 40px;
}

.se-search {
	border: 1px solid var(--se-border-light);
	background: #ffffff;
}

html.dark .se-search {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
}

.se-search__icon {
	background: transparent;
	color: var(--se-text-muted-dark);
}

.se-navlink {
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--se-text-muted-light);
}

.se-navlink:hover {
	color: var(--se-primary);
}

html.dark .se-navlink {
	color: var(--se-text-muted-dark);
}

html.dark .se-navlink:hover {
	color: #ffffff;
}

.se-divider {
	width: 1px;
	height: 24px;
	background: var(--se-border-light);
}

html.dark .se-divider {
	background: var(--se-border-dark);
}

.se-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 40px;
	border-radius: 0.75rem;
	color: var(--se-text-muted-light);
}

.se-iconbtn:hover {
	background: #f1f5f9;
}

html.dark .se-iconbtn {
	color: var(--se-text-muted-dark);
}

html.dark .se-iconbtn:hover {
	background: var(--se-surface-dark);
}

.se-btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 90px;
	height: 40px;
	border-radius: 0.75rem;
	font-size: 0.875rem;
	font-weight: 700;
	background: var(--se-primary);
	color: #ffffff;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.se-btn-primary:hover {
	background: #ffffff;
	color: var(--se-primary);
	border-color: var(--se-primary);
	box-shadow: var(--se-shadow-primary);
	transform: translateY(-1px);
}

html.dark .se-btn-primary:hover {
	background: var(--se-surface-hover-dark);
	color: #ffffff;
	border-color: var(--se-border-dark);
}

#searchCanvas .search__container,
#searchCanvas #search_widget {
	width: 100%;
}

#searchCanvas .js-search-input {
	padding: 0.75rem 1rem;
}

#search_widget form input {
	padding: 10px 20px 10px 0 !important;
}

#_desktop_cart {
	order: 2;
}

.main-menu {
	order: 1;
}

#_desktop_cart .header-block__badge {
	background: var(--se-primary);
	color: #ffffff;
}

/* Footer */
.se-footer-wrap {
	margin-top: 3rem;
	border-top: 1px solid var(--se-border-light);
	background: transparent;
}

html.dark .se-footer-wrap {
	border-top-color: var(--se-border-dark);
}

.se-footer-before {
	background: transparent;
}

.se-footer-main {
	background: #ffffff;
	color: var(--se-text-light);
}

html.dark .se-footer-main {
	background: var(--se-surface-darker);
	color: var(--se-text-dark);
}

.se-footer-bottom {
	border-top: 1px solid var(--se-border-light);
}

html.dark .se-footer-bottom {
	border-top-color: var(--se-border-dark);
}

.se-footer-wrap a {
	color: var(--footer-text-color);
	text-decoration: none;
	transition: color 0.2s ease;
}

.se-footer-wrap a:hover {
	color: var(--footer-hover-color);
}

.se-footer-copyright {
	font-size: 0.875rem;
	color: var(--se-text-muted-light);
}

html.dark .se-footer-copyright {
	color: var(--se-text-muted-dark);
}

.footer .footer__block__title,
.footer .footer__block__title a {
	color: var(--footer-heading-color) !important;
}

.footer .footer__block__content,
.footer .footer__block__content-list a,
.footer .footer__block__content-contact a {
	color: var(--footer-text-color) !important;
}

.footer .footer__block__content-list a:hover,
.footer .footer__block__content-contact a:hover {
	color: var(--footer-hover-color) !important;
}

.footer{
	--footer-background-color: #ffffff;
	--footer-text-color: #475569;
	--footer-hover-color: var(--se-primary);
	--footer-heading-color: var(--se-text-light);
}

html.dark .footer{
	--footer-background-color: var(--se-surface-darker);
	--footer-text-color: var(--se-text-muted-dark);
	--footer-hover-color: #ffffff;
	--footer-heading-color: var(--se-text-dark);
}

/* Hero */
.se-hero-section {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.se-hero-title {
	font-size: clamp(2.2rem, 5vw, 4.25rem);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--se-text-light);
}

html.dark .se-hero-title {
	color: #ffffff;
}

.se-hero-title-accent {
	color: var(--se-primary);
}

html.dark .se-hero-title-accent {
	color: #ffffff;
}

.se-hero-subtitle {
	max-width: 36rem;
	font-size: 1.125rem;
	color: var(--se-text-muted-light);
}

html.dark .se-hero-subtitle {
	color: var(--se-text-muted-dark);
}

.se-hero-search-wrap {
	width: 100%;
	max-width: 36rem;
	overflow: hidden;
	border: 4px solid rgba(60, 72, 126, 0.1);
	border-radius: 1rem;
	box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.12);
}

html.dark .se-hero-search-wrap {
	border-color: rgba(255, 255, 255, 0.06);
}

.se-hero-search-form {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 56px;
}

.se-hero-search-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 1.25rem;
	padding-right: 0.75rem;
	background: #ffffff;
	color: var(--se-text-muted-light);
}

html.dark .se-hero-search-icon {
	background: var(--se-surface-dark);
	color: var(--se-text-muted-dark);
}

.se-hero-search-icon .material-symbols-outlined {
	font-size: 24px;
}

.se-hero-search-input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	outline: 0;
	padding: 0 1rem;
	font-size: 1rem;
	font-weight: 400;
	background: #ffffff;
	color: var(--se-text-light);
}

.se-hero-search-input:focus {
	outline: none;
	box-shadow: none;
}

.se-hero-search-input::placeholder {
	color: var(--se-text-muted-light);
}

html.dark .se-hero-search-input {
	background: var(--se-surface-dark);
	color: #ffffff;
	-webkit-text-fill-color: #ffffff;
}

html.dark .se-hero-search-input::placeholder {
	color: rgba(241, 245, 249, 0.55);
	-webkit-text-fill-color: rgba(241, 245, 249, 0.55);
}

.se-hero-search-btn {
	border: 0;
	outline: 0;
	padding: 0 1.5rem;
	font-weight: 700;
	color: #ffffff;
	background: var(--se-primary);
	transition: opacity 0.2s ease;
}

.se-hero-search-btn:hover {
	opacity: 0.95;
}

#hero_search_widget {
	position: relative;
}

#hero_search_widget .search-widgets__dropdown {
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	left: 0;
	z-index: 30;
	overflow: hidden;
	border: 1px solid var(--se-border-light);
	border-radius: 1rem;
	background: #ffffff;
	box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.12);
}

html.dark #hero_search_widget .search-widgets__dropdown {
	background: var(--se-surface-dark);
	border-color: var(--se-border-dark);
}

#hero_search_widget .search-widgets__results {
	margin: 0;
	padding: 0.5rem 0;
	list-style: none;
}

.se-hero-popular {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	font-size: 0.875rem;
	color: var(--se-text-muted-light);
}

html.dark .se-hero-popular {
	color: var(--se-text-muted-dark);
}

.se-hero-popular-label {
	white-space: nowrap;
}

.se-hero-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.75rem;
	border-radius: 0.5rem;
	background: var(--se-border-light);
	color: #334155;
}

html.dark .se-hero-tag {
	background: var(--se-surface-dark);
	color: var(--se-text-muted-dark);
}

.se-hero-visual {
	position: relative;
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	aspect-ratio: 1 / 1;
}

.se-hero-visual-glow {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, rgba(60, 72, 126, 0.3), rgba(60, 72, 126, 0));
	filter: blur(48px);
}

.se-hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	padding: 2rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1.5rem;
	backdrop-filter: blur(10px);
	background: rgba(255, 255, 255, 0.05);
	box-shadow: 0 1.5rem 3.5rem rgba(15, 23, 42, 0.18);
}

.se-hero-grid-item {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 1rem;
	border: 1px solid var(--se-border-light);
	border-radius: 1rem;
	background: #ffffff;
	box-shadow: 0 0.75rem 1.5rem rgba(15, 23, 42, 0.08);
}

html.dark .se-hero-grid-item {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
}

.se-hero-grid-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 0.75rem;
}

.se-hero-grid-inner .material-symbols-outlined {
	font-size: 2rem;
}

.se-hero-grid-item-offset-down {
	margin-top: 1.5rem;
}

.se-hero-grid-item-offset-up {
	margin-top: -1.5rem;
}

.se-hero-grid-item-primary {
	border-color: transparent;
	background: var(--se-primary);
	box-shadow: 0 1rem 2rem rgba(60, 72, 126, 0.2);
}

.se-hero-grid-main {
	background: transparent;
}

.se-hero-grid-blue {
	background: rgba(59, 130, 246, 0.1);
}

.se-hero-grid-green {
	background: rgba(34, 197, 94, 0.1);
}

.se-hero-grid-orange {
	background: rgba(249, 115, 22, 0.1);
}

.se-hero-grid-indigo {
	background: rgba(99, 102, 241, 0.1);
}

.se-hero-grid-red {
	background: rgba(239, 68, 68, 0.1);
}

.se-text-orange {
	color: #f97316;
}

.se-text-indigo {
	color: #6366f1;
}

/* CTA */
.se-cta-section {
	padding-top: 4rem;
	padding-bottom: 4rem;
}

.se-cta-box {
	padding: 2rem;
	border-radius: 1.5rem;
	background: var(--se-primary);
}

.se-cta-icon {
	position: absolute;
	top: 0;
	right: 0;
	padding: 2rem;
	opacity: 0.1;
	line-height: 1;
}

.se-cta-icon .material-symbols-outlined {
	font-size: 160px;
}

.se-cta-content {
	z-index: 1;
}

.se-cta-title {
	font-size: clamp(2rem, 4vw, 2.5rem);
	font-weight: 900;
	line-height: 1.1;
	color: #ffffff;
}

.se-cta-text {
	max-width: 42rem;
	margin-right: auto;
	margin-left: auto;
	font-size: 1.125rem;
	color: rgba(255, 255, 255, 0.8);
}

.se-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 2rem;
	border-radius: 0.75rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.se-cta-btn-light {
	background: #ffffff;
	color: var(--se-primary);
}

.se-cta-btn-light:hover {
	background: #f1f5f9;
	color: var(--se-primary);
}

.se-cta-btn-glass {
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
	backdrop-filter: blur(8px);
}

.se-cta-btn-glass:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

/* Newsletter */
.email-subscription {
	padding: 2.5rem 1rem;
	border-radius: 1rem;
	background-color: #f8fafc !important;
	color: var(--se-text-light);
}

html.dark .email-subscription {
	background-color: var(--se-surface-dark) !important;
	color: var(--se-text-dark);
}

.email-subscription__label {
	margin-bottom: 0;
	font-size: 1rem;
	font-weight: 600;
	color: var(--se-text-light);
}

html.dark .email-subscription__label {
	color: var(--se-text-dark);
}

.email-subscription__content__inputs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.email-subscription input.form-control {
	min-height: 44px;
	border: 1px solid var(--se-border-light);
	border-radius: 0.75rem;
	background: #ffffff;
	color: var(--se-text-light);
}

.email-subscription input.form-control::placeholder {
	color: var(--se-text-muted-light);
}

html.dark .email-subscription input.form-control {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
	color: #ffffff;
	-webkit-text-fill-color: #ffffff;
}

html.dark .email-subscription input.form-control::placeholder {
	color: rgba(241, 245, 249, 0.55);
	-webkit-text-fill-color: rgba(241, 245, 249, 0.55);
}

.email-subscription input.btn.btn-primary {
	min-height: 44px;
	padding-right: 1.25rem;
	padding-left: 1.25rem;
	border: 0;
	border-radius: 0.75rem;
	background: var(--se-primary);
	color: #ffffff;
	font-weight: 700;
}

.email-subscription input.btn.btn-primary:hover {
	opacity: 0.95;
	box-shadow: var(--se-shadow-primary);
}

.email-subscription__content__infos {
	margin-top: 0.75rem;
	font-size: 0.875rem;
}

.email-subscription__content__infos p {
	margin-bottom: 0.5rem;
	color: var(--se-text-muted-light);
}

html.dark .email-subscription__content__infos p {
	color: var(--se-text-muted-dark);
}

.email-subscription .alert {
	margin-top: 0.75rem;
	border-radius: 0.75rem;
}

html.dark .email-subscription .alert-success {
	border-color: rgba(34, 197, 94, 0.25);
	background: rgba(34, 197, 94, 0.12);
	color: #86efac;
}

html.dark .email-subscription .alert-danger {
	border-color: rgba(239, 68, 68, 0.25);
	background: rgba(239, 68, 68, 0.12);
	color: #fca5a5;
}

/* Featured products and cards */
.featured-products {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.featured-products-footer {
	margin-top: 2rem;
}

.featured-products .all-product-link {
	min-height: 44px;
	border-color: var(--se-primary);
	border-radius: 0.75rem;
	color: var(--se-primary);
	font-weight: 700;
}

.featured-products .all-product-link:hover {
	border-color: var(--se-primary);
	background: var(--se-primary);
	color: #ffffff;
}

html.dark .featured-products .all-product-link {
	border-color: var(--se-border-dark);
	background: transparent;
	color: var(--se-text-dark);
}

html.dark .featured-products .all-product-link:hover {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
	color: #ffffff;
}

.card,
.product-miniature .card,
.featured-products .product-miniature,
.featured-products .product,
.featured-products .card {
	border-color: var(--se-border-light);
}

html.dark .card,
html.dark .product-miniature .card,
html.dark .featured-products .product-miniature,
html.dark .featured-products .product,
html.dark .featured-products .card {
	border-color: var(--se-border-dark);
	color: var(--se-text-dark);
}

html.dark .card-body {
	color: var(--se-text-dark);
}

.product-miniature__title,
.product-miniature__title a,
.product-miniature__infos,
.product-miniature__infos__top,
.product-miniature__infos__bottom,
.featured-products .product-title,
.featured-products .product-title a,
.featured-products .product-name {
	color: var(--se-text-light);
}

html.dark .product-miniature__title,
html.dark .product-miniature__title a,
html.dark .product-miniature__infos,
html.dark .product-miniature__infos__top,
html.dark .product-miniature__infos__bottom,
html.dark .featured-products .product-title,
html.dark .featured-products .product-title a,
html.dark .featured-products .product-name {
	color: var(--se-text-dark);
}

.product-miniature__price,
.price,
.featured-products .product-price,
.featured-products .price {
	color: var(--se-primary);
	font-weight: 700;
}

html.dark .product-miniature__price,
html.dark .price,
html.dark .featured-products .product-price,
html.dark .featured-products .price {
	color: #ffffff;
}

.product-flags,
.product-list-reviews,
.comments-nb,
.product-miniature__variants,
.variant-links,
.featured-products .product-description,
.featured-products .product-reference,
.featured-products .product-flags,
.featured-products .variant-links {
	color: var(--se-text-muted-light);
}

html.dark .product-flags,
html.dark .product-list-reviews,
html.dark .comments-nb,
html.dark .product-miniature__variants,
html.dark .variant-links,
html.dark .featured-products .product-description,
html.dark .featured-products .product-reference,
html.dark .featured-products .product-flags,
html.dark .featured-products .variant-links {
	color: var(--se-text-muted-dark);
}

.badge,
.product-flags .badge {
	border: 0;
}

html.dark .product-flags .badge {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.product-miniature .product-miniature__quickview,
.product-miniature .product-miniature__infos__top,
.product-miniature .product-miniature__infos__bottom {
	background-color: #ffffff;
}

html.dark .product-miniature .product-miniature__quickview,
html.dark .product-miniature .product-miniature__infos__top,
html.dark .product-miniature .product-miniature__infos__bottom {
	background-color: var(--se-surface-dark);
}

html.dark .product-miniature .product-miniature__quickview {
	border-bottom: 1px solid var(--se-border-dark);
}

.se-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.5rem;
	border: 1px solid var(--se-border-light);
	border-radius: 0.75rem;
	background: #ffffff;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
}

.se-product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.12);
}

html.dark .se-product-card {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
}

.se-product-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	overflow: hidden;
	border-radius: 0.5rem;
	background: rgba(59, 130, 246, 0.1);
}

.se-product-card__icon-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.se-product-card__icon-fallback {
	font-size: 1.5rem;
	color: #3b82f6;
}

.se-product-card__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.25rem 0.5rem;
	border-radius: 0.375rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.se-product-card__badge--default {
	background: rgba(34, 197, 94, 0.1);
	color: #16a34a;
}

html.dark .se-product-card__badge--default {
	color: #4ade80;
}

.se-product-card__badge--price {
	background: rgba(59, 130, 246, 0.1);
	color: var(--se-primary);
}

html.dark .se-product-card__badge--price {
	color: #cbd5e1;
}

.se-product-card__title {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
}

.se-product-card__title,
.se-product-card__title a {
	color: var(--se-text-light);
}

.se-product-card__title a:hover {
	color: var(--se-primary);
}

html.dark .se-product-card__title,
html.dark .se-product-card__title a {
	color: #ffffff;
}

html.dark .se-product-card__title a:hover {
	color: #cbd5e1;
}

.se-product-card__meta {
	font-size: 0.75rem;
	color: #64748b;
}

.se-product-card__meta span {
	color: var(--se-primary);
	font-weight: 500;
}

html.dark .se-product-card__meta {
	color: var(--se-text-muted-dark);
}

html.dark .se-product-card__meta span {
	color: #cbd5e1;
}

.se-product-card__description {
	font-size: 0.875rem;
	line-height: 1.5;
	color: #475569;
}

html.dark .se-product-card__description {
	color: var(--se-text-muted-dark);
}

.se-product-card__footer {
	border-top: 1px solid #f1f5f9;
}

html.dark .se-product-card__footer {
	border-top-color: var(--se-border-dark);
}

.se-product-card__reviews {
	min-height: 1.25rem;
	color: #94a3b8;
	font-size: 0.75rem;
}

.se-product-card__reviews-icon {
	font-size: 1rem;
	color: #eab308;
}

.se-product-card__reviews .grade-stars,
.se-product-card__reviews .comments-nb {
	display: inline-flex;
	align-items: center;
}

.se-product-card__reviews .comments-nb {
	margin-left: 0.25rem;
	color: #94a3b8;
}

html.dark .se-product-card__reviews .comments-nb {
	color: var(--se-text-muted-dark);
}

.se-product-card__details-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--se-primary);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
	transition: color 0.2s ease, transform 0.2s ease;
}

.se-product-card__details-btn .material-symbols-outlined {
	font-size: 1rem;
	transition: transform 0.2s ease;
}

.se-product-card__details-btn:hover .material-symbols-outlined {
	transform: translateX(4px);
}

html.dark .se-product-card__details-btn,
html.dark .se-product-card__details-btn:hover {
	color: #ffffff;
}

.product-miniature .card {
	border: 0;
	background: transparent;
	box-shadow: none;
}

.product-miniature .product-miniature__quickview,
.product-miniature .product-miniature__quickview_touch,
.product-miniature .product-miniature__variants,
.product-miniature .product-miniature__prices,
.product-miniature .quantity-button {
	display: none !important;
}

/* Product page */
.se-product-page {
	margin-bottom: 4rem;
}

.se-product-hero-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	min-width: 140px;
	min-height: 140px;
	padding: 1.5rem;
	border: 1px solid rgba(60, 72, 126, 0.2);
	border-radius: 1rem;
	background: rgba(60, 72, 126, 0.1);
	box-shadow: inset 0 1px 3px rgba(15, 23, 42, 0.08);
}

.se-product-hero-icon__image {
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
	object-fit: contain;
}

.se-product-hero-icon__fallback {
	font-size: 4.5rem;
	color: var(--se-primary);
}

.se-product-title {
	font-size: clamp(2rem, 4vw, 2.5rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	color: var(--se-text-light);
}

html.dark .se-product-title {
	color: #fff;
}

.se-product-verified {
	font-size: 1.5rem;
	color: #3b82f6;
}

.se-product-subtitle {
	font-size: 1.25rem;
	line-height: 1.65;
	color: #64748b;
}

html.dark .se-product-subtitle {
	color: var(--se-text-muted-dark);
}

.se-product-meta {
	font-size: 0.875rem;
	color: #64748b;
}

html.dark .se-product-meta {
	color: var(--se-text-muted-dark);
}

.se-product-chip,
.se-product-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
}

.se-product-chip {
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--se-border-light);
	border-radius: 0.75rem;
	background: #f8fafc;
}

html.dark .se-product-chip {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
}

.se-product-chip a {
	color: inherit;
	text-decoration: none;
}

.se-product-chip a:hover {
	color: var(--se-primary);
}

.se-product-meta .material-symbols-outlined {
	font-size: 1.125rem;
}

.se-product-meta-item__star {
	color: #eab308;
}

.se-product-nav {
	display: flex;
	gap: 2rem;
	overflow-x: auto;
	padding-top: 1rem;
	border-bottom: 1px solid var(--se-border-light);
	scrollbar-width: none;
}

.se-product-nav::-webkit-scrollbar {
	display: none;
}

html.dark .se-product-nav {
	border-bottom-color: var(--se-border-dark);
}

.se-product-nav__link {
	display: inline-flex;
	align-items: center;
	padding-bottom: 1rem;
	border-bottom: 2px solid transparent;
	color: #64748b;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	white-space: nowrap;
}

.se-product-nav__link:hover,
.se-product-nav__link.is-active {
	color: var(--se-primary);
	border-bottom-color: var(--se-primary);
}

html.dark .se-product-nav__link {
	color: var(--se-text-muted-dark);
}

html.dark .se-product-nav__link:hover,
html.dark .se-product-nav__link.is-active {
	color: #fff;
}

.se-product-gallery .images-container,
.se-product-gallery .product-cover,
.se-product-gallery .js-qv-mask {
	border-radius: 1rem;
}

.se-product-content {
	color: #475569;
}

html.dark .se-product-content {
	color: #cbd5e1;
}

.se-product-content h3,
.se-product-content h4 {
	margin-bottom: 1rem;
	color: var(--se-text-light);
	font-weight: 700;
}

html.dark .se-product-content h3,
html.dark .se-product-content h4 {
	color: #fff;
}

.se-product-panel {
	padding: 2rem;
	border: 1px solid rgba(60, 72, 126, 0.2);
	border-radius: 1rem;
	background: rgba(60, 72, 126, 0.05);
}

html.dark .se-product-panel {
	border-color: var(--se-border-dark);
	background: rgba(255, 255, 255, 0.03);
}

.se-product-panel__title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--se-text-light);
}

html.dark .se-product-panel__title {
	color: #fff;
}

.se-product-panel__title .material-symbols-outlined {
	color: var(--se-primary);
}

.se-product-panel__body,
.se-product-download {
	color: #64748b;
}

html.dark .se-product-panel__body,
html.dark .se-product-download {
	color: #cbd5e1;
}

.se-product-download + .se-product-download {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--se-border-light);
}

html.dark .se-product-download + .se-product-download {
	border-top-color: var(--se-border-dark);
}

.se-product-sidebar {
	top: 7rem;
}

.se-product-sidebar__card {
	overflow: hidden;
	border: 1px solid var(--se-border-light);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 1rem 2.5rem rgba(148, 163, 184, 0.18);
}

html.dark .se-product-sidebar__card {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
	box-shadow: none;
}

.se-product-sidebar__body {
	padding: 2rem;
}

.se-product-sidebar__price .current-price-value,
.se-product-sidebar__price .product-price,
.se-product-sidebar__price .current-price span {
	font-size: 2.25rem;
	font-weight: 800;
	color: var(--se-text-light);
}

html.dark .se-product-sidebar__price .current-price-value,
html.dark .se-product-sidebar__price .product-price,
html.dark .se-product-sidebar__price .current-price span {
	color: #fff;
}

.se-product-sidebar__meta {
	padding-top: 1.5rem;
	border-top: 1px solid #f1f5f9;
}

html.dark .se-product-sidebar__meta {
	border-top-color: var(--se-border-dark);
}

.se-product-sidebar__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.875rem;
	font-weight: 500;
}

.se-product-sidebar__row + .se-product-sidebar__row {
	margin-top: 1rem;
}

.se-product-sidebar__label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: #64748b;
}

html.dark .se-product-sidebar__label {
	color: var(--se-text-muted-dark);
}

.se-product-sidebar__value {
	color: var(--se-text-light);
}

html.dark .se-product-sidebar__value {
	color: #fff;
}

.se-product-sidebar__value a {
	color: inherit;
	text-decoration: none;
}

.se-product-support {
	padding: 1.5rem;
	border: 1px solid var(--se-border-light);
	border-radius: 1rem;
	background: #f8fafc;
}

html.dark .se-product-support {
	border-color: var(--se-border-dark);
	background: rgba(255, 255, 255, 0.03);
}

.se-product-support__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--se-text-light);
}

html.dark .se-product-support__title {
	color: #fff;
}

.se-product-support__link {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--se-primary);
	text-decoration: none;
}

.se-product-support__link:hover {
	color: var(--se-primary);
}

.se-product-support__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 0.5rem;
	background: rgba(60, 72, 126, 0.1);
}

/* Cart and checkout */
.cart-summary,
.cart-summary .card-footer,
.cart-grid__right .cart-summary {
	background: #ffffff;
	border-color: var(--se-border-light);
}

html.dark .cart-summary,
html.dark .cart-summary .card-footer,
html.dark .cart-grid__right .cart-summary {
	background: var(--se-surface-dark);
	border-color: var(--se-border-dark);
	color: var(--se-text-dark);
}

.cart-grid__right .cart-summary {
	border: 1px solid var(--se-border-light);
	border-radius: 1rem;
	box-shadow: var(--se-shadow-card);
	overflow: hidden;
}

html.dark .cart-grid__right .cart-summary {
	box-shadow: none;
}

.cart-grid__right .cart-summary .card-block,
.cart-grid__right .cart-summary .card-footer {
	background: transparent;
	border: 0;
}

.cart-grid__right .cart-summary__line {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
}

.cart-grid__right .cart-summary__label {
	color: #64748b;
	font-weight: 500;
}

.cart-grid__right .cart-summary__value {
	color: var(--se-text-light);
	font-weight: 700;
}

html.dark .cart-grid__right .cart-summary__label {
	color: var(--se-text-muted-dark);
}

html.dark .cart-grid__right .cart-summary__value {
	color: #ffffff;
}

.cart-grid__right .cart-summary__totals {
	margin-top: 0.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--se-border-light);
}

html.dark .cart-grid__right .cart-summary__totals {
	border-top-color: var(--se-border-dark);
}

.cart-grid__right .cart-total .cart-summary__label,
.cart-grid__right .cart-total .cart-summary__value {
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--se-text-light);
}

html.dark .cart-grid__right .cart-total .cart-summary__label,
html.dark .cart-grid__right .cart-total .cart-summary__value {
	color: #ffffff;
}

.cart-grid__right .checkout.card-footer {
	padding-top: 1.25rem;
}

.cart-grid__right .checkout .btn.btn-primary {
	width: 100%;
	min-height: 48px;
	border-radius: 0.75rem;
	font-weight: 700;
}

.cart-grid__right > .h4,
.cart-grid__right > h2 {
	margin-bottom: 1rem;
	color: var(--se-text-light);
}

html.dark .cart-grid__right > .h4,
html.dark .cart-grid__right > h2 {
	color: #ffffff;
}

.cart-grid__right > hr {
	margin: 1.5rem 0;
	border-color: var(--se-border-light);
	opacity: 1;
}

html.dark .cart-grid__right > hr {
	border-color: var(--se-border-dark);
}

.cart-grid__right .blockreassurance_product {
	padding: 1.25rem;
	border: 1px solid var(--se-border-light);
	border-radius: 1rem;
	background: #ffffff;
}

html.dark .cart-grid__right .blockreassurance_product {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
}

.cart-grid__right .blockreassurance_product > div {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.cart-grid__right .blockreassurance_product > div + div {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--se-border-light);
}

html.dark .cart-grid__right .blockreassurance_product > div + div {
	border-top-color: var(--se-border-dark);
}

.cart-grid__right .blockreassurance_product .item-product {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
}

.cart-grid__right .blockreassurance_product .item-product svg {
	width: 56px;
	height: 56px;
}

.cart-grid__right .blockreassurance_product .block-title {
	display: block;
	margin-bottom: 0.25rem;
	font-weight: 700;
	color: var(--se-text-light) !important;
}

.cart-grid__right .blockreassurance_product p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.875rem;
	line-height: 1.5;
}

html.dark .cart-grid__right .blockreassurance_product .block-title {
	color: #ffffff !important;
}

html.dark .cart-grid__right .blockreassurance_product p {
	color: var(--se-text-muted-dark) !important;
}

.address {
	background: #ffffff;
	border: 1px solid var(--se-border-light);
	border-radius: 0.75rem;
}

html.dark .address {
	background: var(--se-surface-dark);
	border-color: var(--se-border-dark);
	color: var(--se-text-dark);
}

/* Customer account */
.page-customer {
	color: var(--se-text-light);
}

html.dark .page-customer {
	color: var(--se-text-dark);
}

.page-header .h4,
.page-header h1 {
	color: var(--se-text-light);
}

html.dark .page-header .h4,
html.dark .page-header h1 {
	color: #ffffff;
}

.customer-link__link,
.customer-link > a {
	text-decoration: none;
}

.customer-link .link-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 64px;
	padding: 1rem 1.25rem;
	border: 1px solid var(--se-border-light);
	border-radius: 1rem;
	background: #ffffff;
	color: var(--se-text-light);
	font-weight: 600;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.customer-link .link-item i,
.customer-link .link-item .material-icons {
	flex: 0 0 auto;
	color: var(--se-primary);
	font-size: 1.25rem;
}

.customer-link__link:hover .link-item,
.customer-link > a:hover .link-item {
	border-color: rgba(60, 72, 126, 0.25);
	box-shadow: var(--se-shadow-soft);
	transform: translateY(-2px);
	color: var(--se-primary);
}

html.dark .customer-link .link-item {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
	color: #ffffff;
}

html.dark .customer-link__link:hover .link-item,
html.dark .customer-link > a:hover .link-item {
	border-color: var(--se-border-dark);
	background: rgba(255, 255, 255, 0.04);
	box-shadow: none;
	color: #ffffff;
}

.customer-link__logout {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
	color: var(--se-text-muted-light);
	text-decoration: none;
	font-weight: 600;
}

.customer-link__logout:hover {
	color: var(--se-primary);
}

html.dark .customer-link__logout {
	color: var(--se-text-muted-dark);
}

html.dark .customer-link__logout:hover {
	color: #ffffff;
}

/* Git downloads */
.gitdownloads-page {
	color: var(--se-text-light);
}

html.dark .gitdownloads-page {
	color: var(--se-text-dark);
}

.gitdownloads-page .card {
	border: 1px solid var(--se-border-light);
	border-radius: 1rem;
	background: #ffffff;
	box-shadow: var(--se-shadow-soft);
}

html.dark .gitdownloads-page .card {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
	box-shadow: none;
}

.gitdownloads-page .card-body {
	padding: 1.5rem;
}

.gitdownloads-page .h5,
.gitdownloads-page h3 {
	color: var(--se-text-light);
	font-weight: 700;
}

html.dark .gitdownloads-page .h5,
html.dark .gitdownloads-page h3 {
	color: #ffffff;
}

.gitdownloads-page .table {
	margin-bottom: 0;
	color: var(--se-text-light);
	--bs-table-bg: transparent;
	--bs-table-striped-bg: transparent;
	--bs-table-hover-bg: rgba(148, 163, 184, 0.06);
	--bs-table-border-color: var(--se-border-light);
}

html.dark .gitdownloads-page .table {
	color: var(--se-text-dark);
	--bs-table-bg: transparent;
	--bs-table-striped-bg: transparent;
	--bs-table-hover-bg: rgba(255, 255, 255, 0.04);
	--bs-table-border-color: var(--se-border-dark);
}

.gitdownloads-page .table thead th {
	color: #64748b;
	font-size: 0.875rem;
	font-weight: 700;
	border-bottom-width: 1px;
	white-space: nowrap;
}

html.dark .gitdownloads-page .table thead th {
	color: var(--se-text-muted-dark);
}

.gitdownloads-page .table tbody td {
	vertical-align: middle;
}

.gitdownloads-page .table > :not(caption) > * > * {
	padding: 1rem 0.75rem;
}

.gitdownloads-page .table-responsive {
	border: 1px solid var(--se-border-light);
	border-radius: 0.75rem;
	overflow: hidden;
	background: #ffffff;
}

html.dark .gitdownloads-page .table-responsive {
	border-color: var(--se-border-dark);
	background: var(--se-surface-dark);
}

.gitdownloads-page .btn.btn-primary.btn-sm {
	min-width: 110px;
	border-radius: 0.65rem;
	font-weight: 700;
}

.gitdownloads-page .btn.btn-primary.btn-sm:hover {
	box-shadow: 0 10px 24px rgba(60, 72, 126, 0.2);
}

.gitdownloads-page .table tbody tr {
	transition: background-color 0.2s ease;
}

/* Mobile menu */
.se-mobile-menu-offcanvas {
	width: 340px;
	max-width: 85vw;
	height: 100vh !important;
	height: 100dvh !important;
	max-height: 100vh !important;
	max-height: 100dvh !important;
	top: 0;
	bottom: 0;
	border-right: 1px solid var(--se-border-light);
	background: #ffffff;
}

html.dark .se-mobile-menu-offcanvas {
	border-right-color: var(--se-border-dark);
	background: var(--se-surface-dark);
	color: var(--se-text-dark);
}

.se-mobile-menu-offcanvas.offcanvas-start {
	display: flex !important;
	flex-direction: column !important;
}

.se-mobile-menu-offcanvas .offcanvas-header {
	flex: 0 0 auto;
	border-bottom: 1px solid var(--se-border-light);
}

html.dark .se-mobile-menu-offcanvas .offcanvas-header {
	border-bottom-color: var(--se-border-dark);
}

.se-mobile-menu-offcanvas .offcanvas-body.se-mobile-menu-body {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding-bottom: 2rem;
}

.se-mobile-menu-offcanvas .main-menu__mobile,
.se-mobile-menu-offcanvas .menu,
.se-mobile-menu-offcanvas .menu--mobile,
.se-mobile-menu-offcanvas .menu--child,
.se-mobile-menu-offcanvas .js-menu-current,
.se-mobile-menu-offcanvas .js-menu-child {
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	overflow: visible !important;
	transform: none !important;
}

.se-mobile-menu-nav,
.se-mobile-menu-list,
.se-mobile-menu-item {
	display: block;
	width: 100%;
}

/* Responsive */
@media (min-width: 576px) {
	.se-hero-search-form {
		min-height: 64px;
	}
}

@media (min-width: 992px) {
	.se-hero-section {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}

	.se-cta-box {
		padding: 4rem;
	}
}

@media (max-width: 767.98px) {
	.email-subscription__content__left {
		margin-bottom: 1rem;
	}

	.email-subscription__content__inputs {
		flex-direction: column;
	}

	.email-subscription input.btn.btn-primary {
		width: 100%;
	}

	.se-hero-visual {
		max-width: 100%;
	}

	.se-hero-grid {
		gap: 0.75rem;
		padding: 1rem;
	}

	.se-hero-grid-item {
		padding: 0.75rem;
	}

	.se-hero-grid-item-offset-down {
		margin-top: 0.75rem;
	}

	.se-hero-grid-item-offset-up {
		margin-top: -0.75rem;
	}
}

/* Reassurance block */
.blockreassurance_product{
	display:flex;
	flex-direction:column;
	gap:1rem;
	padding:1.25rem;
	border:1px solid var(--se-border-light);
	border-radius:1rem;
	background:#ffffff;
}

html.dark .blockreassurance_product{
	border-color:var(--se-border-dark);
	background:var(--se-surface-dark);
}

.blockreassurance_product > div{
	display:flex;
	align-items:flex-start;
	gap:1rem;
}

.blockreassurance_product > div + div{
	padding-top:1rem;
	border-top:1px solid var(--se-border-light);
}

html.dark .blockreassurance_product > div + div{
	border-top-color:var(--se-border-dark);
}

.blockreassurance_product .item-product{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:56px;
	height:56px;
}

.blockreassurance_product .item-product svg{
	width:56px;
	height:56px;
}

.blockreassurance_product .block-title{
	display:block;
	margin-bottom:.25rem;
	color:var(--se-text-light) !important;
	font-weight:700;
	line-height:1.35;
}

html.dark .blockreassurance_product .block-title{
	color:#ffffff !important;
}

.blockreassurance_product p{
	margin:0;
	color:#64748b !important;
	font-size:.875rem;
	line-height:1.55;
}

html.dark .blockreassurance_product p{
	color:var(--se-text-muted-dark) !important;
}

.blockreassurance_product a{
	color:inherit;
	text-decoration:none;
}

.blockreassurance_product a:hover{
	color:var(--se-primary);
}

html.dark .blockreassurance_product a:hover{
	color:#ffffff;
}


/* Product features */
.product__details,
.product__features{
	background:#ffffff !important;
}

html.dark .product__details,
html.dark .product__features{
	background:var(--se-surface-dark) !important;
}

#product-features-collapse .accordion-body{
	padding:1.25rem;
	background:transparent !important;
	border:1px solid var(--se-border-light);
	border-radius:0.75rem;
}

html.dark #product-features-collapse .accordion-body{
	border-color:var(--se-border-dark);
	background:transparent !important;
}

.product__features{
	list-style:none;
	margin:0;
	padding:0;
	border-radius:0.75rem;
}

.product__features .detail{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:1rem;
	border-bottom:1px solid var(--se-border-light);
}

.product__features .detail:last-child{
	border-bottom:none;
}

html.dark .product__features .detail{
	border-bottom-color:var(--se-border-dark);
}

.product__features .detail__title{
	font-weight:600;
	color:var(--se-text-light) !important;
}

html.dark .product__features .detail__title{
	color:#ffffff !important;
}

.product__features .detail__right,
.product__features .detail__right span{
	color:#64748b !important;
	text-align:right;
}

html.dark .product__features .detail__right,
html.dark .product__features .detail__right span{
	color:var(--se-text-muted-dark) !important;
}

/* Product image modal opener */
.page-product .product__images__modal-opener{
	align-items:center;
	background-color:#ffffff;
	border:none;
	border-radius:50%;
	bottom:.635rem;
	box-shadow:.125rem -.125rem .25rem 0 rgba(0,0,0,.2);
	cursor:pointer;
	display:flex;
	height:2.5rem;
	justify-content:center;
	min-width:2.5rem;
	position:absolute;
	right:.635rem;
	width:2.5rem;
	z-index:10;
}

/* Dark mode */
html.dark .page-product .product__images__modal-opener{
	background-color:var(--se-surface-dark) !important;
	box-shadow:0 0 0 1px var(--se-border-dark), 0 .25rem .5rem rgba(0,0,0,.4);
}

/* Icon color */
.page-product .product__images__modal-opener i,
.page-product .product__images__modal-opener svg,
.page-product .product__images__modal-opener .material-icons{
	color:var(--se-text-light);
}

html.dark .page-product .product__images__modal-opener i,
html.dark .page-product .product__images__modal-opener svg,
html.dark .page-product .product__images__modal-opener .material-icons{
	color:var(--se-text-dark);
}

/* Hover */
.page-product .product__images__modal-opener:hover{
	background:var(--se-primary);
}

.page-product .product__images__modal-opener:hover i,
.page-product .product__images__modal-opener:hover svg,
.page-product .product__images__modal-opener:hover .material-icons{
	color:#ffffff;
}

html.dark .page-product .product__images__modal-opener:hover{
	background:var(--se-primary);
}