:root { --drc-black:        #0a0a0a;
--drc-dark:         #111111;
--drc-dark-2:       #1c1c1c;
--drc-green:        #28cc28;
--drc-green-neon:   #3dff3d;
--drc-green-glow:   rgba(40,204,40,.12);
--drc-white:        #ffffff;
--drc-gray:         #f4f4f4;
--drc-text:         #1a1a1a;
--drc-text-muted:   #888888;
--drc-border:       #e5e5e5;
--drc-border-dark:  #2a2a2a; --mol-green:   #192f1e;
--mol-purple:  #1a0f40;
--mol-teal:    #0a2420;
--mol-amber:   #2c1500;
--mol-pink:    #2c0018; --font-heading: 'Barlow Condensed', sans-serif;
--font-body:    'Inter', system-ui, -apple-system, sans-serif; --container:  1600px;
--topbar-h:   34px;
--navbar-h:   72px;
--radius-sm:  4px;
--radius:     8px;
--radius-lg:  12px;
--radius-xl:  24px;
} *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
html {
overflow-x: clip;
}
body {
font-family: var(--font-body);
font-size: 15px;
line-height: 1.6;
color: var(--drc-text);
background: var(--drc-white);
-webkit-font-smoothing: antialiased;
overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
ul { list-style: none; } .container {
max-width: var(--container);
margin: 0 auto;
padding: 0 1.5rem;
} .btn {
display: inline-flex;
align-items: center;
gap: .4rem;
padding: .7rem 1.5rem;
border-radius: var(--radius);
font-family: var(--font-body);
font-size: .8rem;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
text-decoration: none;
transition: all .2s;
border: 2px solid transparent;
cursor: pointer;
white-space: nowrap;
}
.btn--primary {
background: var(--drc-green);
color: var(--drc-black);
border-color: var(--drc-green);
}
.btn--primary:hover {
background: #23b523;
border-color: #23b523;
color: var(--drc-white);
box-shadow: 0 4px 20px rgba(40,204,40,.35);
}
.btn--outline {
background: transparent;
color: var(--drc-white);
border-color: rgba(255,255,255,.45);
}
.btn--outline:hover {
border-color: var(--drc-green);
color: var(--drc-green);
background: transparent;
}
.btn--green-outline {
background: transparent;
color: var(--drc-green);
border-color: var(--drc-green);
}
.btn--green-outline:hover {
background: var(--drc-green);
color: var(--drc-black);
}
.btn--dark-outline {
background: transparent;
color: var(--drc-white);
border-color: rgba(255,255,255,.25);
}
.btn--dark-outline:hover {
background: rgba(255,255,255,.1);
border-color: rgba(255,255,255,.6);
} .sec-header { text-align: center; margin-bottom: 2.5rem; }
.sec-title {
font-family: var(--font-heading);
font-size: clamp(1.4rem, 3vw, 2rem);
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
color: var(--drc-text);
display: flex;
flex-direction: column;
align-items: center;
gap: .5rem;
}
.sec-title__bar {
display: block;
width: 40px;
height: 3px;
background: var(--drc-green);
border-radius: 2px;
} .stars {
display: inline-flex;
gap: 1px;
color: var(--drc-green);
}.woocommerce-message,
.woocommerce-store-notice,
.demo_store,
p.demo_store {
display: none !important;
}
.woocommerce-notices-wrapper:empty { display: none !important; }
.topbar {
background: var(--drc-black);
border-bottom: 1px solid #1a1a1a;
height: var(--topbar-h);
display: flex;
align-items: center;
overflow-x: auto;
scrollbar-width: none;
}
.topbar::-webkit-scrollbar { display: none; }
.topbar .container { overflow: visible; width: 100%; }
.topbar__items {
display: flex;
align-items: center;
justify-content: space-around;
gap: 1.2rem;
list-style: none;
white-space: nowrap;
margin: 0;
padding: 0;
width: 100%;
}
.topbar__item {
display: flex;
align-items: center;
gap: .35rem;
font-size: .68rem;
font-weight: 600;
letter-spacing: .07em;
text-transform: uppercase;
color: #999999;
}
.topbar__item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--drc-green);
}
.topbar__stars {
display: inline-flex;
gap: 1px;
color: var(--drc-green);
font-size: .75rem;
}
.topbar__score {
color: var(--drc-green);
font-weight: 800;
}
.topbar__sep {
color: #2a2a2a;
font-size: .7rem;
} .site-header {
background: var(--drc-dark);
border-bottom: 1px solid var(--drc-border-dark);
position: sticky;
top: 0;
z-index: 100;
}
.site-header__inner {
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 2rem;
height: var(--navbar-h);
} .site-header__logo,
.custom-logo-link {
display: flex;
align-items: center;
flex-shrink: 0;
text-decoration: none;
}
.site-header__logo img,
.site-header__logo .custom-logo {
height: 52px;
width: auto;
object-fit: contain;
display: block;
}
.site-header__logo-text {
font-family: var(--font-heading);
font-size: 1.25rem;
font-weight: 800;
letter-spacing: .08em;
text-transform: uppercase;
color: var(--drc-white);
}
.site-header__logo-text .logo-dr { color: var(--drc-green); } .primary-nav { display: flex; justify-content: center; align-items: center; }
.primary-nav .menu {
display: flex;
align-items: center;
gap: .25rem;
list-style: none;
margin: 0;
padding: 0;
}
.primary-nav .menu-item > a {
display: flex;
align-items: center;
gap: .3rem;
padding: .5rem 1rem;
font-size: .84rem;
font-weight: 700;
letter-spacing: .05em;
text-transform: uppercase;
color: #aaaaaa;
border-radius: var(--radius-sm);
transition: color .2s, background .2s;
text-decoration: none;
white-space: nowrap;
}
.primary-nav .menu-item > a:hover,
.primary-nav .menu-item.current-menu-item > a,
.primary-nav .menu-item.current_page_item > a {
color: var(--drc-white);
background: rgba(255,255,255,.06);
}
.primary-nav .menu-item-has-children > a::after {
content: '\203A';
font-size: .85rem;
opacity: .65;
margin-left: .15rem;
transform: rotate(90deg);
display: inline-block;
line-height: 1;
} .primary-nav .menu-item-has-children {
position: relative;
}
.primary-nav .sub-menu {
display: none;
position: absolute;
top: calc(100% + 4px);
left: 0;
min-width: 200px;
background: #161616;
border: 1px solid var(--drc-border-dark);
border-radius: var(--radius);
padding: .4rem 0;
z-index: 200;
box-shadow: 0 12px 40px rgba(0,0,0,.6);
list-style: none;
}
.primary-nav .menu-item-has-children:hover > .sub-menu,
.primary-nav .menu-item-has-children:focus-within > .sub-menu {
display: block;
}
.primary-nav .sub-menu .menu-item > a {
display: block;
padding: .5rem 1rem;
font-size: .72rem;
font-weight: 600;
letter-spacing: .05em;
text-transform: uppercase;
color: rgba(255,255,255,.5);
white-space: nowrap;
border-radius: 0;
transition: color .15s, background .15s;
text-decoration: none;
}
.primary-nav .sub-menu .menu-item > a:hover {
color: var(--drc-white);
background: rgba(255,255,255,.06);
} .nav-fallback {
display: flex;
align-items: center;
gap: .1rem;
list-style: none;
}
.nav-fallback a {
display: block;
padding: .5rem .7rem;
font-size: .75rem;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
color: #aaaaaa;
border-radius: var(--radius-sm);
transition: color .2s, background .2s;
}
.nav-fallback a:hover { color: var(--drc-white); background: rgba(255,255,255,.06); } .header-actions {
display: flex;
align-items: center;
gap: .2rem;
flex-shrink: 0;
}
.header-action-btn {
display: flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: var(--radius);
color: #999999;
background: transparent;
border: none;
transition: color .2s, background .2s;
cursor: pointer;
text-decoration: none;
position: relative;
}
.header-action-btn:hover { color: var(--drc-white); background: rgba(255,255,255,.07); }
.header-action-btn svg { width: 20px; height: 20px; } .header-cart__badge {
position: absolute;
top: 3px;
right: 3px;
min-width: 16px;
height: 16px;
background: var(--drc-green);
color: var(--drc-black);
font-size: .58rem;
font-weight: 800;
border-radius: 99px;
display: flex;
align-items: center;
justify-content: center;
padding: 0 3px;
line-height: 1;
} .prefooter-services {
background: var(--drc-dark);
padding: 1.25rem 0;
border-top: 1px solid var(--drc-border-dark);
border-bottom: 1px solid var(--drc-border-dark);
}
.prefooter-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1rem;
}
.service-item {
display: flex;
align-items: flex-start;
gap: .75rem;
}
.service-icon {
width: 34px;
height: 34px;
flex-shrink: 0;
color: var(--drc-green);
}
.service-icon svg { width: 100%; height: 100%; }
.service-title {
font-size: .72rem;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
color: var(--drc-white);
margin-bottom: .2rem;
}
.service-desc {
font-size: .68rem;
color: rgba(255,255,255,.4);
line-height: 1.4;
}
.site-footer {
background: var(--drc-black);
padding: 3rem 0 1.5rem;
}
.site-footer__inner {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr;
gap: 3rem;
margin-bottom: 2.5rem;
}
.site-footer__logo-text {
font-family: var(--font-heading);
font-size: 1.2rem;
font-weight: 800;
letter-spacing: .07em;
text-transform: uppercase;
color: var(--drc-white);
display: inline-block;
margin-bottom: 1rem;
}
.site-footer__logo-wrap img { height: 34px; width: auto; margin-bottom: 1rem; }
.site-footer__tagline {
font-size: .78rem;
color: rgba(255,255,255,.38);
line-height: 1.7;
max-width: 280px;
}
.site-footer__nav-title {
font-size: .68rem;
font-weight: 800;
letter-spacing: .1em;
text-transform: uppercase;
color: rgba(255,255,255,.4);
margin-bottom: .8rem;
}
.site-footer__nav .menu { display: flex; flex-direction: column; gap: .35rem; }
.site-footer__nav .menu a {
font-size: .78rem;
color: rgba(255,255,255,.4);
transition: color .2s;
}
.site-footer__nav .menu a:hover { color: var(--drc-white); }
.site-footer__bottom {
border-top: 1px solid #1a1a1a;
padding-top: 1.25rem;
text-align: center;
}
.site-footer__bottom p {
font-size: .72rem;
color: rgba(255,255,255,.25);
} .drc-nav-details { display: none; }  .screen-reader-text {
position: absolute !important;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.drc-search { position: relative; } .drc-search__toggle { list-style: none; }
.drc-search__toggle::-webkit-details-marker { display: none; }
.drc-search__toggle::marker { content: ''; }
.drc-search__panel {
position: absolute;
top: calc(100% + .6rem);
right: 0;
z-index: 60;
width: min(360px, calc(100vw - 2rem));
padding: .9rem;
background: var(--drc-dark-2);
border: 1px solid var(--drc-border-dark);
border-radius: var(--radius);
box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
} .drc-search-form { margin: 0; }
.drc-search-form__row {
display: flex;
align-items: stretch;
gap: .4rem;
}
.drc-search-form__input {
flex: 1 1 auto;
min-width: 0;
padding: .6rem .8rem;
font-size: .9rem;
color: #fff;
background: rgba(255, 255, 255, .05);
border: 1px solid var(--drc-border-dark);
border-radius: var(--radius-sm);
}
.drc-search-form__input::placeholder { color: #7d848c; }
.drc-search-form__input:focus {
outline: none;
border-color: var(--drc-green);
background: rgba(255, 255, 255, .08);
}
.drc-search-form__submit {
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
width: 42px;
color: #0a0a0a;
background: var(--drc-green);
border: none;
border-radius: var(--radius-sm);
cursor: pointer;
transition: background .2s;
}
.drc-search-form__submit:hover { background: var(--drc-green-neon); }
.drc-search-form__submit svg { width: 18px; height: 18px; }
.drc-search-form__hint {
margin: .55rem 0 0;
font-size: .78rem;
color: #ffb4b4;
}
.drc-search-form__hint[hidden] { display: none; }.prefooter-services {
background: var(--drc-dark);
border-top: 1px solid var(--drc-border-dark);
padding: 2.2rem 0;
}
.prefooter-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.5rem;
}
.service-item {
display: flex;
align-items: center;
gap: .85rem;
}
.service-icon {
flex: 0 0 auto;
width: 46px;
height: 46px;
display: grid;
place-items: center;
border-radius: 50%;
background: var(--drc-green-glow);
border: 1px solid rgba(40, 204, 40, .35);
}
.service-icon svg {
width: 22px;
height: 22px;
color: var(--drc-green);
}
.service-title {
font-family: var(--font-heading);
text-transform: uppercase;
letter-spacing: .04em;
font-size: .95rem;
color: #fff;
line-height: 1.1;
margin-bottom: .15rem;
}
.service-desc {
font-size: .8rem;
color: #9aa1a9;
line-height: 1.35;
} .site-footer {
background: var(--drc-black);
color: #c8ced6;
padding: 3rem 0 1.5rem;
border-top: 1px solid var(--drc-border-dark);
}
.site-footer__inner {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 2.5rem;
padding-bottom: 2.5rem;
border-bottom: 1px solid var(--drc-border-dark);
}
.site-footer__logo-wrap img,
.site-footer__logo-text img { height: 52px; width: auto; }
.site-footer__logo-text {
font-family: var(--font-heading);
text-transform: uppercase;
font-size: 1.8rem;
font-weight: 700;
letter-spacing: .04em;
color: #fff;
}
.site-footer__tagline {
margin-top: 1rem;
max-width: 360px;
font-size: .88rem;
line-height: 1.6;
color: #9aa1a9;
}
.site-footer__nav-title {
font-family: var(--font-heading);
text-transform: uppercase;
letter-spacing: .05em;
font-size: 1.05rem;
color: #fff;
margin-bottom: 1rem;
position: relative;
padding-bottom: .6rem;
}
.site-footer__nav-title::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 32px;
height: 2px;
background: var(--drc-green);
border-radius: 2px;
}
.site-footer__nav .menu {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: .55rem;
}
.site-footer__nav .menu a {
color: #b5bcc4;
font-size: .9rem;
transition: color .18s, padding-left .18s;
}
.site-footer__nav .menu a:hover {
color: var(--drc-green);
padding-left: .35rem;
}
.site-footer__bottom {
padding-top: 1.5rem;
text-align: center;
font-size: .82rem;
color: #7d848c;
} @media (max-width: 900px) {
.prefooter-grid { grid-template-columns: 1fr 1fr; }
.site-footer__inner { grid-template-columns: 1fr 1fr; gap: 1.8rem; }
.site-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
.prefooter-grid { grid-template-columns: 1fr; }
.site-footer__inner { grid-template-columns: 1fr; }
.site-footer__tagline { max-width: none; }
}.hero {
background: var(--drc-black);
position: relative;
overflow: hidden;
min-height: calc(100vh - var(--topbar-h) - var(--navbar-h));
min-height: calc(100dvh - var(--topbar-h) - var(--navbar-h));
display: flex;
flex-direction: column;
} .hero__bg {
position: absolute;
inset: 0;
z-index: 0;
}
.hero__bg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: right center;
display: block;
}
.hero__bg-fallback {
width: 100%;
height: 100%;
background: var(--drc-black);
} .hero__overlay {
position: absolute;
inset: 0;
z-index: 1;
background: linear-gradient(
to right,
rgba(10,10,10,.96) 0%,
rgba(10,10,10,.82) 38%,
rgba(10,10,10,.45) 62%,
transparent 82%
);
} .hero__body {
position: relative;
z-index: 2;
flex: 1;
display: flex;
align-items: center;
padding: 3.5rem 0 2.5rem;
}
.hero__content { max-width: 560px; }
.hero__title {
font-family: var(--font-heading);
font-size: clamp(3rem, 5.5vw, 5.2rem);
font-weight: 800;
line-height: 1.0;
letter-spacing: .02em;
text-transform: uppercase;
color: var(--drc-white);
margin-bottom: 1.25rem;
}
.hero__title-accent {
display: block;
color: var(--drc-green);
white-space: nowrap;
}
.hero__desc {
font-size: 1.05rem;
color: rgba(255,255,255,.58);
line-height: 1.75;
margin-bottom: 2rem;
max-width: 460px;
}
.hero__ctas {
display: flex;
gap: .9rem;
flex-wrap: wrap;
}
.hero__ctas .btn { border-radius: 999px; } .hero__trust-bar {
position: relative;
z-index: 2;
background: rgba(0, 0, 0, .60);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border-top: 1px solid rgba(255,255,255,.08);
padding: 1.25rem 0;
width: 1600px;
align-self: center;
margin-bottom: 1rem;
border-radius: 15px;
}
.hero__trust {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1rem;
}
.hero__trust-item {
display: flex;
align-items: flex-start;
gap: .65rem;
}
.hero__trust-item svg {
width: 26px;
height: 26px;
flex-shrink: 0;
color: var(--drc-green);
margin-top: .1rem;
}
.hero__trust-item strong {
display: block;
font-size: .73rem;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase;
color: var(--drc-white);
margin-bottom: .15rem;
}
.hero__trust-item span {
font-size: .68rem;
color: rgba(255,255,255,.42);
line-height: 1.4;
} .molecules-section {
padding: 2rem 0;
background: var(--drc-gray);
}
.molecules-note {
font-size: .85rem;
color: var(--drc-text-muted);
margin-top: .75rem;
max-width: 480px;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.molecules-grid {
display: grid; grid-template-columns: repeat(var(--mol-cols, 5), 1fr);
gap: 1rem;
}
.mol-card {
position: relative;
border-radius: var(--radius-lg);
padding: 0;
display: flex;
flex-direction: column;
min-height: 290px;
overflow: hidden;
transition: transform .2s, box-shadow .2s;
background-color: var(--drc-dark);
background-size: cover;
background-position: center;
}
.mol-card:hover {
transform: translateY(-4px);
box-shadow: 0 16px 40px rgba(0,0,0,.4);
} .mol-card__content {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
flex: 1;
padding: 1.25rem 1.25rem 1.25rem;
background: linear-gradient(to bottom, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 50%, rgba(0,0,0,.65) 100%);
min-height: 290px;
}
.mol-card__top {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: .5rem;
margin-bottom: .65rem;
}
.mol-card__badge {
display: inline-block;
padding: .2rem .6rem;
border-radius: var(--radius-xl);
font-size: .58rem;
font-weight: 800;
letter-spacing: .08em;
text-transform: uppercase;
white-space: nowrap;
flex-shrink: 0;
align-self: flex-start;
}
.badge--classique      { background: var(--drc-green); color: var(--drc-black); }
.badge--nouveaute      { background: #7c3aed; color: #fff; }
.badge--puissant       { background: #ea7316; color: #fff; }
.badge--tres-puissant  { background: #dc2626; color: #fff; }
.mol-card__name {
font-family: var(--font-heading);
font-size: 1.5rem;
font-weight: 600;
letter-spacing: .03em;
text-transform: uppercase;
color: var(--drc-white);
line-height: 1.1;
}
.mol-card__desc {
font-size: 1rem;
color: rgb(255,255,255);
line-height: 1.55;
flex: 1;
margin-bottom: 1rem;
margin-top: 1rem;
}
.mol-card__link {
display: inline-flex;
align-items: center;
gap: .3rem;
padding: .45rem 1rem;
border: 1px solid rgba(255,255,255,.30);
border-radius: var(--radius);
font-size: .7rem;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
color: var(--drc-white);
text-decoration: none;
transition: background .2s, border-color .2s;
width: fit-content;
margin-top: auto;
}
.mol-card__link:hover {
background: rgba(255,255,255,.1);
border-color: rgba(255,255,255,.5);
} .categories-section {
padding: 0 0 2rem 0;
background: var(--drc-gray);
}
.categories-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 1rem;
text-align: center;
max-width: var(--container);
margin: 0 auto;
border: 1px solid var(--drc-border);
border-radius: 15px;
background: var(--drc-white);
padding: 1.5rem 2rem;
}
.categories-grid--3 {
grid-template-columns: repeat(3, 1fr);
max-width: 680px;
} .blog-preview-section {
padding: 3.2rem 0 2.4rem;
}
.blog-preview-section .sec-header { margin-bottom: 2rem; }
.blog-preview-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.25rem;
margin-bottom: 2rem;
}
.blog-preview-card {
display: flex;
flex-direction: column;
background: var(--drc-dark);
border: 1px solid var(--drc-border-dark);
border-radius: 14px;
overflow: hidden;
transition: border-color .2s, transform .2s, box-shadow .2s;
}
.blog-preview-card:hover {
border-color: var(--drc-green);
transform: translateY(-4px);
box-shadow: 0 14px 34px rgba(0, 0, 0, .45);
}
.blog-preview-card__img {
position: relative;
display: block;
aspect-ratio: 16 / 9;
overflow: hidden;
background: var(--drc-black);
}
.blog-preview-card__img img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform .35s ease;
}
.blog-preview-card:hover .blog-preview-card__img img { transform: scale(1.06); }
.blog-preview-card__img-placeholder {
width: 100%;
height: 100%;
display: grid;
place-items: center;
background: radial-gradient(70% 70% at 50% 40%, #14181d, var(--drc-dark));
color: #8d939a;
font-family: var(--font-heading);
text-transform: uppercase;
padding: 1rem;
text-align: center;
}
.blog-preview-card__body {
display: flex;
flex-direction: column;
gap: .5rem;
padding: 1rem 1.1rem 1.2rem;
flex: 1;
}
.blog-preview-card__date {
font-size: .72rem;
color: var(--drc-green);
font-weight: 600;
text-transform: uppercase;
letter-spacing: .05em;
}
.blog-preview-card__title {
font-family: var(--font-heading);
text-transform: uppercase;
font-size: 1.1rem;
line-height: 1.2;
color: #fff;
flex: 1;
}
.blog-preview-card__title a { color: inherit; }
.blog-preview-card__title a:hover { color: var(--drc-green); }
.blog-preview-card__link {
font-size: .78rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .03em;
color: var(--drc-green);
margin-top: .3rem;
}
.blog-preview-card__link:hover { color: var(--drc-green-neon); }
.blog-preview-cta {
text-align: center;
}
.cat-item {
display: flex;
flex-direction: column;
align-items: center;
gap: .55rem;
text-decoration: none;
min-width: 78px;
transition: transform .2s;
}
.cat-item:hover { transform: translateY(-2px); }
.cat-item:hover .cat-icon {
border-color: var(--drc-green);
color: var(--drc-green);
}
.cat-item:hover .cat-label { color: var(--drc-green); } .cat-item--na { cursor: default; }
.cat-item--na:hover { transform: none; }
.cat-item--na:hover .cat-icon { border-color: var(--drc-border); color: inherit; }
.cat-item--na:hover .cat-label { color: inherit; }
.cat-icon {
width: 68px;
height: 68px;
border: 1.5px solid var(--drc-border);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
color: var(--drc-green-neon);
transition: border-color .2s, color .2s;
background: var(--drc-white);
}
.cat-icon svg { width: 34px; height: 34px; }
.cat-label {
font-size: .75rem;
font-weight: 800;
letter-spacing: .06em;
text-transform: uppercase;
color: var(--drc-text);
text-align: center;
line-height: 1.3;
transition: color .2s;
} .best-sellers-section {
padding: 0 0 2rem 0;
background: var(--drc-gray);
}
.bs-header {
position: relative;
margin-bottom: 2rem;
}
.best-sellers-nav {
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
display: flex;
gap: .4rem;
}
.swiper-btn {
width: 36px;
height: 36px;
border-radius: 50%;
border: 1.5px solid var(--drc-border);
background: var(--drc-white);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
color: var(--drc-text);
transition: background .2s, border-color .2s, color .2s;
}
.swiper-btn:hover {
background: var(--drc-text);
border-color: var(--drc-text);
color: var(--drc-white);
}
.swiper-btn svg { width: 15px; height: 15px; } .best-sellers-swiper { overflow: hidden; }
.best-sellers-swiper .swiper-slide { height: auto; }
.product-card {
background: var(--drc-white);
border-radius: var(--radius-lg);
overflow: hidden;
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
transition: box-shadow .2s, transform .2s;
}
.product-card:hover {
box-shadow: 0 8px 28px rgba(0,0,0,.1);
transform: translateY(-3px);
}
.product-card__link {
display: block;
flex-shrink: 0;
}
.product-card__name-link {
text-decoration: none;
color: inherit;
}
.product-card__name-link:hover .product-card__name {
color: var(--drc-green);
}
.product-card__cta {
display: flex;
align-items: center;
justify-content: center;
gap: .45rem;
width: 100%;
margin-top: auto;
padding: .65rem 1rem;
border: none;
border-radius: 8px;
background: var(--drc-green);
color: #06210a;
font-family: var(--font-heading);
font-weight: 700;
text-transform: uppercase;
letter-spacing: .04em;
font-size: .82rem;
cursor: pointer;
text-decoration: none;
transition: background .18s ease, box-shadow .18s ease;
}
.product-card__cta svg { width: 17px; height: 17px; flex-shrink: 0; }
.product-card__cta:hover {
background: var(--drc-green-neon, #3dff3d);
box-shadow: 0 4px 16px rgba(40,204,40,.3);
}
.product-card__cta.is-loading { opacity: .65; pointer-events: none; }
.product-card__cta.is-added { background: #1aa01a; }
.product-card__cta--see {
background: transparent;
border: 1px solid var(--drc-green);
color: var(--drc-green);
}
.product-card__cta--see:hover {
background: var(--drc-green);
color: #06210a;
box-shadow: none;
}
.product-card__img-wrap {
position: relative;
background: #f5f5f5;
aspect-ratio: 1;
overflow: hidden;
}
.product-card__img-wrap img {
width: 100%;
height: 100%;
object-fit: contain;
padding: 1rem;
}
.product-card__badge {
position: absolute;
top: .6rem;
left: .6rem;
padding: .2rem .5rem;
border-radius: var(--radius-sm);
font-size: .58rem;
font-weight: 800;
letter-spacing: .07em;
text-transform: uppercase;
}
.product-card__cat-badge {
position: absolute;
top: 5px;
left: 5px;
right: auto;
max-width: 58%;
padding: .22rem .55rem;
border-radius: var(--radius-sm);
font-size: .56rem;
font-weight: 800;
letter-spacing: .05em;
text-transform: uppercase;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #fff;
z-index: 4;
box-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.badge-new          { background: #7c3aed; color: #fff; }
.badge-powerful     { background: #ea7316; color: #fff; }
.badge-bestseller   { background: var(--drc-green); color: var(--drc-black); }
.badge-very-powerful { background: #dc2626; color: #fff; }
.cat-badge-flower   { background: #3a9d23; }
.cat-badge-resin    { background: #8b5a2b; }
.cat-badge-gummies  { background: #c73766; }
.cat-badge-oil      { background: #246a8d; }
.cat-badge-vape     { background: #5753d0; }
.cat-badge-liquid   { background: #0e8a73; }
.cat-badge-default  { background: #4a4a4a; }
.product-card__body {
padding: 1rem;
display: flex;
flex-direction: column;
flex: 1;
gap: .2rem;
}
.product-card__name {
font-size: 1.02rem;
font-weight: 700;
color: var(--drc-text);
line-height: 1.2;
}
.product-card__subtitle {
font-size: .98rem;
font-weight: 500;
color: var(--drc-text);
line-height: 1.2;
margin-bottom: .15rem;
}
.product-card__stars {
display: flex;
align-items: center;
gap: .3rem;
}
.product-card__stars .stars {
display: inline-flex;
gap: 1px;
line-height: 1;
}
.product-card__stars .star {
font-size: .86rem;
color: #d9d9d9;
position: relative;
}
.product-card__stars .star.is-full {
color: var(--drc-green);
}
.product-card__stars .star.is-half {
color: #d9d9d9;
}
.product-card__stars .star.is-half::before {
content: '★';
position: absolute;
top: 0;
left: 0;
width: 50%;
overflow: hidden;
color: var(--drc-green);
}
.product-card__review-count { font-size: .74rem; color: var(--drc-text-muted); }
.product-card__price {
font-family: var(--font-heading);
font-size: 2rem;
font-weight: 700;
color: var(--drc-text);
margin-top: .15rem;
line-height: 1;
}
.product-card__price .woocommerce-Price-amount { color: inherit; } .labo-quiz-section {
padding: 0 0 2rem 0;
background: var(--drc-gray);
}
.labo-quiz-grid {
display: grid;
grid-template-columns: 3fr 2fr;
gap: 1.25rem;
align-items: stretch;
}
.lq-card {
border-radius: var(--radius-lg);
padding: 1.25rem 1.5rem;
display: flex;
flex-direction: column;
height: 300px;
overflow: hidden;
} .lq-card--labo {
background-color: var(--drc-dark);
background-image:
linear-gradient(to right, transparent 30%, var(--drc-dark) 58%), var(--drc-labo-bg, none);
background-size: auto 100%, auto 100%;
background-repeat: no-repeat, no-repeat;
background-position: left center, left center;
color: var(--drc-white);
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-end;
padding: 0;
overflow: hidden;
}
.lq-card__labo-text {
display: flex;
flex-direction: column;
justify-content: flex-start;
gap: .4rem;
padding: 1.25rem 1.5rem;
width: 58%;
height: 100%;
}
.lq-card__labo-text .btn { margin-top: auto; }
.lq-card__overline {
font-size: .65rem;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
color: var(--drc-green);
margin-bottom: .25rem;
}
.lq-card__title {
font-family: var(--font-heading);
font-size: clamp(1rem, 2vw, 1.5rem);
font-weight: 800;
letter-spacing: .03em;
text-transform: uppercase;
line-height: 1.15;
margin-bottom: .35rem;
color: var(--drc-white);
}
.lq-card__desc {
font-size: .8rem;
line-height: 1.55;
color: rgba(255,255,255,.5);
margin-bottom: .5rem;
} .lq-card--quiz {
background: var(--drc-dark-2);
color: var(--drc-white);
justify-content: flex-start;
}
.lq-card--quiz .btn { margin-top: auto; }
.quiz-checks {
display: grid;
grid-template-columns: 1fr 1fr;
gap: .35rem .75rem;
margin-bottom: .75rem;
}
.quiz-check {
display: flex;
align-items: center;
gap: .45rem;
font-size: .76rem;
color: rgba(255,255,255,.7);
}
.quiz-check::before {
content: '✓';
width: 17px;
height: 17px;
border-radius: 4px;
background: rgba(40,204,40,.15);
border: 1px solid rgba(40,204,40,.2);
color: var(--drc-green);
font-size: .62rem;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
} .lq-card--args {
background: var(--drc-dark);
color: var(--drc-white);
gap: .65rem;
justify-content: center;
}
.arg-item {
display: flex;
align-items: flex-start;
gap: .9rem;
}
.arg-icon {
width: 40px;
height: 40px;
border-radius: var(--radius);
background: rgba(40,204,40,.1);
border: 1px solid rgba(40,204,40,.2);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
color: var(--drc-green);
}
.arg-icon svg { width: 20px; height: 20px; }
.arg-title {
font-size: .75rem;
font-weight: 700;
letter-spacing: .05em;
text-transform: uppercase;
color: var(--drc-white);
margin-bottom: .2rem;
}
.arg-desc {
font-size: .72rem;
color: rgba(255,255,255,.45);
line-height: 1.5;
} .reviews-section {
padding: 0 0 2rem 0;
background: var(--drc-gray);
}
.reviews-grid {
display: grid;
grid-template-columns: 340px 1fr 310px;
gap: 0;
align-items: center;
background: var(--drc-white);
border: 1px solid var(--drc-border);
border-radius: var(--radius);
overflow: hidden;
min-height: 160px;
} .reviews-global {
text-align: center;
padding: .8rem .9rem;
border-right: 1px solid var(--drc-border);
}
.reviews-global__title {
font-family: var(--font-body);
font-size: 1.5rem;
font-weight: 800;
letter-spacing: .02em;
text-transform: uppercase;
color: var(--drc-text);
line-height: 1.2;
margin-bottom: .45rem;
white-space: nowrap;
}
.reviews-global__row {
display: flex;
align-items: center;
justify-content: center;
gap: .55rem;
}
.reviews-global__score {
font-family: var(--font-body);
font-size: 2.25rem;
font-weight: 800;
color: var(--drc-text);
line-height: 1;
}
.reviews-global__score span {
font-size: 1.05rem;
color: var(--drc-text-muted);
}
.reviews-global__stars {
font-size: 1.9rem;
}
.stars--rating {
display: inline-flex;
align-items: center;
gap: 2px;
}
.stars--rating .star {
position: relative;
line-height: 1;
display: inline-block;
}
.stars--rating .star.is-full {
color: var(--drc-green);
}
.stars--rating .star.is-empty {
color: #c9c9c9;
}
.stars--rating .star.is-half {
color: #c9c9c9;
}
.stars--rating .star.is-half::after {
content: '★';
position: absolute;
top: 0;
left: 0;
width: 50%;
overflow: hidden;
color: var(--drc-green);
}
.reviews-global__count {
font-size: .72rem;
font-weight: 500;
color: var(--drc-text-muted);
} .reviews-list-wrap {
position: relative;
overflow: hidden;
min-height: 100%;
}
.reviews-list {
display: flex;
align-items: stretch;
width: max-content;
min-height: 100%;
animation: reviews-marquee 72s linear infinite;
}
.review-card {
background: transparent;
border-radius: 0;
padding: .95rem 1.1rem;
border-right: 1px solid var(--drc-border);
display: flex;
flex-direction: column;
gap: .62rem;
justify-content: center;
align-items: center;
text-align: center;
width: 360px;
flex: 0 0 360px;
}
.review-card:last-child { border-right: none; }
.review-card__stars {
font-size: .85rem;
justify-content: center;
width: 100%;
margin-bottom: .2rem;
}
.review-card__text {
font-size: 1rem;
color: var(--drc-text);
line-height: 1.45;
font-style: normal;
flex: 0;
text-align: center;
}
.review-card__author {
font-size: .92rem;
font-weight: 700;
color: var(--drc-text);
margin-top: .15rem;
} .reviews-badge {
text-align: center;
padding: .8rem .9rem;
border-left: 1px solid var(--drc-border);
}
.reviews-badge__brand {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: .4rem;
}
.reviews-badge__logo {
width: 80px;
height: auto;
display: block;
}
.reviews-badge__pct {
font-family: var(--font-body);
font-size: 2.3rem;
font-weight: 800;
color: var(--drc-text);
line-height: 1;
}
.reviews-badge__label {
font-size: .72rem;
font-weight: 600;
color: var(--drc-text-muted);
margin-top: .1rem;
line-height: 1.25;
}
@keyframes reviews-marquee {
from { transform: translateX(0); }
to { transform: translateX(-50%); }
} @media (max-width: 1024px) {
.molecules-grid { grid-template-columns: repeat(var(--mol-cols-md, 3), 1fr); }
.labo-quiz-grid { grid-template-columns: 1fr 1fr; } .lq-card--labo { grid-column: 1 / -1; }
.lq-card--args { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: 1.5rem; }
.arg-item { flex: 1; min-width: 200px; }
.prefooter-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.reviews-grid { grid-template-columns: 1fr; }
.reviews-global,
.reviews-badge { border: 0; border-bottom: 1px solid var(--drc-border); }
.reviews-list { animation-duration: 90s; }
.site-footer__inner { grid-template-columns: 1fr 1fr; }
} @media (max-width: 768px) {
.topbar__items { justify-content: flex-start; gap: 1rem; }
.topbar__sep { display: none; }
.site-header__inner { grid-template-columns: auto 1fr auto; }
.primary-nav { display: none; }
.hero { min-height: auto; }
.hero__body { padding: 2.5rem 0 2rem; }
.hero__overlay { background: linear-gradient(to right, rgba(10,10,10,.96) 0%, rgba(10,10,10,.82) 55%, rgba(10,10,10,.55) 100%); }
.hero__trust { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
.hero__ctas { flex-direction: column; }
.hero__ctas .btn { width: 100%; justify-content: center; border-radius: 999px; }
.molecules-grid { grid-template-columns: 1fr 1fr; }
.categories-grid { grid-template-columns: repeat(4, 1fr); gap: .5rem; }
.cat-label { font-size: .6rem; }
.lq-card--labo { grid-template-columns: 1fr; }
.lq-card__labo-img { min-height: 180px; }
.labo-quiz-grid { grid-template-columns: 1fr; }
.quiz-checks { grid-template-columns: 1fr 1fr; }
.reviews-list-wrap { overflow-x: auto; }
.reviews-list { animation: none; width: auto; }
.review-card { width: 100%; flex: 0 0 100%; border-right: 0; border-bottom: 1px solid var(--drc-border); }
.review-card:last-child { border-bottom: 0; }
.prefooter-grid { grid-template-columns: 1fr 1fr; }
.site-footer__inner { grid-template-columns: 1fr; gap: 2rem; }
}