:root {
    --douce-peach: #e97b52;
    --douce-peach-dark: #c9603f;
    --douce-ink: #2c2420;
    --douce-muted: #6e625c;
    --douce-cream: #fffcf9;
    --douce-soft: #fff1e8;
    --douce-sand: #f4ece5;
    --douce-border: rgba(44, 36, 32, 0.13);
    --douce-footer: #342821;
}

html { scroll-behavior: smooth; }

.douce-design-active body,
.douce-design-active .site { background: var(--douce-cream); }

/* Nettoyage et rythme global */
.douce-design-active .entry-content > p:empty,
.douce-design-active .douce-section > p:empty { display: none !important; }

.douce-design-active .entry-content > .douce-section {
    box-sizing: border-box;
    padding: clamp(64px, 6vw, 88px) clamp(24px, 5vw, 64px);
}

.douce-design-active .entry-content > .douce-section--compact {
    padding-top: 30px;
    padding-bottom: 30px;
}

.douce-design-active .douce-section .douce-eyebrow {
    display: block;
    margin: 0 0 16px;
    /*color: var(--douce-peach-dark);*/
	color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    line-height: 1.4;
    text-transform: uppercase;
}

.douce-design-active .douce-section h2 {
    margin: 0 0 18px;
    color: var(--douce-ink);
}

.douce-design-active .douce-section h2 + p {
    max-width: 760px;
    margin-top: 0;
}

.douce-design-active .douce-section .wp-block-buttons { margin-top: 28px; }

/* Header */
.douce-design-active header.wp-block-kadence-header .wp-block-kadence-header-desktop .wp-block-kadence-header-row-center > .kadence-header-row-inner > .wp-block-kadence-header-section:last-child {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 7px;
    min-width: 108px;
}

.douce-design-active header.wp-block-kadence-header .wp-block-search {
    flex: 0 0 44px;
    min-width: 44px;
    margin: 0;
}

.douce-design-active header.wp-block-kadence-header .wp-block-search__inside-wrapper,
.douce-design-active header.wp-block-kadence-header .wp-block-search__button {
    min-height: 44px;
}

.douce-design-active header.wp-block-kadence-header .wp-block-search:not(.wp-block-search__searchfield-hidden) {
    position: absolute;
    z-index: 50;
    right: 98px;
    width: min(300px, 34vw);
    min-width: 240px;
    padding: 4px;
    background: var(--douce-cream);
    border-radius: 7px;
    box-shadow: 0 10px 30px rgba(44, 36, 32, .14);
}

.douce-design-active .douce-header-icon {
    position: relative;
    display: inline-grid !important;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0 !important;
    place-items: center;
    color: var(--douce-ink) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 50% !important;
}

.douce-design-active .douce-header-icon:hover,
.douce-design-active .douce-header-icon:focus-visible {
    color: var(--douce-peach-dark) !important;
    border-color: var(--douce-border) !important;
}

.douce-design-active .douce-header-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.douce-design-active .douce-cart-count {
    position: absolute;
    top: 1px;
    right: 0;
    display: grid;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    place-items: center;
    color: #fff;
    background: var(--douce-peach-dark);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
}

.douce-design-active .wp-block-kadence-header-tablet .custom-logo {
    display: block;
    width: 82px;
    height: auto;
    object-fit: contain;
}

/* Hero */
.douce-design-active .home .douce-hero {
    display: flex;
    min-height: 610px;
    align-items: center;
    padding: clamp(72px, 7vw, 104px) clamp(30px, 6vw, 76px) !important;
    /*background-image: linear-gradient(90deg, rgba(255, 252, 249, .97) 0%, rgba(255, 252, 249, .88) 36%, rgba(255, 252, 249, .16) 64%, rgba(255, 252, 249, 0) 100%), var(--douce-hero-desktop) !important;*/
    /*background-position: center, 67% center !important;*/
	background-position: 20% -163px !important;
    background-size: cover !important;
    border-radius: 0 0 12px 12px;
	background-repeat:no-repeat;
}

.douce-design-active .home .douce-hero .wp-block-group__inner-container {
    width: min(100%, 560px);
    margin-left: 0;
}

.douce-design-active .home .douce-hero h1 {
    max-width: 540px;
    margin-top: 0;
    color: var(--douce-ink);
    font-size: clamp(46px, 5vw, 68px);
    line-height: .98;
}

.douce-design-active .douce-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.douce-design-active .douce-hero-actions .wp-block-buttons { margin: 0; }

/* Icônes et cartes */
.douce-design-active .douce-icon {
    display: inline-grid;
    width: 38px;
    height: 38px;
    margin: 0 auto 13px;
    place-items: center;
    color: var(--douce-peach-dark);
    background: var(--douce-soft);
    border-radius: 50%;
}

.douce-design-active .douce-icon--large {
    width: 48px;
    height: 48px;
    margin: 0 0 18px;
}

.douce-design-active .douce-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.douce-design-active .douce-reassurance > div {
    text-align: center;
}

.douce-design-active .douce-card {
    border: 1px solid var(--douce-border);
    box-shadow: none;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.douce-design-active a.douce-card:hover {
    transform: translateY(-4px);
    border-color: rgba(201, 96, 63, .4);
    box-shadow: 0 14px 32px rgba(44, 36, 32, .07);
}

.douce-design-active .douce-product-card { overflow: hidden; }

.douce-design-active .douce-product-media {
    display: block;
    margin: -24px -24px 24px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--douce-soft);
}

.douce-design-active .douce-product-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.douce-design-active .douce-product-card:hover .douce-product-media img { transform: scale(1.035); }

/* Sections médias */
.douce-design-active .douce-media-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr);
    gap: clamp(40px, 6vw, 78px);
    align-items: center;
}

.douce-design-active .douce-media-split--final { grid-template-columns: minmax(340px, .9fr) minmax(0, 1fr); }

.douce-design-active .douce-media-figure {
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border-radius: 10px;
    background: var(--douce-sand);
}

.douce-design-active .douce-media-figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.douce-design-active .douce-media-split--diagnostic .douce-media-figure img { object-position: center; }
.douce-design-active .douce-media-split--final .douce-media-figure img { object-position: center 35%; }

.douce-design-active .douce-lifestyle-section {
    background: var(--douce-ink);
    color: #fff;
}

.douce-design-active .douce-lifestyle-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    gap: clamp(36px, 6vw, 76px);
    align-items: center;
}

.douce-design-active .douce-lifestyle-main,
.douce-design-active .douce-lifestyle-secondary {
    margin: 0;
    overflow: hidden;
    border-radius: 10px;
}

.douce-design-active .douce-lifestyle-main { aspect-ratio: 4 / 3; }
.douce-design-active .douce-lifestyle-secondary { max-width: 260px; margin-top: 28px; aspect-ratio: 4 / 3; }

.douce-design-active .douce-lifestyle-main img,
.douce-design-active .douce-lifestyle-secondary img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.douce-design-active .douce-lifestyle-section h2,
.douce-design-active .douce-lifestyle-section p { color: #fff; }

.douce-design-active .douce-lifestyle-copy ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 18px;
    margin: 24px 0 30px;
    padding: 0;
    list-style: none;
}

.douce-design-active .douce-lifestyle-copy li::before { content: '✓'; margin-right: 9px; color: #ffad8c; }

.douce-design-active .douce-lifestyle-section .wp-element-button {
    display: inline-flex;
    color: #fff;
    background: var(--douce-peach);
    text-decoration: none;
}

/* Témoignages */
.douce-design-active .douce-testimonials-layout {
    display: grid;
    grid-template-columns: minmax(250px, .7fr) minmax(0, 1.7fr);
    gap: 30px;
    align-items: stretch;
}

.douce-design-active .douce-testimonials-visual {
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 10px;
}

.douce-design-active .douce-testimonials-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.douce-design-active .douce-testimonials-layout .douce-testimonials {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.douce-design-active .douce-testimonials .douce-card { padding: 28px; }

/* Pages complémentaires */
.douce-design-active .douce-routine-page-image {
    width: min(1120px, calc(100% - 40px));
    max-height: 620px;
    margin: 0 auto 64px;
    overflow: hidden;
    border-radius: 10px;
}

.douce-design-active .douce-routine-page-image img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    object-position: center 45%;
}

.douce-design-active .douce-story-hero {
    min-height: 560px;
    background-image: linear-gradient(90deg, rgba(255, 252, 249, .96), rgba(255, 252, 249, .65) 48%, transparent 72%), var(--douce-story-image) !important;
    background-size: cover !important;
    background-position: center, center 38% !important;
}

.douce-design-active .douce-product-usage {
    display: grid;
    width: min(1200px, calc(100% - 40px));
    margin: 64px auto;
    padding: clamp(28px, 5vw, 64px);
    grid-template-columns: minmax(320px, 1fr) minmax(0, 1fr);
    gap: clamp(36px, 5vw, 72px);
    align-items: center;
    background: var(--douce-soft);
    border-radius: 12px;
}

.douce-design-active .douce-product-usage-image {
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
}

.douce-design-active .douce-product-usage-image img { width: 100%; height: 100%; object-fit: cover; }

/* Footer */
.douce-design-active #colophon.site-footer { display: none !important; }

.douce-footer {
    position: relative;
    margin-top: 0;
    color: rgba(255, 255, 255, .82);
    background: var(--douce-footer);
}

.douce-footer a { color: inherit; text-decoration: none; }
.douce-footer a:hover { color: #fff; }

.douce-footer-help {
    display: flex;
    max-width: 1240px;
    margin: 0 auto;
    padding: 38px clamp(24px, 5vw, 64px);
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.douce-footer-help strong {
    display: block;
    color: #fff;
    font-family: var(--global-heading-font-family, serif);
    font-size: clamp(23px, 2.4vw, 34px);
    font-weight: 500;
}

.douce-footer-kicker {
    display: block;
    margin-bottom: 5px;
    color: #ffad8c;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.douce-footer-help-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.douce-footer-btn {
    display: inline-flex;
    min-height: 46px;
    padding: 12px 18px;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: var(--douce-peach);
    border: 1px solid var(--douce-peach);
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
}

.douce-footer-btn--outline { background: transparent; border-color: rgba(255, 255, 255, .5); }

.douce-footer-main {
    display: grid;
    max-width: 1240px;
    margin: 0 auto;
    padding: 66px clamp(24px, 5vw, 64px);
    grid-template-columns: minmax(230px, 1.15fr) repeat(3, minmax(150px, 1fr));
    gap: clamp(34px, 5vw, 72px);
}

.douce-footer-brand {
    display: inline-block;
    margin-bottom: 20px;
    color: #fff !important;
    font-family: var(--global-heading-font-family, serif);
    font-size: 48px;
    line-height: 1;
}

.douce-footer-brand-column p { max-width: 260px; margin: 0 0 15px; }

.douce-footer-signature { color: #ffad8c; font-size: 12px; font-weight: 700; letter-spacing: .04em; }

.douce-footer-socials { display: flex; gap: 9px; margin-top: 24px; }

.douce-footer-socials a {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
}

.douce-footer-socials svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.douce-footer-socials a:nth-child(2) svg,
.douce-footer-socials a:nth-child(3) svg { fill: currentColor; stroke: none; }

.douce-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }

.douce-footer-column h2 {
    margin: 0 0 8px;
    color: #fff;
    font-family: var(--global-body-font-family, sans-serif);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.douce-footer-column .douce-footer-subtitle { margin-top: 18px; }
.douce-footer-column a { font-size: 14px; line-height: 1.5; }

.douce-footer-bottom {
    display: flex;
    max-width: 1240px;
    margin: 0 auto;
    padding: 22px clamp(24px, 5vw, 64px);
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    font-size: 12px;
}

.douce-whatsapp {
    position: fixed;
    z-index: 9999;
    right: 22px;
    bottom: 22px;
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    color: #fff;
    background: #25d366;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
    transition: transform .2s ease;
}

.douce-whatsapp:hover { color: #fff; transform: translateY(-3px); }
.douce-whatsapp svg { width: 30px; height: 30px; fill: currentColor; }

@media (max-width: 1024px) {
    .douce-design-active .home .douce-hero {
        min-height: 560px;
        background-position: center, 62% center !important;
    }

    .douce-design-active .douce-media-split,
    .douce-design-active .douce-lifestyle-grid { grid-template-columns: 1fr 1fr; gap: 34px; }

    .douce-design-active .douce-testimonials-layout { grid-template-columns: 1fr; }
    .douce-design-active .douce-testimonials-visual { max-height: 480px; }
    .douce-design-active .douce-testimonials-visual img { object-position: center 30%; }

    .douce-footer-main { grid-template-columns: 1.2fr 1fr 1fr; }
    .douce-footer-main .douce-footer-column:last-child { grid-column: 2 / 4; display: grid; grid-template-columns: 1fr 1fr; }
    .douce-footer-main .douce-footer-column:last-child h2 { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
    .douce-design-active .entry-content > .douce-section {
        width: 100%;
        padding: 52px 20px;
    }

    .douce-design-active .home .douce-hero {
        min-height: 680px;
        align-items: flex-end;
        padding: 310px 20px 54px !important;
        background-image: linear-gradient(0deg, rgba(255, 252, 249, .99) 0%, rgba(255, 252, 249, .95) 45%, rgba(255, 252, 249, .06) 74%), var(--douce-hero-mobile) !important;
        background-position: center, center 18% !important;
    }

    .douce-design-active .home .douce-hero h1 { font-size: clamp(39px, 12vw, 50px); }
    .douce-design-active .douce-hero-actions { flex-direction: column; align-items: stretch; }
    .douce-design-active .douce-hero-actions .wp-block-button,
    .douce-design-active .douce-hero-actions .wp-block-button__link { width: 100%; text-align: center; }

    .douce-design-active .douce-reassurance { grid-template-columns: 1fr 1fr; gap: 22px 10px; }

    .douce-design-active .douce-media-split,
    .douce-design-active .douce-media-split--final,
    .douce-design-active .douce-lifestyle-grid,
    .douce-design-active .douce-product-usage { grid-template-columns: 1fr; }

    .douce-design-active .douce-media-split--final .douce-media-figure { order: 2; }
    .douce-design-active .douce-media-figure { aspect-ratio: 4 / 5; }
    .douce-design-active .douce-lifestyle-main { aspect-ratio: 4 / 3; }
    .douce-design-active .douce-lifestyle-secondary { max-width: none; aspect-ratio: 16 / 9; }
    .douce-design-active .douce-lifestyle-copy ul { grid-template-columns: 1fr; }

    .douce-design-active .douce-testimonials-layout .douce-testimonials { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; }
    .douce-design-active .douce-testimonials-layout .douce-testimonials .douce-card { min-width: 82%; scroll-snap-align: start; }

    .douce-design-active .douce-story-hero {
        min-height: 640px;
        background-image: linear-gradient(0deg, rgba(255,252,249,.98), rgba(255,252,249,.86) 46%, transparent 74%), var(--douce-story-image) !important;
    }

    .douce-design-active .douce-product-usage { width: calc(100% - 32px); margin: 40px auto; padding: 24px; }

    .douce-footer-help { align-items: flex-start; flex-direction: column; }
    .douce-footer-help-actions { width: 100%; }
    .douce-footer-help-actions .douce-footer-btn { flex: 1 1 100%; }

    .douce-footer-main { grid-template-columns: 1fr 1fr; padding-top: 48px; padding-bottom: 48px; }
    .douce-footer-brand-column { grid-column: 1 / -1; }
    .douce-footer-main .douce-footer-column:last-child { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
    .douce-footer-bottom { flex-direction: column; }
    .douce-whatsapp { right: 16px; bottom: 16px; width: 52px; height: 52px; }
}

@media (max-width: 480px) {
    .douce-design-active .douce-reassurance,
    .douce-footer-main,
    .douce-footer-main .douce-footer-column:last-child { grid-template-columns: 1fr; }

    .douce-footer-main .douce-footer-column:last-child h2,
    .douce-footer-main .douce-footer-column:last-child { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
