:root {
    --lcs-wine: #8d1f2d;
    --lcs-wine-dark: #5e111e;
    --lcs-midnight: #061b2a;
    --lcs-cream: #f7f1e7;
    --lcs-champagne: #e8c98a;
}

.brand {
    min-width: 390px;
    gap: 14px;
}

.brand__mark {
    width: 60px;
    height: 60px;
    filter: drop-shadow(0 4px 9px rgba(15, 4, 10, .32));
    animation: none;
}

.brand strong {
    font-size: 25px;
    line-height: 1.05;
}

.brand small {
    margin-top: 5px;
    color: rgba(255, 255, 255, .7);
    font-size: 10px;
    letter-spacing: .04em;
    text-transform: none;
}

.header-motto {
    position: absolute;
    left: 50%;
    margin: 0;
    color: rgba(255, 248, 231, .82);
    font: italic 16px/1.05 Georgia, serif;
    text-align: center;
    transform: translateX(-50%) rotate(-2deg);
    text-shadow: 0 3px 14px rgba(0, 0, 0, .4);
}

.header-motto span,
.header-motto strong {
    display: block;
    white-space: nowrap;
}

.header-motto strong {
    margin-top: 4px;
    color: #f0d699;
    font-size: 14px;
    font-weight: 400;
}

.header-collection {
    display: inline-flex;
    min-height: 42px;
    margin-left: 7px;
    padding: 0 16px;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .06));
    box-shadow: inset 0 1px rgba(255, 255, 255, .28), 0 8px 22px rgba(0, 0, 0, .2);
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
    backdrop-filter: blur(12px);
}

.header-collection .lcs-icon { width: 17px; height: 17px; color: #f0d699; }
.header-collection b { font-size: 14px; font-weight: 500; }

/* Navigation principale : un petit médaillon boule à neige signale la page active. */
.site-nav li {
    position: relative;
}

.site-nav li.current-menu-item > a,
.site-nav li.current_page_item > a,
.site-nav a[aria-current="page"] {
    position: relative;
    padding-left: 42px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    box-shadow: inset 0 1px rgba(255, 255, 255, .12);
}

.site-nav li.current-menu-item > a::before,
.site-nav li.current_page_item > a::before,
.site-nav a[aria-current="page"]::before {
    content: "❄";
    position: absolute;
    display: grid;
    left: 10px;
    top: 50%;
    width: 23px;
    height: 23px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    color: rgba(255, 255, 255, .95);
    font-size: 9px;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-55%);
    background:
        radial-gradient(circle at 29% 24%, rgba(255, 255, 255, .75) 0 1.2px, transparent 1.7px),
        radial-gradient(ellipse at 50% 112%, #fffdf2 0 38%, transparent 40%),
        linear-gradient(145deg, rgba(204, 229, 235, .32), rgba(8, 37, 49, .4));
    box-shadow: inset 2px 2px 4px rgba(255, 255, 255, .25), 0 3px 8px rgba(0, 0, 0, .28);
    place-items: center;
}

.site-nav li.current-menu-item > a::after,
.site-nav li.current_page_item > a::after,
.site-nav a[aria-current="page"]::after {
    content: "";
    position: absolute;
    left: 14px;
    top: calc(50% + 11px);
    width: 15px;
    height: 3px;
    border-radius: 1px 1px 4px 4px;
    background: #d5ad67;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .25);
}

.icon-button--account { display: grid; }

@media (min-width: 981px) {
    .site-header {
        inset: 12px 0 auto;
    }

    .site-header__inner {
        width: min(1400px, calc(100% - 32px));
        min-height: 82px;
        padding: 8px 10px 8px 16px;
        gap: 10px;
        border: 1px solid rgba(239, 213, 158, .3);
        border-radius: 22px;
        background: linear-gradient(105deg, rgba(83, 13, 27, .92), rgba(6, 27, 42, .94) 43%, rgba(14, 62, 51, .92));
        box-shadow: 0 14px 38px rgba(0, 0, 0, .24), inset 0 1px rgba(255, 255, 255, .1);
        backdrop-filter: blur(18px) saturate(125%);
    }

    .site-header.is-scrolled .site-header__inner {
        min-height: 72px;
        padding: 6px 10px 6px 16px;
        border: 1px solid rgba(239, 213, 158, .25);
        border-radius: 20px;
        background: linear-gradient(105deg, rgba(79, 13, 25, .94), rgba(6, 27, 42, .95) 46%, rgba(14, 59, 49, .94));
        box-shadow: 0 12px 35px rgba(0, 0, 0, .24);
        backdrop-filter: blur(18px);
    }

    .site-header .brand {
        min-width: 292px;
        gap: 11px;
    }

    .site-header .brand__mark {
        width: 52px;
        height: 52px;
    }

    .site-header .brand strong { font-size: 20px; }
    .site-header .brand small { font-size: 8.5px; }
    .site-header .header-motto { display: none; }

    .site-header .header-actions {
        margin-left: auto;
        min-width: 224px;
        justify-content: flex-end;
    }

    .site-header .site-nav {
        position: static;
        width: auto;
        max-width: none;
        margin: 0 auto;
        padding: 0;
        transform: none;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    .site-header .site-nav::before {
        display: none;
    }

    .site-header .site-nav__list {
        justify-content: center;
        gap: 4px;
    }

    .site-header .site-nav a {
        display: flex;
        min-height: 38px;
        padding: 8px 10px;
        align-items: center;
        border: 1px solid rgba(255, 255, 255, .16);
        border-radius: 999px;
        color: rgba(255, 255, 255, .9);
        background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025));
        box-shadow: inset 0 1px rgba(255, 255, 255, .1);
        font-size: 10.5px;
        white-space: nowrap;
    }

    .site-header .site-nav a:hover,
    .site-header .site-nav a:focus-visible {
        border-color: rgba(255, 255, 255, .42);
        background: linear-gradient(145deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .07));
    }

    .site-header .site-nav li.current-menu-item > a,
    .site-header .site-nav li.current_page_item > a,
    .site-header .site-nav a[aria-current="page"] {
        padding-left: 40px;
        border-color: rgba(255, 255, 255, .52);
        background: linear-gradient(145deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .07));
        box-shadow: inset 0 1px rgba(255, 255, 255, .25), 0 7px 18px rgba(0, 0, 0, .16);
    }

    .site-header .header-collection {
        min-height: 40px;
        margin-left: 4px;
        padding-inline: 13px;
    }
}

body.home {
    background: var(--lcs-cream);
}

body.home .hero {
    min-height: 710px;
    border-bottom: 1px solid rgba(255, 255, 255, .5);
}

body.home .hero__image {
    background-position: 58% 53%;
    filter: saturate(.9) contrast(1.04) brightness(.94);
}

body.home .hero__shade {
    background:
        radial-gradient(circle at 73% 56%, rgba(193, 91, 39, .18), transparent 25%),
        linear-gradient(90deg, rgba(18, 5, 14, .94) 0%, rgba(7, 23, 35, .78) 43%, rgba(5, 22, 34, .16) 73%),
        linear-gradient(0deg, rgba(5, 24, 35, .72), transparent 48%);
}

body.home .hero__content {
    padding-top: 102px;
}

body.home .hero h1 {
    max-width: 690px;
    margin-top: 14px;
    font-size: clamp(48px, 5.4vw, 72px);
    line-height: .99;
}

body.home .hero__note { display: none; }

body.home .hero__content > p:not(.eyebrow) {
    max-width: 610px;
    font-size: 16px;
}

body.home .hero .button--gold {
    border: 1px solid rgba(255, 229, 189, .68);
    color: #fff;
    background: linear-gradient(135deg, #b62c38, #7d1826 68%, #59101c);
    box-shadow: 0 11px 32px rgba(91, 8, 22, .4), inset 0 1px rgba(255, 255, 255, .22);
}

.hero__quote {
    position: absolute;
    z-index: 2;
    top: 225px;
    right: max(7vw, 48px);
    width: 265px;
    margin: 0;
    color: rgba(255, 244, 222, .84);
    font: italic 22px/1.5 Georgia, serif;
    text-align: center;
    text-shadow: 0 3px 20px rgba(0, 0, 0, .55);
    transform: rotate(-4deg);
}

.hero__quote span {
    display: block;
    margin-top: 10px;
    color: var(--lcs-champagne);
    font-size: 17px;
}

body.home #a-la-une {
    position: relative;
    z-index: 3;
    width: min(1240px, calc(100% - 34px));
    margin: -26px auto 0;
    padding: 54px 34px 64px;
    border: 1px solid rgba(104, 75, 47, .1);
    border-radius: 30px 30px 20px 20px;
    background: rgba(251, 247, 239, .97);
    box-shadow: 0 24px 65px rgba(50, 31, 24, .13);
}

body.home #a-la-une .feature-card {
    position: relative;
    min-height: 455px;
    background: #142c36;
}

body.home #a-la-une .feature-card__visual {
    position: absolute;
    inset: 0;
    min-height: 0;
}

body.home #a-la-une .feature-card__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 32%, rgba(3, 18, 27, .55));
}

body.home #a-la-une .feature-card__visual--sapins {
    background-position: 36% 55%;
    filter: saturate(.82) contrast(1.04);
}

body.home #a-la-une .feature-card__body {
    position: absolute;
    z-index: 2;
    right: 24px;
    bottom: 24px;
    left: 24px;
    max-width: 545px;
    padding: 24px 66px 24px 25px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 19px;
    background: rgba(250, 246, 237, .91);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .2);
    backdrop-filter: blur(12px);
}

body.home #a-la-une .feature-card h3 {
    font-size: 26px;
}

body.home #a-la-une .story-card {
    min-height: 0;
    border-color: rgba(112, 78, 49, .12);
    background: linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(240, 232, 219, .88));
    box-shadow: 0 14px 38px rgba(47, 31, 25, .09);
}

body.home #a-la-une .story-card--dark {
    color: #fff;
    background:
        radial-gradient(circle at 88% 18%, rgba(177, 61, 55, .48), transparent 34%),
        linear-gradient(145deg, #6a1925, #092638 58%, #153f35);
}

body.home #a-la-une .story-card--halloween {
    border-color: rgba(244, 181, 75, .38);
    color: #fff;
    background:
        radial-gradient(circle at 88% 16%, rgba(239, 132, 38, .48), transparent 34%),
        linear-gradient(145deg, #21142f, #641d47 56%, #8e3b18);
    box-shadow: 0 16px 42px rgba(68, 18, 53, .22);
}

body.home #a-la-une .story-card--halloween .story-card__icon {
    color: #ffd06b;
    background: rgba(255, 255, 255, .11);
}

body.home #a-la-une .story-card--halloween .meta {
    color: #f3c978;
}

body.home #a-la-une .story-card--halloween a {
    color: #ffd983;
}

.home-quote-card {
    position: relative;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 6px 16px;
    align-items: center;
    padding: 22px 24px;
    overflow: hidden;
    border: 1px solid rgba(142, 84, 45, .14);
    border-radius: 22px;
    color: #6a4936;
    background:
        radial-gradient(circle at 90% 15%, rgba(205, 167, 100, .22), transparent 30%),
        linear-gradient(145deg, #fbf5e9, #eee3d2);
    box-shadow: 0 14px 38px rgba(47, 31, 25, .08);
}

.home-quote-card > span {
    grid-row: 1 / 3;
    display: grid;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(132, 87, 48, .18);
    border-radius: 50%;
    color: #a66a35;
    background: rgba(255, 255, 255, .48);
    place-items: center;
}

.home-quote-card blockquote {
    margin: 0;
    font: italic 18px/1.35 Georgia, serif;
}

.home-quote-card a {
    color: #7f2830;
    font-size: 10px;
    font-weight: 800;
}

.lcs-mountains {
    position: relative;
    z-index: 2;
    height: 118px;
    margin-top: 20px;
    margin-bottom: -1px;
    overflow: hidden;
    line-height: 0;
    pointer-events: none;
    background: var(--lcs-cream);
}

.lcs-mountains svg {
    display: block;
    width: 100%;
    height: 100%;
}

.lcs-mountains--night .lcs-mountains__back {
    fill: #17394b;
    opacity: .72;
}

.lcs-mountains--night .lcs-mountains__front {
    fill: #071d2c;
}

.lcs-mountains--wine .lcs-mountains__back {
    fill: #8a2633;
    opacity: .7;
}

.lcs-mountains--wine .lcs-mountains__front {
    fill: #57121f;
}

.lcs-mountains__snow {
    fill: rgba(255, 253, 244, .9);
}

body.home .section--snow {
    margin: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    color: #fff;
    background:
        linear-gradient(rgba(4, 25, 40, .93), rgba(4, 28, 43, .97)),
        url('../images/christmas-village-hero-optimized.jpg') center 61% / cover;
    box-shadow: none;
}

body.home .section--snow .eyebrow,
body.home .section--snow .section-copy {
    color: rgba(242, 220, 172, .82);
}

body.home .explore-grid {
    grid-template-columns: repeat(5, 1fr);
}

body.home .explore-card {
    position: relative;
    min-height: 245px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    overflow: hidden;
    border-color: rgba(255, 255, 255, .22);
    color: #fff;
    background:
        linear-gradient(145deg, rgba(8, 31, 44, .82), rgba(15, 54, 60, .74)),
        url('../images/christmas-village-hero-optimized.jpg') center / cover;
    box-shadow: inset 0 1px rgba(255, 255, 255, .12), 0 14px 30px rgba(0, 0, 0, .16);
}

body.home .explore-card:nth-child(2n) { background-position: 72% center; }
body.home .explore-card:nth-child(3n) { background-position: 38% 68%; }
body.home .explore-card:nth-child(4n) { background-position: 84% 55%; }
body.home .explore-card:nth-child(5n) { background-position: 52% 78%; }

body.home .explore-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(90deg, rgba(5, 24, 36, .64), rgba(5, 24, 36, .2));
}

body.home .explore-card > * {
    position: relative;
    z-index: 1;
}

body.home .explore-card__icon {
    flex: 0 0 54px;
    border: 1px solid rgba(255, 255, 255, .25);
    background: rgba(7, 28, 41, .5);
    color: #f3d794;
    backdrop-filter: blur(9px);
}

body.home .explore-card strong {
    margin-top: 5px;
    font-size: 21px;
}

body.home .explore-card b {
    position: absolute;
    right: 18px;
    bottom: 18px;
    color: #f1d38d;
}

body.home .explore-card small {
    color: rgba(255, 255, 255, .67);
}

body.home .tool-feature {
    border: 1px solid rgba(238, 209, 153, .2);
    background:
        radial-gradient(circle at 82% 22%, rgba(171, 52, 50, .42), transparent 30%),
        linear-gradient(135deg, #651522, #09293a 48%, #15453a);
    box-shadow: 0 24px 58px rgba(41, 17, 24, .2);
}

body.home .selection-card {
    border-color: rgba(105, 71, 41, .12);
    background: linear-gradient(145deg, #fffdf8, #f2eadf);
    box-shadow: 0 16px 42px rgba(55, 35, 27, .1);
}

.home-article-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.home-article-card {
    overflow: hidden;
    border: 1px solid rgba(91, 63, 43, .12);
    border-radius: 20px;
    background: linear-gradient(145deg, #fffdf8, #f1e9dc);
    box-shadow: 0 15px 38px rgba(54, 34, 27, .1);
    transition: transform .25s, box-shadow .25s;
}

.home-article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 23px 48px rgba(54, 34, 27, .15);
}

.home-article-card__visual {
    position: relative;
    display: grid;
    min-height: 178px;
    color: #f5d993;
    background:
        linear-gradient(180deg, rgba(4, 24, 36, .08), rgba(4, 24, 36, .58)),
        url('../images/christmas-village-hero-optimized.jpg') 18% 60% / cover;
    place-items: center;
}

.home-article-card:nth-child(2) .home-article-card__visual { background-position: 54% 55%; }
.home-article-card:nth-child(3) .home-article-card__visual { background-position: 78% 54%; }
.home-article-card:nth-child(4) .home-article-card__visual { background-position: 95% 60%; }

.home-article-card__visual span {
    display: grid;
    width: 56px;
    height: 56px;
    border: 1px solid rgba(255, 255, 255, .46);
    border-radius: 50%;
    background: rgba(5, 25, 38, .55);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .25);
    backdrop-filter: blur(8px);
    place-items: center;
}

.home-article-card__visual .lcs-icon {
    width: 27px;
    height: 27px;
}

.home-article-card > div {
    padding: 19px 19px 21px;
}

.home-article-card h3 {
    min-height: 3.6em;
    margin: 0;
    font: 500 19px/1.2 Georgia, serif;
}

.home-article-card small {
    display: block;
    margin-top: 13px;
    color: #81766d;
    font-size: 10px;
}

body.home .village-cta {
    padding-top: 54px;
    background:
        radial-gradient(circle at 78% 15%, rgba(191, 65, 60, .46), transparent 31%),
        linear-gradient(115deg, #57121f, #09283a 48%, #15473a);
}

@media (max-width: 1180px) {
    .hero__quote { display: none; }
}

@media (max-width: 980px) {
    .brand {
        min-width: 0;
        gap: 10px;
    }

    .brand__mark {
        width: 50px;
        height: 50px;
    }

    .brand strong {
        font-size: 18px;
    }

    .header-motto,
    .header-collection {
        display: none;
    }

    .site-header__inner,
    .site-header.is-scrolled .site-header__inner {
        border: 1px solid rgba(241, 205, 126, .38);
        border-radius: 20px;
        background: linear-gradient(105deg, rgba(80, 12, 24, .95), rgba(7, 27, 45, .95) 43%, rgba(17, 67, 54, .95));
        box-shadow: 0 13px 34px rgba(28, 8, 17, .25);
        backdrop-filter: blur(16px);
    }

    .site-header .site-nav a {
        margin: 4px 0;
        border: 1px solid rgba(255, 255, 255, .18);
        border-radius: 999px;
        background: linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .025));
    }

    body.home .hero__content { padding-top: 94px; }
    body.home #a-la-une { padding-inline: 24px; }
    body.home .explore-grid { grid-template-columns: repeat(2, 1fr); }
    .home-article-grid { grid-template-columns: repeat(2, 1fr); }
}

/* L'entrée Halloween devient une petite scène orange animée lorsqu'elle est choisie. */
.site-header .site-nav__list > li.menu-item--halloween > a {
    transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.site-header .site-nav__list > li.menu-item--halloween:hover > a,
.site-header .site-nav__list > li.menu-item--halloween:focus-within > a,
.site-header .site-nav__list > li.menu-item--halloween.is-haunted > a,
.site-header .site-nav__list > li.menu-item--halloween.current-menu-item > a,
.site-header .site-nav__list > li.menu-item--halloween.current-menu-ancestor > a {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-color: rgba(255, 171, 71, .92);
    color: #fff7e8;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40'%3E%3Cpath fill='%231a0b20' fill-opacity='.72' d='M8 8c5 0 7 3 9 7 3-4 7-6 12-5-3 3-4 6-3 10-4-3-7-3-10 0 0-4-2-8-8-12Zm31 13c4 0 6 2 8 5 2-3 5-4 9-4-2 2-3 5-2 8-3-2-6-2-8 0 0-3-2-6-7-9Z'/%3E%3C/svg%3E"),
        radial-gradient(circle, rgba(255, 196, 92, .86) 0 1.2px, transparent 1.8px),
        radial-gradient(circle, rgba(255, 112, 24, .7) 0 1px, transparent 1.8px),
        linear-gradient(135deg, rgba(107, 29, 18, .94), rgba(49, 15, 45, .92) 52%, rgba(119, 52, 12, .9));
    background-repeat: repeat, repeat, repeat, no-repeat;
    background-size: 112px 70px, 61px 47px, 83px 59px, 100% 100%;
    background-position: 8px -42px, 13px -8px, 44px -25px, 0 0;
    box-shadow:
        inset 0 1px rgba(255, 226, 172, .42),
        inset 0 -11px 18px rgba(42, 5, 25, .34),
        0 0 18px rgba(255, 119, 23, .42),
        0 8px 20px rgba(22, 3, 18, .28);
    text-shadow: 0 0 9px rgba(255, 174, 67, .58);
    animation: lcs-halloween-fall 4.4s linear infinite, lcs-halloween-shake .58s ease-out 1;
}

.site-header .site-nav__list > li.menu-item--halloween:hover > a::before,
.site-header .site-nav__list > li.menu-item--halloween:focus-within > a::before,
.site-header .site-nav__list > li.menu-item--halloween.is-haunted > a::before,
.site-header .site-nav__list > li.menu-item--halloween.current-menu-item > a::before,
.site-header .site-nav__list > li.menu-item--halloween.current-menu-ancestor > a::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto 0 0;
    display: block;
    width: auto;
    height: 8px;
    border: 0;
    border-radius: 0 0 999px 999px;
    transform: none;
    background:
        radial-gradient(ellipse at 12% 115%, #ff9a26 0 62%, transparent 64%),
        radial-gradient(ellipse at 38% 108%, #d96518 0 64%, transparent 66%),
        radial-gradient(ellipse at 67% 115%, #ffad38 0 60%, transparent 62%),
        radial-gradient(ellipse at 92% 105%, #b94518 0 62%, transparent 64%);
    background-size: 31% 100%, 38% 100%, 34% 100%, 28% 100%;
    background-position: 0 0, 30% 0, 67% 0, 100% 0;
    background-repeat: no-repeat;
    box-shadow: 0 -2px 8px rgba(255, 125, 25, .42);
    pointer-events: none;
}

.site-header .site-nav__list > li.menu-item--halloween:hover > a::after,
.site-header .site-nav__list > li.menu-item--halloween:focus-within > a::after,
.site-header .site-nav__list > li.menu-item--halloween.is-haunted > a::after,
.site-header .site-nav__list > li.menu-item--halloween.current-menu-item > a::after,
.site-header .site-nav__list > li.menu-item--halloween.current-menu-ancestor > a::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 1px;
    width: auto;
    height: auto;
    border-radius: inherit;
    transform: translateX(-145%);
    background: linear-gradient(108deg, transparent 30%, rgba(255, 201, 107, .34) 49%, transparent 67%);
    box-shadow: inset 0 1px rgba(255, 215, 147, .2);
    animation: lcs-halloween-shine 4.4s ease-in-out infinite;
    pointer-events: none;
}

@keyframes lcs-halloween-fall {
    0% { background-position: 8px -42px, 13px -8px, 44px -25px, 0 0; }
    100% { background-position: -104px 72px, 74px 79px, -39px 93px, 0 0; }
}

@keyframes lcs-halloween-shine {
    0%, 56% { transform: translateX(-145%); opacity: 0; }
    64% { opacity: .9; }
    80%, 100% { transform: translateX(145%); opacity: 0; }
}

@keyframes lcs-halloween-shake {
    0%, 100% { transform: translateX(0) rotate(0); }
    18% { transform: translateX(-3px) rotate(-.8deg); }
    36% { transform: translateX(3px) rotate(.7deg); }
    54% { transform: translateX(-2px) rotate(-.45deg); }
    72% { transform: translateX(1px) rotate(.25deg); }
}

@media (prefers-reduced-motion: reduce) {
    .site-header .site-nav__list > li.menu-item--halloween > a,
    .site-header .site-nav__list > li.menu-item--halloween > a::after {
        animation: none !important;
    }
}

/* Identité Halloween et cartes d’achat unifiées pour la sélection Spooky Town 2026. */
body.postid-7842 {
    --lcs-halloween-orange: #ef8426;
    --lcs-halloween-gold: #f4b54b;
    --lcs-halloween-plum: #5a173f;
    --lcs-halloween-night: #171126;
    --lcs-halloween-ink: #35172f;
}

body.postid-7842 .site-header__inner,
body.postid-7842 .site-header.is-scrolled .site-header__inner {
    border-color: rgba(244, 181, 75, .64);
    background: linear-gradient(108deg, rgba(27, 16, 41, .97), rgba(91, 22, 63, .96) 52%, rgba(125, 53, 21, .96));
    box-shadow: 0 15px 42px rgba(45, 12, 36, .34), inset 0 1px rgba(255, 228, 166, .18);
}

body.postid-7842 .site-header .site-nav {
    border-color: rgba(244, 181, 75, .34);
    background: linear-gradient(160deg, rgba(25, 15, 39, .99), rgba(87, 20, 60, .99) 58%, rgba(120, 49, 18, .98));
}

body.postid-7842 .site-header .site-nav a:hover,
body.postid-7842 .site-header .site-nav a:focus-visible,
body.postid-7842 .site-nav li.current-menu-ancestor > a,
body.postid-7842 .site-nav li.current-menu-item > a {
    border-color: rgba(244, 181, 75, .72);
    background: rgba(239, 132, 38, .2);
}

body.postid-7842 .site-nav .sub-menu {
    border-color: rgba(244, 181, 75, .38);
    background: linear-gradient(155deg, rgba(28, 17, 42, .98), rgba(80, 21, 58, .98));
}

body.postid-7842 .article-shell {
    background:
        radial-gradient(circle at 8% 20%, rgba(239, 132, 38, .13), transparent 27%),
        radial-gradient(circle at 94% 54%, rgba(90, 23, 63, .1), transparent 28%),
        linear-gradient(180deg, #fff6e9, #fbf5ed 52%, #f4e8dc);
}

body.postid-7842 .article-hero {
    border-color: rgba(244, 181, 75, .55);
    box-shadow: 0 25px 72px rgba(63, 18, 50, .28);
}

body.postid-7842 .article-hero::before,
body.postid-7842 .article-hero .eyebrow {
    color: #ffd47c;
}

body.postid-7842 .article-body h2,
body.postid-7842 .article-body h3 {
    color: var(--lcs-halloween-ink);
}

body.postid-7842 .article-body a:not(.button) {
    color: #9b461b;
    text-decoration-color: rgba(239, 132, 38, .45);
}

body.postid-7842 .article-body .button,
body.postid-7842 .lcs-related-product__link {
    color: #fff;
    background: linear-gradient(135deg, #6a1c4a, #a3461d);
}

body.postid-7842 .lcs-repair-tested {
    border-color: rgba(239, 132, 38, .28);
    background: linear-gradient(135deg, rgba(255, 244, 221, .95), rgba(244, 230, 239, .9));
}

body.postid-7842 .lcs-repair-tested > span {
    color: #ffd375;
    background: linear-gradient(145deg, #681b4a, #9a401c);
}

body.postid-7842 .article-body .lcs-michaels-direct-link {
    display: inline-flex;
    margin-top: 12px;
    padding: 8px 13px;
    border: 1px solid rgba(106, 28, 74, .18);
    border-radius: 999px;
    color: #fff !important;
    background: linear-gradient(135deg, #6a1c4a, #a3461d);
    font-size: 11px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
}

body.postid-7842 .article-body .lcs-michaels-direct-link:hover,
body.postid-7842 .article-body .lcs-michaels-direct-link:focus-visible {
    color: #35172f !important;
    background: #f4b54b;
}

body.postid-7842 .lcs-favorites-ranking {
    min-width: 680px;
}

body.postid-7842 .lcs-favorites-ranking th {
    background: linear-gradient(105deg, #28152f, #6b2048 58%, #98421c);
}

body.postid-7842 .lcs-favorites-ranking th:first-child,
body.postid-7842 .lcs-favorites-ranking td:first-child {
    width: 72px;
    text-align: center;
}

body.postid-7842 .lcs-favorites-ranking td:first-child {
    color: #822447;
    font: 700 28px/1 Georgia, serif;
}

body.postid-7842 .lcs-favorites-ranking__product {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 250px;
}

body.postid-7842 .lcs-favorites-ranking__product img {
    width: 84px;
    height: 84px;
    flex: 0 0 84px;
    padding: 6px;
    border: 1px solid rgba(106, 28, 74, .12);
    border-radius: 16px;
    background: #fff;
    object-fit: contain;
}

body.postid-7842 .lcs-favorites-ranking__product strong {
    color: #3c253a;
    font-size: 15px;
    line-height: 1.35;
}

body.postid-7842 .lcs-favorite-buy-card {
    margin: 34px 0 54px;
    overflow: hidden;
    border: 1px solid rgba(239, 132, 38, .35);
    border-radius: 28px;
    background: linear-gradient(140deg, rgba(255, 251, 244, .98), rgba(249, 235, 241, .92));
    box-shadow: 0 19px 48px rgba(66, 22, 49, .12);
}

body.postid-7842 .lcs-favorite-buy-card .lcs-related-products,
body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product {
    margin: 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.postid-7842 .lcs-favorite-buy-card .lcs-related-products {
    padding: 24px !important;
}

body.postid-7842 .lcs-favorite-buy-card .lcs-related-products__head .eyebrow {
    color: #a1461d !important;
}

body.postid-7842 .lcs-favorite-buy-card .lcs-related-product {
    border-color: rgba(106, 28, 74, .15);
    background: linear-gradient(135deg, #f7eee5, #fff 48%);
}

body.postid-7842 .lcs-favorite-buy-card .lcs-related-products--single .lcs-related-product__link {
    color: #fff;
}

body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product {
    grid-template-columns: 1fr;
    padding: 20px 28px 24px;
    border-top: 1px solid rgba(239, 132, 38, .22);
}

body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__image,
body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__content h3 {
    display: none;
}

body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__content {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    align-items: center;
    gap: 18px;
}

body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__content .eyebrow,
body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__price {
    margin: 0;
}

body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__content .eyebrow {
    color: #7d274f;
}

body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__price strong {
    color: #5d1d43;
}

body.postid-7842 .lcs-favorite-buy-card .lcs-article-amazon-price-notice {
    margin: 0 28px 22px;
    padding-top: 12px;
    color: #776a70;
}

body.postid-7842 .lcs-favorite-buy-card--without-offer {
    margin-bottom: 22px;
}

/* La vignette de la sélection Spooky Town montre la pièce entière dans les hubs éditoriaux. */
.lcs-reference-card.post-7842 .lcs-reference-card__image {
    border-bottom: 1px solid rgba(244, 181, 75, .3);
    background:
        radial-gradient(circle at 52% 42%, rgba(239, 132, 38, .3), transparent 34%),
        linear-gradient(125deg, #21142f, #641d47 58%, #96411c);
}

.lcs-reference-card.post-7842 .lcs-reference-card__image img {
    box-sizing: border-box;
    padding: 10px 18px;
    object-fit: contain;
    object-position: center;
    background: transparent;
}

@media (max-width: 700px) {
    body.postid-7842 .lcs-favorites-ranking {
        min-width: 620px;
    }

    body.postid-7842 .lcs-favorites-ranking__product {
        min-width: 210px;
    }

    body.postid-7842 .lcs-favorites-ranking__product img {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }

    body.postid-7842 .lcs-favorite-buy-card .lcs-related-products {
        padding: 16px !important;
    }

    body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product {
        padding: 18px;
    }

    body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__content {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__price {
        display: flex;
    }

    body.postid-7842 .lcs-favorite-buy-card .lcs-article-affiliate-product__content .button {
        justify-self: start;
    }

    body.postid-7842 .lcs-favorite-buy-card .lcs-article-amazon-price-notice {
        margin: 0 18px 18px;
    }
}

@media (min-width: 981px) and (max-width: 1180px) {
    .site-header .brand {
        min-width: 205px;
    }

    .site-header .brand__mark {
        width: 44px;
        height: 44px;
    }

    .site-header .brand strong {
        font-size: 16px;
    }

    .site-header .brand small {
        display: none;
    }

    .site-header .header-actions {
        min-width: 192px;
    }

    .site-header .icon-button {
        width: 36px;
        height: 36px;
    }

    .site-header .header-collection {
        padding-inline: 10px;
    }

    .site-header .site-nav a {
        padding-inline: 8px;
        font-size: 9.5px;
    }
}

@media (max-width: 700px) {
    .brand strong { font-size: 15px; }
    .brand__mark { width: 46px; height: 46px; }
    body.home .hero { min-height: 720px; }
    body.home .hero h1 { font-size: 44px; }
    body.home .hero__content > p:not(.eyebrow) { font-size: 15px; }
    body.home #a-la-une { width: calc(100% - 20px); padding: 44px 17px 52px; }
    body.home #a-la-une .feature-card { min-height: 0; background: #fff; }
    body.home #a-la-une .feature-card__visual { position: relative; min-height: 250px; }
    body.home #a-la-une .feature-card__body { position: relative; inset: auto; max-width: none; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
    body.home .explore-grid { grid-template-columns: 1fr; }
    body.home .explore-card { min-height: 205px; }
    .home-article-grid { grid-template-columns: 1fr; }
    .lcs-mountains { height: 72px; margin-top: 8px; }
}

/* La sélection se comporte comme une petite boule à neige lumineuse. */
.site-header .site-nav li.current-menu-item > a,
.site-header .site-nav li.current_page_item > a,
.site-header .site-nav a[aria-current="page"] {
    isolation: isolate;
    overflow: hidden;
    padding-left: 12px;
    border-color: rgba(231, 247, 250, .62);
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.82' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M20 15v10M15.5 17.5l9 5M24.5 17.5l-9 5'/%3E%3C/g%3E%3C/svg%3E"),
        radial-gradient(circle, rgba(231, 248, 252, .72) 0 1.2px, transparent 1.8px),
        radial-gradient(circle, rgba(255, 240, 192, .68) 0 1px, transparent 1.7px),
        linear-gradient(145deg, rgba(210, 239, 244, .23), rgba(255, 255, 255, .07) 46%, rgba(7, 36, 48, .24));
    background-repeat: repeat, repeat, repeat, no-repeat;
    background-size: 34px 31px, 41px 35px, 53px 39px, 100% 100%;
    background-position: 0 -4px, 12px 4px, 24px -8px, 0 0;
    box-shadow:
        inset 0 1px rgba(255, 255, 255, .46),
        inset 0 -9px 17px rgba(5, 32, 44, .18),
        0 0 16px rgba(210, 240, 245, .24),
        0 7px 18px rgba(0, 0, 0, .16);
    text-shadow: 0 0 8px rgba(255, 255, 255, .26);
    animation: lcs-selected-snow 4.8s linear infinite, lcs-globe-shake .65s ease-out 1;
}

.site-header .site-nav li.current-menu-item > a::before,
.site-header .site-nav li.current_page_item > a::before,
.site-header .site-nav a[aria-current="page"]::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto 0 0;
    display: block;
    width: auto;
    height: 7px;
    border: 0;
    border-radius: 0 0 999px 999px;
    transform: none;
    background:
        radial-gradient(ellipse at 12% 100%, rgba(255, 255, 255, .96) 0 58%, transparent 60%),
        radial-gradient(ellipse at 42% 110%, rgba(247, 252, 251, .98) 0 64%, transparent 66%),
        radial-gradient(ellipse at 73% 100%, rgba(255, 255, 255, .94) 0 57%, transparent 59%),
        radial-gradient(ellipse at 94% 110%, rgba(238, 248, 248, .96) 0 62%, transparent 64%);
    background-size: 31% 100%, 38% 100%, 34% 100%, 27% 100%;
    background-position: 0 0, 30% 0, 67% 0, 100% 0;
    background-repeat: no-repeat;
    box-shadow: 0 -1px 6px rgba(229, 247, 249, .3);
    animation: none;
    pointer-events: none;
}

.site-header .site-nav li.current-menu-item > a::after,
.site-header .site-nav li.current_page_item > a::after,
.site-header .site-nav a[aria-current="page"]::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 1px;
    width: auto;
    height: auto;
    border-radius: inherit;
    transform: translateX(-145%);
    background: linear-gradient(108deg, transparent 30%, rgba(255, 255, 255, .33) 49%, transparent 67%);
    box-shadow: inset 0 1px rgba(255, 255, 255, .22);
    animation: lcs-glass-shine 4.8s ease-in-out infinite;
    pointer-events: none;
}

@keyframes lcs-selected-snow {
    0% {
        background-position: 0 -4px, 12px 4px, 24px -8px, 0 0;
        box-shadow: inset 0 1px rgba(255, 255, 255, .46), inset 0 -9px 17px rgba(5, 32, 44, .18), 0 0 13px rgba(210, 240, 245, .2), 0 7px 18px rgba(0, 0, 0, .16);
    }
    100% {
        background-position: 34px 58px, -29px 74px, 77px 70px, 0 0;
        box-shadow: inset 0 1px rgba(255, 255, 255, .46), inset 0 -9px 17px rgba(5, 32, 44, .18), 0 0 13px rgba(210, 240, 245, .2), 0 7px 18px rgba(0, 0, 0, .16);
    }
}

@keyframes lcs-glass-shine {
    0%, 55% { transform: translateX(-145%); opacity: 0; }
    62% { opacity: .85; }
    78%, 100% { transform: translateX(145%); opacity: 0; }
}

@keyframes lcs-globe-shake {
    0%, 100% { transform: translateX(0) rotate(0); }
    18% { transform: translateX(-2px) rotate(-1.2deg); }
    36% { transform: translateX(2px) rotate(1deg); }
    54% { transform: translateX(-1px) rotate(-.65deg); }
    72% { transform: translateX(1px) rotate(.4deg); }
}

@media (max-width: 980px) {
    .site-header .site-nav li.current-menu-item > a,
    .site-header .site-nav li.current_page_item > a,
    .site-header .site-nav a[aria-current="page"] {
        background-image:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 70'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.74' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M35 28v14M29 31.5l12 7M41 31.5l-12 7'/%3E%3C/g%3E%3C/svg%3E"),
            radial-gradient(circle, rgba(231, 248, 252, .72) 0 1.2px, transparent 1.8px),
            radial-gradient(circle, rgba(255, 240, 192, .68) 0 1px, transparent 1.7px),
            linear-gradient(145deg, rgba(210, 239, 244, .23), rgba(255, 255, 255, .07) 46%, rgba(7, 36, 48, .24));
        background-size: 76px 40px, 110px 70px, 140px 78px, 100% 100%;
        animation: lcs-selected-snow-compact 4.8s linear infinite, lcs-globe-shake .65s ease-out 1;
    }
}

@keyframes lcs-selected-snow-compact {
    0% {
        background-position: 0 -4px, 25px 4px, 60px -8px, 0 0;
        box-shadow: inset 0 1px rgba(255, 255, 255, .46), inset 0 -9px 17px rgba(5, 32, 44, .18), 0 0 13px rgba(210, 240, 245, .2), 0 7px 18px rgba(0, 0, 0, .16);
    }
    100% {
        background-position: 76px 76px, -85px 74px, 200px 70px, 0 0;
        box-shadow: inset 0 1px rgba(255, 255, 255, .46), inset 0 -9px 17px rgba(5, 32, 44, .18), 0 0 13px rgba(210, 240, 245, .2), 0 7px 18px rgba(0, 0, 0, .16);
    }
}

/* Mise en page éditoriale des articles du blog. */
.single-post .article-shell {
    padding-top: 126px;
    background:
        radial-gradient(circle at 8% 24%, rgba(142, 31, 45, .08), transparent 25%),
        linear-gradient(180deg, #f7f1e7, #fbf8f1 52%, #f1eadf);
}

.single-post .article-hero {
    position: relative;
    max-width: 1180px;
    min-height: 470px;
    padding: 190px 64px 62px;
    overflow: hidden;
    border: 1px solid rgba(240, 211, 153, .28);
    border-radius: 30px;
    color: #fff;
    text-align: left;
    background:
        linear-gradient(90deg, rgba(31, 5, 15, .92), rgba(4, 27, 41, .72) 55%, rgba(4, 27, 41, .24)),
        linear-gradient(0deg, rgba(5, 28, 41, .48), transparent 55%),
        var(--lcs-article-hero-image, url('../images/christmas-village-hero-optimized.jpg')) 58% 58% / cover;
    box-shadow: 0 24px 70px rgba(45, 20, 22, .2);
}

.single-post .article-hero::before {
    content: "Sélection du Petit Flocon";
    position: absolute;
    top: 42px;
    left: 64px;
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 999px;
    color: #f4d995;
    background: rgba(5, 27, 40, .38);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.single-post .article-hero .eyebrow { color: #f1d691; }

.single-post .article-hero h1 {
    max-width: 900px;
    margin: 14px 0 16px;
    color: #fff;
    font-size: clamp(42px, 5.4vw, 72px);
    text-shadow: 0 5px 28px rgba(0, 0, 0, .4);
}

/* L’image verticale de l’article Twinkly devient un bandeau compact afin que le texte reste visible rapidement. */
.single-post .post-7253 .article-image {
    width: min(100% - 32px, 900px);
    height: clamp(300px, 36vw, 430px);
    margin: 32px auto 26px;
    overflow: hidden;
    border-radius: 26px;
    background: #102b31;
    box-shadow: 0 18px 48px rgba(31, 16, 21, .16);
}

.single-post .post-7253 .article-image img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    object-position: center 49%;
}

/* Toutes les images principales d’article restent centrées et ne s’étirent pas excessivement sur les grands écrans. */
.single-post .article-image {
    width: min(calc(100% - 32px), 960px);
    margin: 32px auto 28px;
    overflow: hidden;
    border-radius: 24px;
}

.single-post .article-image img {
    display: block;
    width: 100%;
    height: auto;
    margin-inline: auto;
    border-radius: inherit;
    object-fit: contain;
    object-position: center;
}

/* Les sélections produits gardent leur pièce visible en entier, dans un visuel plus compact que l’article. */
.single-post .post-7833 .article-image,
.single-post .post-7842 .article-image {
    width: min(100% - 32px, 560px);
    margin: 30px auto 28px;
    overflow: hidden;
    border: 1px solid rgba(23, 76, 66, .12);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(31, 16, 21, .12);
}

.single-post .post-7833 .article-image img,
.single-post .post-7842 .article-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
}

.single-post .article-intro {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, .8);
    font-size: 18px;
}

.single-post .article-body {
    width: min(920px, calc(100% - 34px));
    max-width: none;
    margin: 54px auto 0;
}

.single-post .article-body [id] { scroll-margin-top: 130px; }

.single-post .article-body > p,
.single-post .article-body li {
    font-size: 17px;
    line-height: 1.78;
}

.single-post .article-body h2 {
    margin: 68px 0 12px;
    color: #112d38;
    font: 500 clamp(30px, 4vw, 45px)/1.12 Georgia, serif;
}

.single-post .article-body h3 {
    margin: 30px 0 10px;
    color: #74202d;
    font: 600 23px/1.25 Georgia, serif;
}

.lcs-article-lead {
    margin: 0 0 30px;
    color: #263f46 !important;
    font: 500 23px/1.55 Georgia, serif !important;
}

.single-post .article-body > blockquote {
    margin: 28px 0;
    padding: 0;
    border: 0;
    text-align: left;
}

.single-post .article-body > blockquote > :first-child { margin-top: 0; }
.single-post .article-body > blockquote > :last-child { margin-bottom: 0; }

.lcs-snow-selection {
    margin: 46px 0;
    padding: 30px;
    border: 1px solid rgba(118, 78, 49, .13);
    border-radius: 26px;
    background: linear-gradient(145deg, #fffdf8, #eee5d8);
    box-shadow: 0 18px 48px rgba(55, 34, 27, .1);
}

.lcs-snow-selection > h2 {
    margin: 0 0 22px !important;
    font-size: 30px !important;
}

.lcs-picks-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.lcs-pick {
    min-height: 158px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 19px;
    color: #fff;
    background: linear-gradient(145deg, #6d1725, #0a2d3d 62%, #185043);
    box-shadow: inset 0 1px rgba(255, 255, 255, .14);
}

.lcs-pick > span {
    display: block;
    margin-bottom: 20px;
    font-size: 25px;
}

.lcs-pick strong,
.lcs-pick small { display: block; }
.lcs-pick strong { font: 600 17px/1.25 Georgia, serif; }
.lcs-pick small { margin-top: 8px; color: rgba(255, 255, 255, .68); line-height: 1.4; }

.lcs-quick-picks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 26px;
}

.lcs-quick-picks > br { display: none; }

.lcs-quick-pick {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    min-height: 112px;
    padding: 13px;
    border: 1px solid rgba(25, 79, 67, .13);
    border-radius: 17px;
    color: #173f37;
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 8px 22px rgba(47, 34, 28, .06);
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.lcs-quick-pick:hover {
    border-color: rgba(139, 41, 54, .34);
    color: #74202d;
    box-shadow: 0 13px 28px rgba(47, 34, 28, .11);
    transform: translateY(-2px);
}

.lcs-quick-pick__image {
    display: grid;
    width: 72px;
    height: 82px;
    padding: 6px;
    border-radius: 13px;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(25, 79, 67, .08);
    overflow: hidden;
    place-items: center;
}

.single-post .article-body .lcs-quick-pick__image img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 70px;
    object-fit: contain;
}

.lcs-quick-pick__content { min-width: 0; }
.lcs-quick-pick__badge {
    display: flex;
    gap: 5px;
    align-items: center;
    width: max-content;
    margin-bottom: 5px;
    padding: 4px 8px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #8b2936, #173f37);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.lcs-quick-pick__badge > span { font-size: 11px; line-height: 1; }
.lcs-quick-pick__content strong { display: -webkit-box; overflow: hidden; font: 600 15px/1.2 Georgia, serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.lcs-quick-pick__content small { display: block; overflow: hidden; margin-top: 4px; color: #68746f; font-size: 10px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.lcs-quick-pick__price { min-width: 82px; text-align: right; }
.lcs-quick-pick__price small { display: block; margin-bottom: 3px; color: #7b817e; font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lcs-quick-pick__price strong { display: block; color: #8b2936; font-size: 15px; white-space: nowrap; }
.lcs-ranking-title { margin: 4px 0 14px !important; color: #173f37 !important; font: 600 19px/1.2 Georgia, serif !important; }

.lcs-ranking-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 96px;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lcs-ranking-list > li {
    min-width: 0;
    height: 100%;
}

.lcs-ranking-item {
    display: grid;
    grid-template-columns: 36px 58px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 10px 14px;
    box-sizing: border-box;
    border: 1px solid rgba(25, 79, 67, .13);
    border-radius: 15px;
    color: #173f37;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 7px 20px rgba(47, 34, 28, .05);
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.lcs-ranking-item:hover {
    border-color: rgba(139, 41, 54, .34);
    color: #74202d;
    box-shadow: 0 12px 25px rgba(47, 34, 28, .1);
    transform: translateY(-2px);
}

.lcs-ranking-item__number {
    display: grid;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #8b2936, #123c35);
    font-size: 13px;
    font-weight: 850;
    place-items: center;
}

.lcs-ranking-item__image {
    display: block;
    width: 58px;
    height: 70px;
    padding: 4px;
    border-radius: 10px;
    box-sizing: border-box;
    object-fit: contain;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(25, 79, 67, .08);
}

.lcs-ranking-item > span:nth-of-type(2) {
    min-width: 0;
}

.lcs-ranking-item strong,
.lcs-ranking-item small { display: block; }
.lcs-ranking-item strong {
    display: -webkit-box;
    overflow: hidden;
    font: 600 15px/1.2 Georgia, serif;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.lcs-ranking-item small {
    overflow: hidden;
    margin-top: 3px;
    color: #6f7772;
    font-size: 11px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.lcs-ranking-item__arrow { color: #8b2936; font-size: 17px; }

.lcs-disclosure {
    position: relative;
    margin: 38px 0 52px;
    padding: 22px 24px 22px 66px;
    border: 1px solid rgba(185, 139, 73, .24);
    border-radius: 18px;
    color: #65503d;
    background: #fff8e8;
}

.lcs-disclosure::before {
    content: "❄";
    position: absolute;
    top: 20px;
    left: 24px;
    color: #9a2c39;
    font-size: 25px;
}

.lcs-disclosure p { margin: 0; color: inherit !important; font-size: 14px !important; }

.lcs-article-endnotes {
    margin: 58px 0 0;
    padding-top: 26px;
    border-top: 1px solid rgba(23, 72, 62, .16);
}

.lcs-article-endnotes > header { margin-bottom: 16px; }

.lcs-article-endnotes > header h2 {
    margin: 4px 0 0 !important;
    font: 500 28px/1.1 Georgia, serif !important;
    color: #173f38;
}

.lcs-article-endnotes__list {
    display: grid;
    gap: 10px;
}

.lcs-article-endnotes .lcs-disclosure {
    margin: 0;
    padding: 17px 20px 17px 52px;
    border-radius: 14px;
    text-align: left;
}

.lcs-article-endnotes .lcs-disclosure::before {
    top: 15px;
    left: 18px;
    font-size: 20px;
}

.lcs-article-endnotes .lcs-disclosure p { font-size: 12px !important; }
.lcs-article-endnotes + .lcs-content-affiliate-disclosure { margin-top: 10px; }

.lcs-guide-figure {
    margin: 34px 0 42px;
    overflow: hidden;
    border: 1px solid rgba(23, 72, 62, .16);
    border-radius: 26px;
    background: #0b303d;
    box-shadow: 0 22px 58px rgba(25, 35, 34, .16);
}

.single-post .article-body .lcs-guide-figure img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}

.single-post .article-body .lcs-guide-figure figcaption {
    margin: 0;
    padding: 14px 20px 16px;
    color: rgba(255, 255, 255, .75);
    background: #0b303d;
    font-size: 12px;
    line-height: 1.55;
}

.lcs-product-section {
    scroll-margin-top: 120px;
    margin: 38px 0;
    padding: 34px;
    border: 1px solid rgba(102, 70, 47, .12);
    border-radius: 27px;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 20px 55px rgba(48, 31, 25, .09);
}

.lcs-product-section > h2 { margin-top: 0 !important; }

.lcs-product-subtitle {
    margin: -2px 0 18px;
    color: #8b2936 !important;
    font: italic 20px/1.35 Georgia, serif !important;
}

.lcs-rating {
    margin-bottom: 15px;
    color: #785b2e !important;
    font-size: 14px !important;
    font-weight: 750;
}

.lcs-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 24px;
}

.lcs-product-meta span {
    padding: 7px 11px;
    border: 1px solid rgba(25, 79, 67, .16);
    border-radius: 999px;
    color: #194f43;
    background: #edf4ed;
    font-size: 11px;
    font-weight: 750;
}

.lcs-product-visual {
    display: grid;
    min-height: 245px;
    margin: 24px 0 30px;
    border-radius: 21px;
    color: #f2d58e;
    background:
        radial-gradient(circle at 50% 44%, rgba(205, 164, 91, .18), transparent 28%),
        linear-gradient(145deg, #5b1423, #082b3b 54%, #164b3e);
    place-items: center;
}

.lcs-product-visual span { font-size: 86px; filter: drop-shadow(0 14px 20px rgba(0, 0, 0, .28)); }
.lcs-product-visual small { display: block; margin-top: -54px; color: rgba(255, 255, 255, .6); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }

.lcs-product-section blockquote {
    margin: 28px 0;
    padding: 20px 24px;
    border-left: 4px solid #9b2938;
    color: #30484e;
    background: #f5eee4;
    font: italic 19px/1.55 Georgia, serif;
}

.lcs-amazon-placeholder {
    display: inline-flex;
    margin-top: 15px;
    padding: 13px 18px;
    border: 1px dashed rgba(128, 61, 48, .36);
    border-radius: 999px;
    color: #782433;
    background: #fbf2e8;
    font-size: 12px;
    font-weight: 800;
}

a.lcs-amazon-placeholder {
    border-style: solid;
    border-color: rgba(255, 230, 190, .48);
    color: #fff;
    background: linear-gradient(135deg, #a42c3a, #671421);
    box-shadow: 0 10px 24px rgba(101, 20, 33, .2);
}

a.lcs-amazon-placeholder:hover {
    color: #fff;
    transform: translateY(-2px);
}

.lcs-data-warning {
    margin: 18px 0 24px;
    padding: 16px 18px;
    border: 1px solid rgba(185, 116, 38, .34);
    border-radius: 15px;
    color: #70471e !important;
    background: #fff4d4;
    font-size: 13px !important;
}

.lcs-source-note {
    margin-top: 20px;
    color: #6b716e !important;
    font-size: 12px !important;
}

.lcs-source-note a {
    color: #7f2733;
    font-weight: 750;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lcs-more-products {
    margin: 52px 0;
    padding: 30px;
    border: 1px solid rgba(96, 70, 51, .12);
    border-radius: 25px;
    background: linear-gradient(145deg, #f8f3e9, #eee4d6);
}

.lcs-more-products > h2 { margin-top: 0 !important; font-size: 33px !important; }

.lcs-reference-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.lcs-reference-card {
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(145deg, #671725, #0a2c3b 60%, #17493e);
}

.lcs-reference-card strong { display: block; font: 600 19px/1.25 Georgia, serif; }
.lcs-reference-card p { margin: 9px 0 15px; color: rgba(255, 255, 255, .68) !important; font-size: 13px !important; }
.lcs-reference-card a { color: #f3d998; font-size: 12px; font-weight: 800; }

.lcs-editor-note {
    margin: 52px 0;
    padding: 28px;
    border: 2px dashed rgba(180, 116, 45, .42);
    border-radius: 22px;
    color: #624b31;
    background: #fff6dc;
}

.lcs-editor-note h2 { margin-top: 0 !important; color: #7b4d1f !important; font-size: 28px !important; }
.lcs-editor-note li { color: #624b31 !important; font-size: 14px !important; }

.lcs-public-note {
    margin: 52px 0;
    padding: 28px;
    border: 1px solid rgba(29, 89, 73, .2);
    border-radius: 22px;
    color: #254b43;
    background: linear-gradient(145deg, #edf6ef, #f8f3e8);
}

.lcs-public-note h2 { margin-top: 0 !important; color: #194f43 !important; font-size: 28px !important; }
.lcs-public-note p { margin-bottom: 0; color: #49645d !important; font-size: 15px !important; }

.lcs-tutorial-video {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin: 28px 0 38px;
    padding: 25px;
    overflow: hidden;
    border: 1px solid rgba(231, 198, 121, .28);
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(135deg, #6f1726, #102e3a 58%, #174b40);
    box-shadow: 0 18px 45px rgba(36, 25, 31, .16);
}

.lcs-tutorial-video > p:empty,
.lcs-tutorial-video > div > p:empty { display: none; }
.lcs-tutorial-video > div { grid-column: 2; grid-row: 1; min-width: 0; }
.lcs-tutorial-video > span {
    display: grid;
    width: 62px;
    height: 62px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50%;
    color: #731b2a;
    background: #f3d589;
    box-shadow: 0 0 28px rgba(243, 213, 137, .22);
    font-size: 23px;
    place-items: center;
}
.single-post .article-body .lcs-tutorial-video .eyebrow { margin: 0 0 6px; color: #f0cf81 !important; font-size: 11px !important; }
.single-post .article-body .lcs-tutorial-video h2 { margin: 0 0 10px !important; color: #fff !important; font-size: clamp(24px, 3vw, 34px) !important; }
.single-post .article-body .lcs-tutorial-video p { margin: 0 0 16px; color: rgba(255, 255, 255, .82) !important; font-size: 15px !important; }
.lcs-tutorial-video a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 999px;
    color: #6f1726;
    background: #fff4dc;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}
.lcs-tutorial-video a:hover { color: #fff; background: #9b2939; }
.lcs-tutorial-video small { display: block; margin-top: 11px; color: rgba(255, 255, 255, .62); font-size: 11px; }

@media (max-width: 600px) {
    .lcs-tutorial-video { grid-template-columns: 46px minmax(0, 1fr); gap: 14px; padding: 20px; }
    .lcs-tutorial-video > span { width: 46px; height: 46px; font-size: 18px; }
}

.lcs-repair-tested {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 34px 0;
    padding: 19px 21px;
    border: 1px solid rgba(29, 89, 73, .22);
    border-radius: 20px;
    color: #254b43;
    background: linear-gradient(135deg, #e9f4ed, #faf5e9);
    box-shadow: 0 14px 38px rgba(29, 70, 57, .08);
}

.lcs-repair-tested > span {
    display: inline-grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    margin-top: 1px;
    border-radius: 50%;
    color: #fff;
    background: #1c5949;
    font-size: 14px;
    place-items: center;
}

.lcs-repair-tested > span .emoji { width: 1em !important; height: 1em !important; }
.lcs-repair-tested p { flex: 1 1 auto; width: auto !important; max-width: none !important; margin: 2px 0 0 !important; color: inherit !important; font-size: 15px !important; }

.lcs-article-toc {
    margin: 42px 0;
    padding: 28px 30px;
    border: 1px solid rgba(105, 70, 45, .14);
    border-radius: 22px;
    background: #fffdf8;
    box-shadow: 0 14px 38px rgba(55, 34, 27, .07);
}

.lcs-article-toc strong { display: block; margin-bottom: 13px; color: #74202d; font: 600 21px/1.2 Georgia, serif; }
.lcs-article-toc ol { margin: 0; padding-left: 22px; columns: 2; column-gap: 40px; }
.lcs-article-toc li { break-inside: avoid; margin: 7px 0; font-size: 14px !important; }
.lcs-article-toc a { color: #264f47; font-weight: 700; text-decoration: none; }
.lcs-article-toc a:hover { color: #8e2633; text-decoration: underline; text-underline-offset: 3px; }

.lcs-diagnosis-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0 38px;
}

.lcs-diagnosis-card {
    display: flex;
    flex-direction: column;
    padding: 22px;
    border: 1px solid rgba(28, 79, 67, .15);
    border-radius: 18px;
    background: linear-gradient(145deg, #f4f8f3, #fffaf0);
}

.lcs-diagnosis-card strong { display: block; margin-bottom: 8px; color: #6f1f2c; font: 600 18px/1.25 Georgia, serif; }
.lcs-diagnosis-card p { margin: 0; color: #4b625d !important; font-size: 14px !important; line-height: 1.55 !important; }
.lcs-diagnosis-card__link {
    align-self: flex-start;
    margin-top: auto;
    padding-top: 15px;
    color: #8e2633;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
}
.lcs-diagnosis-card__link:hover { color: #17483e; text-decoration: underline; text-underline-offset: 3px; }

.lcs-spec-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0 22px;
    padding: 0;
    list-style: none;
}

.single-post .article-body .lcs-spec-list li {
    margin: 0;
    padding: 7px 11px;
    border: 1px solid rgba(25, 79, 67, .16);
    border-radius: 999px;
    color: #194f43;
    background: #edf4ed;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.3;
}

.lcs-repair-table-wrap {
    margin: 26px 0 42px;
    overflow-x: auto;
    border: 1px solid rgba(85, 61, 43, .13);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(45, 30, 25, .07);
}

.lcs-repair-table { width: 100%; border-collapse: collapse; min-width: 650px; }
.lcs-repair-table th,
.lcs-repair-table td { padding: 16px 18px; border-bottom: 1px solid #eee6db; text-align: left; vertical-align: top; }
.lcs-repair-table th { color: #fff; background: #123c3d; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.lcs-repair-table td { color: #44575e; font-size: 14px; line-height: 1.55; }
.lcs-repair-table tr:last-child td { border-bottom: 0; }

.lcs-repair-steps { counter-reset: repair-step; margin: 26px 0 44px; padding: 0; list-style: none; }
.single-post .article-body .lcs-repair-steps li {
    position: relative;
    margin: 0 0 12px;
    padding: 18px 20px 18px 66px;
    border: 1px solid rgba(110, 72, 44, .12);
    border-radius: 17px;
    color: #42575d;
    background: rgba(255, 255, 255, .72);
    font-size: 15px;
    line-height: 1.55;
    counter-increment: repair-step;
}

.lcs-repair-steps li::before {
    content: counter(repair-step);
    position: absolute;
    top: 15px;
    left: 18px;
    display: grid;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #fff;
    background: #8e2633;
    font-size: 13px;
    font-weight: 800;
    place-items: center;
}

.lcs-repair-pair {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 15px;
    align-items: start;
    margin: 22px 0 28px;
    padding: 19px 21px;
    border: 1px solid rgba(142, 38, 51, .16);
    border-radius: 18px;
    background: linear-gradient(135deg, #fff8ed, #f2f7f3);
}
.lcs-repair-pair > p:empty,
.lcs-repair-pair > div > p:empty { display: none; }
.lcs-repair-pair > div {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}
.lcs-repair-pair > span { display: grid; width: 48px; height: 48px; border-radius: 14px; color: #f1d68a; background: #17483e; font-size: 23px; place-items: center; }
.lcs-repair-pair strong { display: block; margin-bottom: 6px; color: #76212e; font: 600 19px/1.2 Georgia, serif; }
.single-post .article-body .lcs-repair-pair p { margin: 0 0 8px; color: #52665f; font-size: 14px; line-height: 1.55; }
.lcs-repair-pair a { color: #8e2633; font-size: 11px; font-weight: 850; }
.lcs-repair-pair a:hover { text-decoration: underline; text-underline-offset: 3px; }

.lcs-faq {
    margin: 52px 0;
    padding: 30px;
    border-radius: 25px;
    color: #fff;
    background: linear-gradient(145deg, #651724, #0a2d3d 58%, #16493e);
    box-shadow: 0 22px 58px rgba(38, 17, 23, .2);
}

.lcs-faq > h2 { margin-top: 0 !important; color: #fff !important; }
.lcs-faq details { padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, .15); }
.lcs-faq details:last-child { border-bottom: 0; }
.lcs-faq summary { color: #f3d994; cursor: pointer; font-weight: 800; }
.lcs-faq p { margin: 10px 0 0; color: rgba(255, 255, 255, .78) !important; font-size: 14px !important; }

@media (max-width: 700px) {
    .lcs-quick-picks { grid-template-columns: 1fr; }
    .lcs-quick-pick { grid-template-columns: 62px minmax(0, 1fr) auto; min-height: 100px; }
    .lcs-quick-pick__image { width: 62px; height: 72px; }
    .lcs-quick-pick__price { min-width: 74px; }
    .lcs-ranking-list { grid-template-columns: 1fr; }
    .single-post .article-shell { padding-top: 94px; }
    .single-post .article-hero { min-height: 520px; padding: 176px 24px 42px; border-radius: 0 0 26px 26px; }
    .single-post .article-hero::before { top: 104px; left: 24px; }
    .single-post .article-hero h1 { font-size: 42px; }
    .single-post .article-intro { font-size: 16px; }
    .single-post .article-body { width: min(100% - 26px, 920px); margin-top: 38px; }
    .lcs-picks-grid { grid-template-columns: 1fr; }
    .lcs-reference-grid { grid-template-columns: 1fr; }
    .lcs-snow-selection,
    .lcs-product-section,
    .lcs-more-products { padding: 23px 19px; }
    .lcs-product-visual { min-height: 210px; }
    .lcs-article-toc ol { columns: 1; }
    .lcs-diagnosis-grid { grid-template-columns: 1fr; }
    .lcs-repair-tested { gap: 10px; padding: 17px 18px; }
    .lcs-faq { padding: 24px 20px; }
}

@media (prefers-reduced-motion: reduce) {
    .brand__mark,
    .site-header .site-nav li.current-menu-item > a,
    .site-header .site-nav li.current_page_item > a,
    .site-header .site-nav a[aria-current="page"],
    .site-header .site-nav li.current-menu-item > a::before,
    .site-header .site-nav li.current_page_item > a::before,
    .site-header .site-nav a[aria-current="page"]::before {
        animation: none;
    }

    .site-header .site-nav li.current-menu-item > a::after,
    .site-header .site-nav li.current_page_item > a::after,
    .site-header .site-nav a[aria-current="page"]::after {
        animation: none;
        opacity: 0;
    }
}

.lcs-tutorial-archive { padding-top: 104px; background: #f8f3e9; }
.lcs-tutorial-hero { position: relative; overflow: hidden; padding: 92px 0 82px; color: #fff; background: radial-gradient(circle at 78% 25%, rgba(238, 202, 116, .2), transparent 22%), linear-gradient(135deg, #092b3c, #15493f 64%, #78202d); }
.lcs-tutorial-hero::before { content: "✦  ❄  ✦"; position: absolute; top: 22px; right: 7%; color: rgba(255, 255, 255, .26); font-size: 38px; letter-spacing: 22px; }
.lcs-tutorial-hero .container { position: relative; z-index: 1; }
.lcs-tutorial-hero .eyebrow { color: #f0d58d; }
.lcs-tutorial-hero h1 { max-width: 760px; margin: 8px 0 18px; color: #fff; font: 500 clamp(48px, 7vw, 82px)/.98 Georgia, serif; }
.lcs-tutorial-hero p:not(.eyebrow) { max-width: 650px; margin: 0 0 26px; color: rgba(255, 255, 255, .8); font-size: 17px; line-height: 1.65; }
.lcs-tutorial-list { padding-top: 58px; padding-bottom: 88px; }
.lcs-tutorial-list > header h2 { margin: 6px 0 30px; color: #153f36; font: 500 40px/1.1 Georgia, serif; }
.lcs-manual-library { padding-top: 58px; }
.lcs-manual-library > header h2 { margin: 6px 0 25px; color: #153f36; font: 500 40px/1.1 Georgia, serif; }
.lcs-manual-library__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.lcs-manual-library__card { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 18px; align-items: start; padding: 25px; border: 1px solid rgba(30, 75, 62, .14); border-radius: 22px; background: #fff; box-shadow: 0 16px 40px rgba(38, 28, 22, .07); }
.lcs-manual-library__card > span { display: grid; width: 68px; height: 68px; border-radius: 17px; color: #fff; background: #8e2633; font-size: 14px; font-weight: 900; letter-spacing: .05em; place-items: center; }
.lcs-manual-library__card h3 { margin: 2px 0 8px; color: #163f36; font: 600 23px/1.15 Georgia, serif; }
.lcs-manual-library__card p { margin: 0 0 13px; color: #5b6c66; font-size: 13px; line-height: 1.55; }
.lcs-manual-library__card a { color: #8e2633; font-size: 11px; font-weight: 850; }
.lcs-tutorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.lcs-tutorial-card { display: grid; grid-template-columns: 170px minmax(0, 1fr); overflow: hidden; border: 1px solid rgba(30, 75, 62, .14); border-radius: 23px; background: rgba(255, 255, 255, .9); box-shadow: 0 18px 46px rgba(38, 28, 22, .08); }
.lcs-tutorial-card__visual { display: grid; min-height: 245px; color: #f1d58a; background: radial-gradient(circle at 60% 30%, rgba(255, 255, 255, .18), transparent 24%), linear-gradient(145deg, #164b40, #092d3e 65%, #852532); font-size: 42px; place-items: center; }
.lcs-tutorial-card__visual img { width: 100%; height: 100%; object-fit: cover; }
.lcs-tutorial-card__visual.is-diagram img { object-fit: contain; padding: 8px; }
.lcs-tutorial-card > div { padding: 25px 23px; }
.lcs-tutorial-card .meta { margin: 0 0 9px; color: #8e2633; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.lcs-tutorial-card h3 { margin: 0 0 12px; font: 600 24px/1.15 Georgia, serif; }
.lcs-tutorial-card h3 a { color: #163f36; text-decoration: none; }
.lcs-tutorial-card > div > p:not(.meta) { margin: 0 0 18px; color: #5b6c66; font-size: 13px; line-height: 1.55; }
.lcs-tutorial-card__link { color: #8e2633; font-size: 11px; font-weight: 850; }
.lcs-tutorial-card a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 880px) { .lcs-tutorial-grid, .lcs-manual-library__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .lcs-tutorial-archive { padding-top: 92px; } .lcs-tutorial-hero { padding: 72px 0 62px; } .lcs-tutorial-card { grid-template-columns: 1fr; } .lcs-tutorial-card__visual { min-height: 150px; } .lcs-manual-library__card { grid-template-columns: 52px minmax(0, 1fr); padding: 20px; } .lcs-manual-library__card > span { width: 52px; height: 52px; font-size: 11px; } }

.lcs-power-wiring {
    margin: 36px 0 46px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid rgba(26, 78, 66, .17);
    border-radius: 26px;
    background: linear-gradient(145deg, #f4f8f2, #fff8eb);
    box-shadow: 0 18px 48px rgba(38, 28, 22, .08);
}

.lcs-power-wiring > header { margin-bottom: 26px; }
.lcs-power-wiring > header h2 { margin: 5px 0 0 !important; }
.lcs-power-quickstart {
    margin: 34px 0 46px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid rgba(26, 78, 66, .17);
    border-radius: 26px;
    background: linear-gradient(145deg, #f4f8f2, #fff8eb);
    box-shadow: 0 18px 48px rgba(38, 28, 22, .08);
}
.lcs-power-quickstart > header { max-width: 760px; margin-bottom: 22px; }
.lcs-power-quickstart > header h2 { margin: 5px 0 9px !important; }
.single-post .article-body .lcs-power-quickstart > header p:last-child { margin: 0; color: #586961; }
.lcs-power-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.lcs-power-choice-card { display: grid; min-width: 0; padding: 18px; border: 1px solid rgba(25, 79, 67, .15); border-radius: 20px; background: #fff; grid-template-columns: minmax(0, 1fr) 170px; grid-template-rows: auto auto 1fr auto; column-gap: 18px; align-items: start; }
.lcs-power-choice-card--usb { background: #fffaf0; }
.single-post .article-body .lcs-power-choice-card > p:empty { display: none; margin: 0; }
.lcs-power-choice-card__badge { grid-column: 1; width: max-content; max-width: 100%; margin-bottom: 7px; padding: 5px 9px; border-radius: 999px; color: #fff; background: #8e2633; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lcs-power-choice-card h3 { grid-column: 1; margin: 0 0 7px; color: #173f38; font: 600 22px/1.15 Georgia, serif; }
.lcs-power-choice-card h4 { margin: 13px 0 6px; color: #8e2633; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.single-post .article-body .lcs-power-choice-card__result { grid-column: 1; margin: 0; color: #5c6d66; font-size: 13px; line-height: 1.5; }
.single-post .article-body .lcs-power-choice-card ul { margin: 0 0 10px; padding: 0; list-style: none; }
.single-post .article-body .lcs-power-choice-card li { position: relative; margin: 0; padding: 4px 0 4px 23px; color: #53645d; font-size: 12px; line-height: 1.4; }
.lcs-power-choice-card li::before { position: absolute; top: 6px; left: 0; display: grid; width: 16px; height: 16px; border-radius: 50%; color: #fff; background: #1c694e; content: "✓"; font-size: 9px; font-weight: 900; place-items: center; }
.lcs-power-mini-route { display: flex; gap: 6px; align-items: center; margin-top: 3px; padding: 10px; border-radius: 13px; background: #edf4ed; flex-wrap: wrap; }
.lcs-power-mini-route span { padding: 6px 8px; border-radius: 8px; color: #173f38; background: #fff; font-size: 10px; font-weight: 800; }
.lcs-power-mini-route b { color: #8e2633; font-size: 13px; }
.single-post .article-body .lcs-power-choice-card__example { margin: 9px 0 0; color: #5c6d66; font-size: 11px; line-height: 1.5; }
.lcs-power-choice-card__links { grid-column: 1; display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.lcs-power-choice-card__links a { display: inline-flex; padding: 9px 12px; border-radius: 999px; color: #fff; background: #17483e; font-size: 9px; font-weight: 900; text-decoration: none; }
.lcs-power-choice-card__links a:hover { color: #fff; background: #8e2633; }
.lcs-power-product-image { grid-column: 2; grid-row: 1 / 5; display: grid; width: 100%; height: 100%; min-height: 150px; margin: 0; padding: 10px; overflow: hidden; border: 1px solid rgba(25, 79, 67, .1); border-radius: 15px; background: #fff; place-items: center; }
.single-post .article-body .lcs-power-product-image img { width: 100%; height: 100%; margin: 0; object-fit: contain; object-position: center; }
.lcs-power-decision { margin-top: 16px; padding: 16px 19px; border-left: 5px solid #d7a83e; border-radius: 0 14px 14px 0; color: #4f5e58; background: #fff8e8; font-size: 12px; line-height: 1.55; }
.lcs-power-interconnect { margin: 34px 0 42px; padding: 28px; border: 1px solid rgba(25, 79, 67, .15); border-radius: 25px; background: linear-gradient(135deg, #f3f8f5 0%, #fffaf0 100%); }
.lcs-power-interconnect > header { max-width: 850px; margin-bottom: 20px; }
.lcs-power-interconnect > header h2 { margin: 5px 0 9px !important; }
.single-post .article-body .lcs-power-interconnect > header p:last-child { margin: 0; color: #586961; }
.lcs-power-interconnect__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.lcs-power-interconnect__grid > article { display: grid; min-width: 0; padding: 20px; border: 1px solid rgba(25, 79, 67, .15); border-radius: 19px; background: rgba(255, 255, 255, .88); grid-template-columns: minmax(0, 1fr) 160px; grid-template-rows: auto auto auto auto auto; column-gap: 18px; align-items: start; }
.lcs-power-interconnect__grid > article > span { grid-column: 1; color: #8e2633; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lcs-power-interconnect__grid h3 { grid-column: 1; margin: 7px 0 8px; color: #173f38; font: 600 22px/1.2 Georgia, serif; }
.single-post .article-body .lcs-power-interconnect__grid p { grid-column: 1; margin: 0 0 14px; color: #566861; font-size: 13px; line-height: 1.55; }
.lcs-power-interconnect__grid .lcs-power-mini-route,
.lcs-power-interconnect__grid .lcs-power-choice-card__links { grid-column: 1; }
.lcs-power-interconnect__grid .lcs-power-product-image { grid-column: 2; grid-row: 1 / 6; }
.lcs-power-interconnect__amazon { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 18px; align-items: center; margin-top: 16px; padding: 18px 20px; border-radius: 19px; color: #fff; background: #17483e; }
.lcs-power-interconnect__amazon > div { color: #f4d783; font: 700 25px/1 Georgia, serif; text-align: center; white-space: nowrap; }
.single-post .article-body .lcs-power-interconnect__amazon p { margin: 0; color: rgba(255, 255, 255, .88); font-size: 12px; line-height: 1.55; }
.lcs-power-interconnect__amazon a { display: inline-flex; padding: 10px 13px; border-radius: 999px; color: #173f38; background: #f4d783; font-size: 9px; font-weight: 900; text-decoration: none; white-space: nowrap; }
.lcs-power-interconnect__amazon a:hover { color: #fff; background: #8e2633; }
.lcs-power-interconnect__note { margin-top: 16px; padding: 15px 18px; border-left: 5px solid #d7a83e; border-radius: 0 14px 14px 0; color: #4f5e58; background: #fff; font-size: 12px; line-height: 1.55; }
.lcs-power-answer { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 15px; align-items: center; margin: 26px 0; padding: 20px 22px; border-radius: 18px; color: #183f37; background: #e9f4eb; }
.lcs-power-answer > span { display: grid; width: 42px; height: 42px; border-radius: 50%; color: #fff; background: #1c694e; font-size: 21px; font-weight: 900; place-items: center; }
.lcs-power-answer > p:empty { display: none; }
.lcs-power-answer > p:not(:empty) { grid-column: 2; grid-row: 1; min-width: 0; }
.single-post .article-body .lcs-power-answer p { margin: 0; color: #183f37; }
.lcs-power-diagram { margin: 0; }
.lcs-power-diagram__desktop { padding: 26px; border-radius: 22px; background: rgba(255, 255, 255, .73); }
.lcs-power-diagram__source { display: flex; align-items: stretch; justify-content: center; gap: 18px; }
.lcs-power-diagram__wall { display: grid; grid-template-columns: 52px 1fr; grid-template-rows: 1fr 1fr; gap: 0 14px; min-width: 220px; padding: 19px; border: 1px solid rgba(25, 79, 67, .16); border-radius: 18px; background: #fff; align-items: center; }
.lcs-power-diagram__wall > span { grid-row: 1 / 3; display: grid; width: 52px; height: 52px; border-radius: 14px; color: #fff; background: #8e2633; font-size: 25px; place-items: center; }
.lcs-power-diagram__wall small { align-self: end; color: #8e2633; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.lcs-power-diagram__wall strong { align-self: start; color: #173f38; font: 600 18px/1.25 Georgia, serif; }
.lcs-power-diagram__link { display: flex; min-width: 70px; align-items: center; }
.lcs-power-diagram__link i { width: 100%; height: 3px; background: #8e2633; }
.lcs-power-diagram__link b { color: #8e2633; font-size: 21px; }
.lcs-power-diagram__adapter { position: relative; display: grid; min-width: 300px; padding: 20px 28px 25px; border-radius: 20px; color: #fff; background: #17483e; text-align: center; place-items: center; }
.lcs-power-diagram__adapter small { color: #f0d58d; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.lcs-power-diagram__adapter strong { font: 600 25px/1.25 Georgia, serif; }
.lcs-power-diagram__adapter > span { color: rgba(255, 255, 255, .75); font-size: 12px; }
.lcs-power-diagram__adapter > div { position: absolute; right: 0; bottom: -7px; left: 0; display: flex; justify-content: center; gap: 48px; }
.lcs-power-diagram__adapter > div i { display: block; width: 14px; height: 14px; border: 3px solid #17483e; border-radius: 50%; background: #f0d58d; }
.lcs-power-diagram__down { display: grid; padding: 14px 0 10px; color: #8e2633; text-align: center; place-items: center; }
.lcs-power-diagram__down span { font-size: 28px; line-height: 1; }
.lcs-power-diagram__down b { font-size: 9px; letter-spacing: .09em; }
.lcs-power-diagram__branches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lcs-power-diagram__branches article { padding: 19px 14px 17px; border: 1px solid rgba(25, 79, 67, .15); border-radius: 17px; background: #fff; text-align: center; }
.lcs-power-diagram__branches article > span { display: block; margin-bottom: 7px; color: #8e2633; font-size: 9px; font-weight: 900; letter-spacing: .07em; }
.lcs-power-diagram__branches article > strong { display: block; color: #173f38; font: 600 17px/1.2 Georgia, serif; }
.lcs-power-diagram__branches article > small { display: block; margin-top: 4px; color: #5d7069; font-size: 10px; }
.lcs-power-diagram__branches article > i { display: block; margin: 9px 0 5px; color: #8e2633; font-style: normal; font-weight: 900; }
.lcs-power-diagram__branches article > div { display: flex; justify-content: center; gap: 6px; }
.lcs-power-diagram__branches article > div b { display: block; width: 19px; height: 19px; border: 3px solid #d6aa4f; border-radius: 50%; background: #fff5df; }
.lcs-power-diagram__branches article > div em { color: #8e2633; font-size: 18px; font-style: normal; font-weight: 900; }
.single-post .article-body .lcs-power-diagram__branches article > p { margin: 9px 0 0; color: #5d7069; font-size: 11px; line-height: 1.35; }
.lcs-power-diagram__branches article > p b { color: #173f38; font-size: 13px; }
.lcs-power-diagram__result { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; justify-content: center; margin-top: 14px; padding: 18px; border-radius: 15px; color: #fff; background: #8e2633; text-align: center; }
.lcs-power-diagram__result strong { flex: 0 0 100%; font: 600 19px/1.2 Georgia, serif; }
.lcs-power-diagram__result span { color: #f8df9e; font-size: 11px; font-weight: 800; }
.lcs-power-diagram__mobile { display: none; }
.lcs-power-products .lcs-diagnosis-card p { margin-bottom: 16px; }
.lcs-power-products--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lcs-power-products__role { display: block; margin-bottom: 8px; color: #8e2633; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.lcs-power-products__links { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: auto; }
.lcs-power-products__links a { color: #8e2633; font-size: 10px; font-weight: 850; text-decoration: none; }
.lcs-power-products__links a:hover { color: #17483e; text-decoration: underline; text-underline-offset: 3px; }
.lcs-safe-light-grid .lcs-diagnosis-card__link { padding-top: 16px; }
.lcs-power-pack { margin: 22px 0 42px; padding: 18px 21px; border-radius: 16px; color: #173f38; background: #e9f4eb; }
.single-post .article-body .lcs-power-pack p { margin: 0; color: #173f38; }
.lcs-power-house { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 23px; align-items: center; margin: 28px 0 42px; padding: 25px; border-radius: 21px; background: #fff5df; }
.lcs-power-house > div { color: #8e2633; font-size: 30px; text-align: center; letter-spacing: 4px; }
.single-post .article-body .lcs-power-house p { margin: 0; color: #4f554d; }
.lcs-power-check { margin: 34px 0; padding: 19px 22px; border-left: 5px solid #d7a83e; border-radius: 0 16px 16px 0; background: #fff8e8; }
.single-post .article-body .lcs-power-check p { margin: 0; color: #4f554d; }
.lcs-usb-power { margin: 42px 0 48px; padding: clamp(24px, 4vw, 38px); border: 1px solid rgba(25, 79, 67, .17); border-radius: 26px; background: linear-gradient(145deg, #eef7f3, #fffaf0); box-shadow: 0 18px 48px rgba(38, 28, 22, .08); }
.lcs-usb-power > header { max-width: 820px; margin-bottom: 25px; }
.lcs-usb-power > header h2 { margin: 5px 0 12px !important; }
.single-post .article-body .lcs-usb-power > header > p:last-child { margin: 0; color: #536760; }
.lcs-usb-power__flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 27px; }
.lcs-usb-power__flow article { position: relative; display: grid; min-height: 158px; padding: 19px 16px; border: 1px solid rgba(25, 79, 67, .14); border-radius: 18px; background: #fff; text-align: center; place-items: center; align-content: center; }
.lcs-usb-power__flow article:not(:last-of-type)::after { position: absolute; z-index: 2; top: 50%; right: -24px; width: 21px; color: #8e2633; content: "→"; font-size: 22px; font-weight: 900; transform: translateY(-50%); }
.lcs-usb-power__flow article > span { display: grid; width: 34px; height: 34px; margin-bottom: 8px; border-radius: 50%; color: #fff; background: #8e2633; font-size: 12px; font-weight: 900; place-items: center; }
.lcs-usb-power__flow article > small { color: #8e2633; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.lcs-usb-power__flow article > strong { margin: 4px 0; color: #173f38; font: 600 18px/1.2 Georgia, serif; }
.lcs-usb-power__flow article > b { color: #61736c; font-size: 10px; line-height: 1.4; }
.lcs-usb-power__details { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 18px; margin-top: 20px; }
.lcs-usb-power__product { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: center; padding: 18px; border-radius: 18px; color: #fff; background: #17483e; }
.lcs-usb-power__product > div { grid-column: 2; min-width: 0; width: 100%; }
.lcs-usb-power__product > span { display: grid; width: 44px; height: 44px; border: 2px solid rgba(255, 255, 255, .3); border-radius: 13px; color: #f4d98f; font-size: 11px; font-weight: 900; place-items: center; }
.lcs-usb-power__product small { color: #f4d98f; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.lcs-usb-power__product strong { display: block; margin: 5px 0 7px; font: 600 19px/1.2 Georgia, serif; }
.single-post .article-body .lcs-usb-power__product p { margin: 0 0 13px; color: rgba(255, 255, 255, .75); font-size: 11px; }
.lcs-usb-power__product a { display: inline-flex; padding: 9px 13px; border-radius: 999px; color: #173f38; background: #f4d98f; font-size: 9px; font-weight: 900; text-decoration: none; }
.lcs-usb-power__product a:hover { color: #fff; background: #8e2633; }
.lcs-usb-power__details ul { display: grid; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
.single-post .article-body .lcs-usb-power__details li { margin: 0; padding: 12px 15px 12px 36px; border: 1px solid rgba(25, 79, 67, .12); border-radius: 13px; color: #536760; background: rgba(255, 255, 255, .75); font-size: 11px; line-height: 1.5; }
.lcs-usb-power__details li::before { display: inline-grid; width: 18px; height: 18px; margin: 0 7px 0 -25px; border-radius: 50%; color: #fff; background: #1c694e; content: "✓"; font-size: 10px; font-weight: 900; vertical-align: middle; place-items: center; }
.lcs-usb-kit { margin: 48px 0; padding: clamp(25px, 4vw, 40px); border-radius: 28px; background: #f7efe0; box-shadow: inset 0 0 0 1px rgba(142, 38, 51, .1); }
.lcs-usb-kit > header { max-width: 840px; margin-bottom: 26px; }
.lcs-usb-kit > header h2 { margin: 5px 0 12px !important; }
.single-post .article-body .lcs-usb-kit > header > p:last-child { margin: 0; color: #5d625c; }
.lcs-usb-kit__route { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.lcs-usb-kit__route article { position: relative; display: grid; min-height: 142px; padding: 17px 13px; border: 1px solid rgba(142, 38, 51, .13); border-radius: 18px; background: #fff; text-align: center; place-items: center; align-content: center; }
.lcs-usb-kit__route article:not(:last-child)::after { position: absolute; z-index: 2; top: 50%; right: -22px; width: 19px; color: #8e2633; content: "→"; font-size: 20px; font-weight: 900; transform: translateY(-50%); }
.lcs-usb-kit__route article > span { display: grid; width: 31px; height: 31px; margin-bottom: 7px; border-radius: 50%; color: #fff; background: #17483e; font-size: 11px; font-weight: 900; place-items: center; }
.lcs-usb-kit__route article > small { color: #8e2633; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.lcs-usb-kit__route article > strong { margin: 4px 0; color: #173f38; font: 600 17px/1.2 Georgia, serif; }
.lcs-usb-kit__route article > b { color: #6c706a; font-size: 9px; line-height: 1.4; }
.lcs-usb-kit__shopping { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.lcs-usb-kit__card { display: grid; min-width: 0; padding: 22px; border: 1px solid rgba(25, 79, 67, .14); border-radius: 19px; background: rgba(255, 255, 255, .83); grid-template-columns: minmax(0, 1fr) 138px; grid-template-rows: auto auto minmax(0, 1fr) auto; column-gap: 18px; }
.lcs-usb-kit__card > span { grid-column: 1; color: #8e2633; font-size: 8px; font-weight: 900; letter-spacing: .09em; }
.lcs-usb-kit__card > strong { display: block; grid-column: 1; margin: 6px 0 8px; color: #173f38; font: 600 20px/1.2 Georgia, serif; }
.single-post .article-body .lcs-usb-kit__card > p { grid-column: 1; margin: 0 0 16px; color: #5f6a65; font-size: 11px; line-height: 1.6; }
.lcs-usb-kit__card > div { display: flex; grid-column: 1; gap: 8px; margin-top: auto; flex-wrap: wrap; }
.lcs-usb-kit__card-image { display: grid; grid-column: 2; grid-row: 1 / -1; width: 100%; min-height: 165px; margin: 0; padding: 10px; overflow: hidden; border: 1px solid rgba(25, 79, 67, .12); border-radius: 15px; background: #fff; place-items: center; }
.lcs-usb-kit__card-image img { display: block; width: 100%; height: 100%; max-height: 190px; object-fit: contain; object-position: center; }
.lcs-usb-kit__card a { display: inline-flex; padding: 9px 13px; border-radius: 999px; color: #173f38; background: #f4d98f; font-size: 9px; font-weight: 900; text-decoration: none; }
.lcs-usb-kit__card a:hover { color: #fff; background: #8e2633; }
.lcs-usb-kit__card--featured { border-color: transparent; color: #fff; background: #17483e; }
.lcs-usb-kit__card--featured > span { color: #f4d98f; }
.lcs-usb-kit__card--featured > strong { color: #fff; }
.single-post .article-body .lcs-usb-kit__card--featured > p { color: rgba(255, 255, 255, .76); }
.lcs-usb-kit__card--featured a { color: #173f38; background: #f4d98f; }
.lcs-usb-kit__zones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.lcs-usb-kit__zones article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; align-items: start; padding: 15px; border-radius: 15px; background: rgba(255, 255, 255, .62); }
.lcs-usb-kit__zone-icon { display: grid; width: 34px; height: 34px; border-radius: 11px; color: #fff; background: #8e2633; font-size: 13px; font-weight: 900; place-items: center; }
.lcs-usb-kit__zone-copy { min-width: 0; color: #5f6a65; font-size: 10px; line-height: 1.5; }
.lcs-usb-kit__zones strong { display: block; margin-bottom: 3px; color: #173f38; font-size: 11px; }
.lcs-usb-kit__choice { margin-top: 18px; padding: 17px 20px; border-left: 5px solid #d7a83e; border-radius: 0 15px 15px 0; background: #fff8e8; }
.single-post .article-body .lcs-usb-kit__choice p { margin: 0; color: #555f59; font-size: 11px; line-height: 1.6; }

/* Illustrated wiring routes: the pictures carry the meaning, the labels only confirm it. */
.lcs-visual-route { display: grid; gap: 18px; }
.lcs-visual-route--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lcs-visual-route--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lcs-visual-route article { position: relative; display: grid; min-width: 0; min-height: 168px; padding: 14px 11px; border: 1px solid rgba(25, 79, 67, .14); border-radius: 16px; background: #fff; text-align: center; place-items: center; align-content: center; }
.lcs-visual-route article > span { position: absolute; top: 11px; left: 11px; display: grid; width: 28px; height: 28px; margin: 0; border-radius: 50%; color: #fff; background: #8e2633; font-size: 10px; font-weight: 900; place-items: center; }
.lcs-visual-route__art { display: grid; width: min(100%, 74px); min-height: 56px; margin: 4px auto 7px; border-radius: 15px; color: #17483e; background: #edf5ee; place-items: center; }
.lcs-visual-route__art svg { display: block; width: 60px; max-width: 86%; height: 48px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.lcs-visual-route__art img { display: block; width: 100%; height: 72px; border-radius: inherit; background: #fff; object-fit: contain; object-position: center; }
.lcs-visual-route article > strong { display: block; margin: 0 0 5px; color: #173f38; font: 600 17px/1.15 Georgia, serif; }
.lcs-visual-route article > small { display: block; color: #62716b; font-size: 10px; line-height: 1.4; }
.single-post .article-body .lcs-visual-route article > p:empty { display: none; }
.single-post .article-body .lcs-visual-route article > p:not(:empty) { display: grid; gap: 5px; width: 100%; margin: 0; text-align: center; }
.lcs-visual-route article > p > strong { display: block; color: #173f38; font: 600 17px/1.15 Georgia, serif; }
.lcs-visual-route article > p > small { display: block; color: #62716b; font-size: 10px; line-height: 1.4; }
.lcs-visual-route__buy { display: flex; width: max-content; max-width: 100%; min-height: 30px; margin: 10px auto 0; padding: 7px 10px; align-items: center; justify-content: center; border-radius: 999px; color: #fff; background: #8e2633; font-size: 8px; font-weight: 900; line-height: 1.15; text-decoration: none; white-space: nowrap; }
.lcs-visual-route__buy:hover { color: #fff; background: #17483e; }
.lcs-visual-route article:not(:last-child)::after { position: absolute; z-index: 2; top: 50%; right: -25px; display: block; width: 22px; color: #8e2633; content: "→"; font-size: 23px; font-weight: 900; transform: translateY(-50%); }
.lcs-visual-route article.is-optional { border-style: dashed; background: #fffaf0; }
.lcs-visual-route article.is-optional::before { position: absolute; top: 12px; right: 10px; padding: 4px 7px; border-radius: 999px; color: #795b1b; background: #f6e4aa; content: "facultatif"; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.lcs-visual-route__repeat { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 13px; align-items: center; margin: 15px 0 0; padding: 14px 17px 14px 58px; border-radius: 15px; color: #173f38; background: #e9f4eb; }
.lcs-visual-route__repeat::before { grid-row: 1 / 3; display: grid; width: 32px; height: 32px; margin-left: -43px; border-radius: 50%; color: #fff; background: #1c694e; content: "×3"; font-size: 10px; font-weight: 900; place-items: center; }
.lcs-visual-route__repeat strong { font-size: 11px; }
.lcs-visual-route__repeat span { color: #536760; font-size: 10px; line-height: 1.4; }

@media (max-width: 860px) {
    .lcs-power-choice-grid { grid-template-columns: 1fr; }
    .lcs-power-interconnect { padding: 20px 16px; }
    .lcs-power-interconnect__grid { grid-template-columns: 1fr; }
    .lcs-power-interconnect__amazon { grid-template-columns: 1fr; text-align: center; }
    .lcs-power-interconnect__amazon a { justify-self: center; }
    .lcs-power-wiring { padding: 25px 18px; }
    .lcs-usb-power__flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lcs-usb-power__flow article:nth-child(2)::after { display: none; }
    .lcs-usb-power__details { grid-template-columns: 1fr; }
    .lcs-usb-kit__route { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lcs-usb-kit__route article::after { display: none; }
    .lcs-usb-kit__route article:last-child { grid-column: 1 / -1; }
    .lcs-usb-kit__zones { grid-template-columns: 1fr; }
    .lcs-visual-route { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .lcs-visual-route article { min-height: 158px; }
    .lcs-visual-route article::after { display: none !important; }
    .lcs-visual-route--five article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
    .lcs-power-choice-card,
    .lcs-power-interconnect__grid > article { display: flex; flex-direction: column; }
    .lcs-power-product-image { width: 100%; height: 150px; min-height: 150px; margin: 9px 0 14px; }
    .lcs-usb-kit__card { grid-template-columns: 1fr; }
    .lcs-usb-kit__card-image { grid-column: 1; grid-row: auto; height: 160px; min-height: 160px; margin-top: 16px; }
}

@media (max-width: 560px) {
    .lcs-power-diagram__desktop { display: none; }
    .lcs-power-diagram__mobile { display: grid; gap: 8px; }
    .lcs-power-diagram__mobile > div { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 3px 12px; align-items: center; padding: 16px; border: 1px solid rgba(25, 79, 67, .15); border-radius: 15px; background: #fff; }
    .lcs-power-diagram__mobile span { grid-row: 1 / 3; display: grid; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: #8e2633; font-weight: 900; place-items: center; }
    .lcs-power-diagram__mobile strong { color: #173f38; font: 600 16px/1.2 Georgia, serif; }
    .lcs-power-diagram__mobile small { color: #5d7069; font-size: 11px; }
    .lcs-power-diagram__mobile > i { color: #8e2633; font-style: normal; font-weight: 900; text-align: center; }
    .lcs-power-products--two { grid-template-columns: 1fr; }
    .lcs-power-house { grid-template-columns: 1fr; text-align: center; }
    .lcs-usb-power { padding: 23px 17px; }
    .lcs-usb-power__flow { grid-template-columns: 1fr; gap: 25px; }
    .lcs-usb-power__flow article { min-height: 132px; }
    .lcs-usb-power__flow article:nth-child(2)::after { display: block; }
    .lcs-usb-power__flow article:not(:last-of-type)::after { top: auto; right: 50%; bottom: -24px; transform: translateX(50%) rotate(90deg); }
    .lcs-usb-power__product { grid-template-columns: 40px minmax(0, 1fr); gap: 10px; padding: 15px; }
    .lcs-usb-power__product > div { grid-column: 2; }
    .lcs-usb-power__product > span { width: 36px; height: 36px; border-radius: 11px; font-size: 9px; }
    .lcs-usb-kit { padding: 23px 17px; }
    .lcs-usb-kit__route { grid-template-columns: 1fr; gap: 24px; }
    .lcs-usb-kit__route article:last-child { grid-column: auto; }
    .lcs-usb-kit__route article:not(:last-child)::after { display: block; top: auto; right: 50%; bottom: -23px; transform: translateX(50%) rotate(90deg); }
    .lcs-usb-kit__shopping { grid-template-columns: 1fr; }
    .lcs-usb-kit__card { padding: 19px; }
    .lcs-visual-route { grid-template-columns: 1fr; gap: 28px; }
    .lcs-visual-route--five article:last-child { grid-column: auto; }
    .lcs-visual-route article { min-height: 184px; }
    .lcs-visual-route article:not(:last-child)::after { display: block !important; top: auto; right: 50%; bottom: -27px; transform: translateX(50%) rotate(90deg); }
}

.lcs-search-page { padding-top: 148px; padding-bottom: 88px; }
.lcs-search-page__head { max-width: 780px; margin-bottom: 46px; }
.lcs-search-page__head h1 { margin: 7px 0 13px; color: #173f38; font: 500 clamp(42px, 6vw, 68px)/1.02 Georgia, serif; }
.lcs-search-page__head > p:last-child { max-width: 680px; margin: 0; color: #5d7069; line-height: 1.65; }
.lcs-search-section + .lcs-search-section { margin-top: 58px; }
.lcs-search-section > h2 { margin: 0 0 24px; color: #173f38; font: 500 clamp(30px, 4vw, 42px)/1.08 Georgia, serif; }
.lcs-search-editorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.lcs-search-article { display: flex; min-height: 238px; flex-direction: column; align-items: flex-start; padding: 28px; border: 1px solid rgba(25, 79, 67, .14); border-radius: 22px; background: rgba(255, 255, 255, .92); }
.lcs-search-article .meta { margin: 0 0 9px; color: #8e2633; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.lcs-search-article h3 { margin: 0 0 12px; font: 600 27px/1.12 Georgia, serif; }
.lcs-search-article h3 a { color: #173f38; text-decoration: none; }
.lcs-search-article > p:not(.meta) { margin: 0 0 20px; color: #5d7069; line-height: 1.55; }
.lcs-search-article .text-link { margin-top: auto; }
.lcs-search-empty { text-align: center; }
.lcs-search-empty > span { display: block; margin-bottom: 12px; color: #b88b2e; font-size: 34px; }

.lcs-guide-hub__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 27px;
}

.lcs-guide-hub__nav a {
    display: inline-flex;
    min-height: 42px;
    padding: 10px 16px;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.lcs-guide-hub__nav a:hover,
.lcs-guide-hub__nav a:focus-visible {
    border-color: #f0d58d;
    color: #173f38;
    background: #f0d58d;
}

@media (max-width: 700px) {
    .lcs-search-page { padding-top: 118px; }
    .lcs-search-editorial-grid { grid-template-columns: 1fr; }
}

/* Menu éditorial simplifié et sous menus thématiques. */
.site-nav__chevron {
    margin-left: 6px;
    font-size: 12px;
    line-height: 1;
    transition: transform .2s ease;
}

.site-nav .sub-menu {
    position: absolute;
    z-index: 120;
    top: calc(100% + 9px);
    left: 50%;
    display: grid;
    min-width: 235px;
    margin: 0;
    padding: 9px;
    visibility: hidden;
    list-style: none;
    border: 1px solid rgba(241, 213, 153, .28);
    border-radius: 17px;
    opacity: 0;
    background: linear-gradient(145deg, rgba(62, 11, 26, .98), rgba(7, 37, 49, .98) 58%, rgba(18, 70, 57, .98));
    box-shadow: 0 18px 40px rgba(0, 0, 0, .3);
    transform: translate(-50%, -5px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    backdrop-filter: blur(18px);
}

.site-nav .menu-item-has-children:hover > .sub-menu,
.site-nav .menu-item-has-children:focus-within > .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, 0);
}

.site-nav .menu-item-has-children:hover > a .site-nav__chevron,
.site-nav .menu-item-has-children:focus-within > a .site-nav__chevron {
    transform: rotate(180deg);
}

.site-header .site-nav .sub-menu a {
    min-height: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
    font-size: 11px;
    line-height: 1.3;
}

.site-header .site-nav .sub-menu a:hover,
.site-header .site-nav .sub-menu a:focus-visible,
.site-header .site-nav .sub-menu li.current-menu-item > a {
    padding-left: 12px;
    color: #fff;
    background: rgba(255, 255, 255, .12);
}

.site-header .site-nav .sub-menu li.current-menu-item > a::before,
.site-header .site-nav .sub-menu li.current-menu-item > a::after {
    display: none;
}

.site-nav li.current-menu-ancestor > a {
    border-color: rgba(255, 255, 255, .48);
    color: #fff;
    background: linear-gradient(145deg, rgba(255, 255, 255, .19), rgba(255, 255, 255, .06));
    box-shadow: inset 0 1px rgba(255, 255, 255, .22), 0 7px 18px rgba(0, 0, 0, .14);
}

@media (max-width: 980px) {
    .site-header .site-nav__list {
        max-height: calc(100vh - 126px);
        overflow-y: auto;
    }

    .site-nav .sub-menu {
        position: static;
        display: grid;
        min-width: 0;
        margin: 2px 0 8px 16px;
        padding: 2px 0 2px 11px;
        visibility: visible;
        border: 0;
        border-left: 1px solid rgba(241, 213, 153, .3);
        border-radius: 0;
        opacity: 1;
        background: transparent;
        box-shadow: none;
        transform: none;
        backdrop-filter: none;
    }

    .site-nav .menu-item-has-children:hover > .sub-menu,
    .site-nav .menu-item-has-children:focus-within > .sub-menu {
        transform: none;
    }

    .site-header .site-nav .sub-menu a {
        margin: 2px 0;
        padding: 8px 11px;
        border: 0;
        background: transparent;
        font-size: 12px;
    }
}
