:root {
    --cdf-red: #bf381d;
    --cdf-red-hover: #cf6952;
    --cdf-ivory: #fffcf2;
    --cdf-paper: #fffefa;
    --cdf-dark: #210a05;
    --cdf-yellow: #f5d87f;
    --cdf-navy: #20404e;
    --cdf-green: #e8f7ed;
    --cdf-border: rgba(33, 10, 5, 0.14);
    --cdf-shadow: 0 7px 24px rgba(33, 10, 5, 0.09);
    --cdf-display: "social-gothic-soft", "Arial Narrow", Arial, sans-serif;
    --cdf-ui: "social-gothic", "Arial Narrow", Arial, sans-serif;
    --cdf-serif: "Cormorant Garamond", Georgia, serif;
    --cdf-container: 1400px;
    --cdf-gutter: clamp(18px, 3vw, 42px);
    --cdf-radius: 20px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    margin: 0;
    min-width: 320px;
    background: var(--cdf-ivory);
    color: var(--cdf-dark);
    font-family: var(--cdf-serif);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.admin-bar .cdf-site-header {
    top: 32px;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

figure {
    margin: 0;
}

a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

a:hover,
a:focus-visible {
    color: var(--cdf-red-hover);
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: 3px solid var(--cdf-yellow);
    outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 0.55em;
    font-family: var(--cdf-display);
    font-weight: 700;
    line-height: 0.98;
    text-wrap: balance;
}

h1 {
    color: var(--cdf-red);
    font-size: clamp(3.5rem, 6.4vw, 5.7rem);
}

h2 {
    color: var(--cdf-red);
    font-size: clamp(2.25rem, 4.1vw, 3.8rem);
}

h3 {
    font-size: clamp(1.55rem, 2.7vw, 2.55rem);
}

p:first-child {
    margin-top: 0;
}

.screen-reader-text,
.cdf-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.cdf-container {
    width: min(100% - (2 * var(--cdf-gutter)), var(--cdf-container));
    margin-inline: auto;
}

.cdf-site-main {
    min-height: 35vh;
}

.cdf-main-spacing {
    padding-block: clamp(42px, 6vw, 90px);
}

.cdf-section {
    padding-block: clamp(60px, 8vw, 118px);
}

.cdf-section-heading {
    margin-bottom: clamp(30px, 4vw, 58px);
}

.cdf-section-heading--center {
    text-align: center;
}

.cdf-eyebrow,
.cdf-footer-label,
.cdf-newsletter__kicker,
.cdf-card__eyebrow {
    margin: 0 0 0.55rem;
    color: var(--cdf-red);
    font-family: var(--cdf-ui);
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.1;
    text-transform: uppercase;
}

.cdf-button,
button.cdf-button,
input[type="submit"] {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 34px;
    border: 1px solid var(--cdf-red);
    border-radius: 999px;
    background: var(--cdf-red);
    color: var(--cdf-ivory);
    cursor: pointer;
    font-family: var(--cdf-ui);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.cdf-button:hover,
.cdf-button:focus-visible,
button.cdf-button:hover,
input[type="submit"]:hover {
    border-color: var(--cdf-red-hover);
    background: var(--cdf-red-hover);
    color: var(--cdf-ivory);
    transform: translateY(-2px);
}

.cdf-button--dark {
    border-color: var(--cdf-dark);
    background: var(--cdf-dark);
}

.cdf-button--light {
    border-color: var(--cdf-ivory);
    background: var(--cdf-ivory);
    color: var(--cdf-red);
}

.cdf-button--outline {
    border-color: var(--cdf-yellow);
    background: transparent;
    color: var(--cdf-red);
}

.cdf-button--outline:hover {
    border-color: var(--cdf-yellow);
    background: var(--cdf-yellow);
    color: var(--cdf-red);
}

.cdf-text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--cdf-ui);
    font-size: 0.78rem;
    text-decoration: none;
    text-transform: uppercase;
}

.cdf-text-link .dashicons,
.cdf-button .dashicons {
    width: 1em;
    height: 1em;
    font-size: 1em;
}

.cdf-skip-link {
    position: fixed;
    z-index: 100000;
    top: 10px;
    left: 10px;
    padding: 10px 16px;
    transform: translateY(-200%);
    background: var(--cdf-dark);
    color: white;
}

.cdf-skip-link:focus {
    transform: none;
}

/* Header */
.cdf-site-header {
    position: relative;
    z-index: 1000;
    background: var(--cdf-ivory);
}

.cdf-site-header__inner {
    display: grid;
    width: min(100% - 40px, 1440px);
    min-height: 132px;
    align-items: center;
    margin-inline: auto;
    grid-template-columns: 210px minmax(410px, 1fr) minmax(410px, 610px);
    gap: 26px;
}

.cdf-site-logo {
    display: inline-flex;
    width: 165px;
}

.cdf-site-logo img {
    width: 100%;
    object-fit: contain;
}

.cdf-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cdf-menu--primary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 34px;
}

.cdf-menu--primary > li > a {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}

.cdf-menu--primary a,
.cdf-menu--footer a,
.cdf-menu--mobile a {
    color: var(--cdf-red);
    font-family: var(--cdf-ui);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.15;
    text-decoration: none;
    text-transform: uppercase;
}

.cdf-menu--primary .current-menu-item > a,
.cdf-menu--primary a:hover {
    color: var(--cdf-red-hover);
}

.cdf-menu--primary .sub-menu {
    position: absolute;
    z-index: 10;
    width: 250px;
    margin: 10px 0 0;
    padding: 16px;
    visibility: hidden;
    border-radius: 14px;
    opacity: 0;
    background: var(--cdf-paper);
    box-shadow: var(--cdf-shadow);
    list-style: none;
    transform: translateY(6px);
    transition: 160ms ease;
}

.cdf-menu--primary .menu-item-has-children:hover > .sub-menu,
.cdf-menu--primary .menu-item-has-children:focus-within > .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: none;
}

.cdf-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.cdf-icon-button,
.cdf-menu-toggle {
    position: relative;
    display: inline-grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: var(--cdf-red);
    color: var(--cdf-ivory);
    cursor: pointer;
    text-decoration: none;
}

.cdf-icon-button:hover,
.cdf-icon-button:focus-visible,
.cdf-menu-toggle:hover,
.cdf-menu-toggle:focus-visible {
    background: var(--cdf-red-hover);
    color: white;
}

.cdf-icon-button .dashicons,
.cdf-menu-toggle .dashicons {
    width: 24px;
    height: 24px;
    font-size: 24px;
}

.cdf-cart-count {
    position: absolute;
    top: -3px;
    right: -3px;
    display: grid;
    min-width: 18px;
    height: 18px;
    place-items: center;
    padding: 0 4px;
    border-radius: 10px;
    background: var(--cdf-dark);
    color: white;
    font-family: Arial, sans-serif;
    font-size: 10px;
    line-height: 1;
}

.cdf-menu-toggle,
.cdf-mobile-search,
.cdf-mobile-drawer {
    display: none;
}

.cdf-header-search {
    position: relative !important;
    inset: auto !important;
    z-index: auto !important;
    display: block;
    width: min(100%, 390px);
    padding: 0 !important;
    background: transparent !important;
}

.cdf-header-search .cdf-search-form {
    margin: 0 !important;
}

.cdf-header-search .cdf-search-bar {
    display: flex;
    gap: 0;
    overflow: hidden;
    margin: 0;
    border-radius: 999px;
    background: white;
}

.cdf-header-search .cdf-search-q {
    width: 100%;
    height: 48px;
    padding: 0 18px;
    border: 0;
    outline: none;
    background: transparent;
    color: var(--cdf-dark);
    font-size: 0.9rem;
}

.cdf-header-search .cdf-search-q:focus-visible {
    outline: 3px solid var(--cdf-navy);
    outline-offset: -3px;
    box-shadow: inset 0 0 0 1px white;
}

.cdf-header-search .cdf-search-submit {
    display: grid;
    width: 58px;
    flex: 0 0 58px;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: var(--cdf-red);
    color: white;
    cursor: pointer;
}

.cdf-header-search .cdf-search-submit .dashicons {
    width: 22px;
    height: 22px;
    font-size: 22px;
}

.cdf-header-search .cdf-facets {
    display: none;
}

.cdf-header-search .cdf-search-results {
    position: absolute;
    z-index: 20;
    top: calc(100% + 10px);
    right: 0;
    width: min(620px, 86vw);
    max-height: 70vh;
    overflow-y: auto;
    border-radius: var(--cdf-radius);
    background: var(--cdf-yellow);
    box-shadow: var(--cdf-shadow);
}

.cdf-header-search--legacy {
    position: fixed !important;
    inset: 0 0 auto !important;
    z-index: 99999 !important;
    width: 100% !important;
    padding: 2em 1em !important;
    background: rgba(0,0,0,.7) !important;
}

.cdf-header-search .cdf-search-results:empty {
    display: none;
}

.cdf-header-search .cdf-search-item {
    background: var(--cdf-ivory);
}

.cdf-shop-nav {
    background: var(--cdf-navy);
    color: white;
}

.cdf-shop-nav__inner {
    display: grid;
    width: min(100% - 40px, 1440px);
    min-height: 58px;
    align-items: center;
    margin-inline: auto;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 560px);
    gap: 28px;
}

.cdf-menu--shop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 28px;
}

.cdf-menu--shop > li > a {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}

.cdf-menu--shop a {
    color: white;
    font-family: var(--cdf-ui);
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
}

.cdf-menu--shop a:hover,
.cdf-menu--shop a:focus-visible,
.cdf-menu--shop .current-menu-item > a {
    color: var(--cdf-yellow);
}

.cdf-menu--shop .sub-menu {
    display: none;
}

.cdf-shop-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 13px;
    font-family: var(--cdf-ui);
    font-size: 0.76rem;
    text-transform: uppercase;
}

.cdf-shop-search label {
    flex: 0 0 auto;
}

.cdf-shop-search__field {
    display: flex;
    min-width: 230px;
    min-height: 44px;
    overflow: hidden;
    border-radius: 999px;
    background: white;
}

.cdf-shop-search input[type="search"] {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0 15px;
    border: 0;
    outline: 0;
    color: var(--cdf-dark);
    font-family: var(--cdf-serif);
    font-size: 0.92rem;
    text-transform: none;
}

.cdf-shop-search button {
    display: grid;
    width: 46px;
    min-height: 44px;
    flex: 0 0 46px;
    place-items: center;
    border: 0;
    background: var(--cdf-red);
    color: white;
    cursor: pointer;
}

/* Breadcrumbs and heroes */
.cdf-breadcrumb-wrap {
    padding-top: 26px;
}

.cdf-breadcrumbs {
    color: var(--cdf-red);
    font-size: 0.78rem;
}

.cdf-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cdf-breadcrumbs li:not(:last-child)::after {
    content: "›";
    margin-left: 8px;
}

.cdf-breadcrumbs a {
    text-decoration: none;
}

.cdf-page-hero {
    position: relative;
    margin-top: 28px;
    padding: clamp(50px, 7vw, 95px) 0 clamp(58px, 8vw, 110px);
    overflow: hidden;
}

.cdf-page-hero::after {
    position: absolute;
    right: -2%;
    bottom: -17px;
    left: -2%;
    height: 30px;
    background: var(--cdf-ivory);
    content: "";
    clip-path: polygon(0 40%, 6% 56%, 14% 40%, 24% 58%, 34% 42%, 45% 59%, 56% 39%, 67% 57%, 79% 42%, 89% 61%, 100% 42%, 100% 100%, 0 100%);
}

.cdf-page-hero--yellow {
    background: var(--cdf-yellow);
    --cdf-torn-edge: url("/wp-content/uploads/2026/03/bordure-jaune-bas.svg");
}

.cdf-page-hero--red {
    background: var(--cdf-red);
    --cdf-torn-edge: url("/wp-content/uploads/2026/03/bordure-rouge-bas.svg");
}

.cdf-page-hero--yellow::after,
.cdf-page-hero--red::after {
    bottom: -1px;
    height: 38px;
    background: var(--cdf-torn-edge) center bottom / 100% 100% no-repeat;
    clip-path: none;
}

.cdf-page-hero--red h1,
.cdf-page-hero--red .cdf-eyebrow {
    color: var(--cdf-ivory);
}

.cdf-page-hero--navy {
    background: var(--cdf-navy);
    color: var(--cdf-ivory);
}

.cdf-page-hero--navy h1,
.cdf-page-hero--navy .cdf-eyebrow {
    color: var(--cdf-ivory);
}

.cdf-page-hero h1 {
    margin: 0;
    text-transform: uppercase;
}

/* Layouts and cards */
.cdf-grid {
    display: grid;
    gap: clamp(22px, 3vw, 36px);
}

.cdf-grid--cards {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.cdf-grid--articles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.search .cdf-grid--cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.search .cdf-page-hero {
    padding-block: 42px 74px;
}

body.search .cdf-page-hero h1 {
    max-width: 780px;
    font-size: clamp(3.2rem, 5.5vw, 5.4rem);
    line-height: .86;
}

body.search .cdf-card {
    overflow: hidden;
    padding-bottom: 18px;
    border-radius: 18px;
    background: var(--cdf-paper);
    box-shadow: var(--cdf-shadow);
}

body.search .cdf-card__body {
    padding: 15px 16px 0;
}

.cdf-card {
    min-width: 0;
}

.cdf-card__media {
    display: block;
    overflow: hidden;
    border-radius: 18px;
    background: var(--cdf-paper);
}

.cdf-card__media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 250ms ease;
}

.cdf-card:hover .cdf-card__media img {
    transform: scale(1.025);
}

.cdf-card__body {
    padding-top: 15px;
}

.cdf-card__eyebrow {
    margin-bottom: 4px;
    font-size: 0.68rem;
}

.cdf-card__title {
    margin: 0 0 8px;
    color: var(--cdf-red);
    font-family: var(--cdf-ui);
    font-size: 0.94rem;
    line-height: 1.1;
    text-transform: uppercase;
}

.cdf-card__title a {
    text-decoration: none;
}

.cdf-card__excerpt {
    margin: 10px 0;
    color: rgba(33, 10, 5, 0.78);
    font-size: 0.93rem;
    font-weight: 500;
    line-height: 1.4;
}

.cdf-content-with-sidebar {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
    gap: clamp(34px, 5vw, 72px);
}

.cdf-sidebar {
    display: grid;
    gap: 22px;
}

.cdf-sidebar-card {
    overflow: hidden;
    padding: 0 24px 26px;
    border-radius: 18px;
    background: var(--cdf-paper);
    box-shadow: var(--cdf-shadow);
    text-align: center;
}

.cdf-sidebar-card h2 {
    margin: 0 -24px 16px;
    padding: 8px 20px;
    background: var(--cdf-red);
    color: var(--cdf-ivory);
    font-family: var(--cdf-ui);
    font-size: 1.55rem;
    text-transform: uppercase;
}

.cdf-sidebar-card--yellow {
    background: var(--cdf-yellow);
    text-align: left;
}

.cdf-sidebar-card--yellow h2 {
    background: transparent;
    color: var(--cdf-red);
}

.cdf-social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cdf-social-card .cdf-social-links {
    justify-content: center;
}

.cdf-social-link {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: var(--cdf-red);
    color: white;
    font-family: Arial, sans-serif;
    font-size: 17px;
    text-decoration: none;
}

.cdf-social-link--spotify { background: #1db954; }
.cdf-social-link--facebook { background: #4267b2; }
.cdf-social-link--instagram { background: #e1306c; }
.cdf-social-link--linkedin { background: #0077b5; }
.cdf-social-link--youtube { background: #c4302b; }
.cdf-social-link--tiktok { background: #000; }

.cdf-section-cta {
    margin: 45px 0 0;
    text-align: center;
}

.cdf-pagination {
    margin-top: 60px;
}

.cdf-pagination .page-numbers,
.cdf-pagination > ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cdf-pagination > ul li {
    list-style: none;
}

.cdf-pagination a,
.cdf-pagination span {
    display: grid;
    min-width: 38px;
    height: 38px;
    place-items: center;
    color: var(--cdf-dark);
    font-family: var(--cdf-ui);
    font-size: 1.2rem;
    text-decoration: none;
}

.cdf-pagination .current,
.cdf-pagination .cdf-pag-current span {
    color: var(--cdf-red);
}

/* Homepage */
.cdf-home-hero {
    display: grid;
    min-height: 690px;
    grid-template-columns: minmax(0, 2fr) minmax(340px, 1fr);
}

.cdf-home-hero__main {
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: clamp(35px, 6vw, 90px);
    background: var(--cdf-hero-image) center / cover no-repeat;
    color: white;
}

.cdf-home-hero__main::before {
    position: absolute;
    inset: 0;
    background: rgba(33,10,5,.48);
    content: "";
}

.cdf-home-hero__content {
    position: relative;
    width: min(760px, 100%);
}

.cdf-home-hero__content h1,
.cdf-home-hero__content .cdf-eyebrow {
    color: var(--cdf-ivory);
}

.cdf-home-hero__content h1 {
    font-size: clamp(4.3rem, 7vw, 7.4rem);
    text-transform: uppercase;
}

.cdf-home-hero__content > p:not(.cdf-eyebrow) {
    width: min(650px, 100%);
    font-size: 1.24rem;
}

.cdf-home-hero__blog {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(38px, 5vw, 72px);
    background: var(--cdf-yellow);
}

.cdf-home-hero__blog h2 {
    max-width: 430px;
}

.cdf-home-latest .cdf-grid--cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cdf-home-latest .cdf-card,
.cdf-home-articles .cdf-card {
    display: grid;
    overflow: hidden;
    grid-template-columns: minmax(120px, 0.8fr) minmax(0, 1.2fr);
    border-radius: 18px;
    background: var(--cdf-paper);
    box-shadow: var(--cdf-shadow);
}

.cdf-home-latest .cdf-card__media,
.cdf-home-articles .cdf-card__media {
    border-radius: 0;
}

.cdf-home-latest .cdf-card__media img,
.cdf-home-articles .cdf-card__media img {
    height: 100%;
    min-height: 190px;
    aspect-ratio: auto;
}

.cdf-home-latest .cdf-card__body,
.cdf-home-articles .cdf-card__body {
    align-self: center;
    padding: 18px;
}

.cdf-home-shop {
    position: relative;
    overflow: hidden;
    background: var(--cdf-red);
    color: var(--cdf-ivory);
}

.cdf-home-shop::before,
.cdf-home-shop::after {
    position: absolute;
    right: 0;
    left: 0;
    height: 26px;
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    content: "";
    clip-path: none;
}

.cdf-home-shop::before { top: -1px; background-image: url("/wp-content/uploads/2026/03/bordure-rouge.svg"); }
.cdf-home-shop::after { bottom: -1px; background-image: url("/wp-content/uploads/2026/03/bordure-rouge-bas.svg"); }

.cdf-home-shop > .cdf-container {
    display: grid;
    align-items: center;
    grid-template-columns: minmax(260px, 0.78fr) minmax(0, 2fr);
    gap: 60px;
}

.cdf-home-shop h2,
.cdf-home-shop .cdf-eyebrow {
    color: var(--cdf-ivory);
}

.cdf-home-shop .products {
    margin: 0 !important;
}

.cdf-home-shop .woocommerce ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cdf-home-project {
    background: var(--cdf-yellow);
}

.cdf-home-project > .cdf-container {
    display: grid;
    align-items: center;
    grid-template-columns: 1.15fr 0.85fr;
    gap: clamp(40px, 7vw, 105px);
}

.cdf-home-project__images {
    display: grid;
    grid-template-columns: 1.5fr 0.75fr 0.75fr;
    gap: 14px;
}

.cdf-home-project__images img {
    width: 100%;
    height: 360px;
    border-radius: var(--cdf-radius);
    object-fit: cover;
}

.cdf-home-project__images img:not(:first-child) {
    height: 285px;
    align-self: center;
}

/* Editorial shop landing (formerly an Elementor archive template). */
.cdf-shop-v1 {
    color: var(--cdf-dark);
    background: var(--cdf-ivory);
}

.cdf-shop-v1__section,
.cdf-shop-v1__hero {
    width: min(1180px, calc(100% - 32px));
    margin-inline: auto;
}

.cdf-shop-v1__hero {
    display: grid;
    align-items: center;
    padding: clamp(44px, 7vw, 92px) 0 clamp(32px, 5vw, 64px);
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    gap: clamp(24px, 5vw, 58px);
}

.cdf-shop-v1__hero-media {
    min-height: clamp(280px, 42vw, 480px);
    border-radius: 8px;
    background: url("/wp-content/uploads/2026/05/unisex-classic-tee-navy-front-6a064530dcdbe-1024x1024.jpg") center / cover no-repeat;
}

.cdf-shop-v1__section {
    padding-block: clamp(34px, 5vw, 72px);
}

.cdf-shop-v1__section--compact {
    padding-top: clamp(22px, 4vw, 42px);
}

.cdf-shop-v1__eyebrow {
    margin: 0 0 12px;
    color: var(--cdf-navy);
    font-family: var(--cdf-ui);
    font-size: .8rem;
    text-transform: uppercase;
}

.cdf-shop-v1__lead,
.cdf-shop-v1__intro {
    max-width: 760px;
}

.cdf-shop-v1__lead {
    font-size: clamp(17px, 2vw, 21px);
}

.cdf-shop-v1__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.cdf-shop-v1__univers-grid,
.cdf-shop-v1__faq-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.cdf-shop-v1__faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cdf-shop-v1__tile,
.cdf-shop-v1__faq-item {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
    border: 1px solid var(--cdf-border);
    border-radius: 8px;
    background: white;
    box-shadow: var(--cdf-shadow);
    color: inherit;
    text-decoration: none;
}

.cdf-shop-v1__tile strong,
.cdf-shop-v1__faq-item strong {
    font-family: var(--cdf-display);
    font-size: 1.25rem;
    line-height: 1.2;
}

.cdf-shop-v1__anchor-target {
    scroll-margin-top: 24px;
}

.cdf-shop-v1 .woocommerce ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cdf-shop-v1 .cdf-theme-product-selection--columns-3 ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cdf-home-articles .cdf-grid--cards,
.cdf-related-articles .cdf-grid--cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Editorial content */
.cdf-article {
    overflow: hidden;
}

.cdf-prose {
    max-width: 920px;
    font-size: 1.05rem;
    line-height: 1.62;
}

.cdf-prose > *:first-child {
    margin-top: 0;
}

.cdf-prose h2,
.cdf-prose h3,
.cdf-prose h4 {
    margin-top: 1.4em;
    color: var(--cdf-red);
}

.cdf-prose h2 { font-size: clamp(2rem, 3vw, 3rem); }
.cdf-prose h3 { font-size: clamp(1.55rem, 2.3vw, 2.2rem); }

.cdf-prose img {
    width: min(100%, 680px);
    margin: 34px auto;
    border-radius: var(--cdf-radius);
}

.cdf-prose a {
    color: var(--cdf-red);
}

.cdf-legal-page {
    max-width: 1120px;
}

.cdf-legal-page > h1:first-child,
.cdf-legal-page > .elementor > h1:first-child {
    display: none;
}

.cdf-article-hero {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 589px;
    margin: 0;
    align-items: center;
    grid-template-columns: 28% 24% 48%;
    overflow: hidden;
    background: var(--cdf-article-image) center / cover no-repeat;
}

.cdf-article-hero > img {
    position: relative;
    z-index: 1;
    grid-column: 2;
    width: 100%;
    height: 509px;
    object-fit: cover;
}

.cdf-article__content figure.aligncenter {
    width: 368px;
    max-width: none;
    margin-inline: auto;
}

.cdf-article__content figure.alignwide {
    width: 1092px;
    max-width: none;
    margin-left: -92px;
}

.cdf-article__content figure img {
    width: 100%;
}

.cdf-article-hero::after {
    position: absolute;
    inset: 0;
    background: rgba(13,31,41,.52);
    content: "";
}

.cdf-article-hero__breadcrumbs {
    position: relative;
    z-index: 1;
    grid-column: 1;
    padding-inline: 40px 20px;
}

.cdf-article-hero__breadcrumbs .cdf-breadcrumbs,
.cdf-article-hero__breadcrumbs .cdf-breadcrumbs a {
    color: white;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .72);
}

.cdf-article-hero__overlay {
    position: relative;
    z-index: 1;
    grid-column: 3;
    padding-inline: 40px;
    color: white;
}

.cdf-article-hero__overlay h1,
.cdf-article-hero__overlay .cdf-eyebrow {
    max-width: 528px;
    color: white;
}

.cdf-article-hero__overlay h1 {
    font-size: clamp(3rem, 4vw, 4.35rem);
    line-height: .95;
}

/* Chant */
.cdf-chant-hero {
    background: var(--cdf-yellow);
}

.cdf-chant-hero__inner {
    display: grid;
    min-height: 412px;
    align-items: center;
    padding-block: 62px;
    grid-template-columns: 188px minmax(0, 1fr) 280px;
    gap: clamp(35px, 6vw, 80px);
}

.cdf-chant-hero__image {
    width: 100%;
    height: 268px;
    border-radius: 18px;
    object-fit: cover;
}

.cdf-chant-hero__content h1 {
    max-width: 700px;
    font-size: clamp(2.8rem, 4vw, 4.25rem);
    line-height: .92;
    text-transform: uppercase;
}

.cdf-chant-hero__excerpt {
    font-size: 1.15rem;
}

.cdf-chant-actions,
.cdf-streaming-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 18px;
}

.cdf-stream-btn {
    display: inline-flex;
    min-width: 42px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 999px;
    background: var(--cdf-ivory);
    color: var(--cdf-dark);
    text-decoration: none;
}

.cdf-chant-hero__qualification {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 12px;
}

.cdf-chant-hero__qualification .cdf-chant-actions,
.cdf-chant-hero__qualification .cdf-streaming-links {
    margin-top: 0;
}

.cdf-chant-hero__qualification .ncdf-qual-group {
    grid-template-columns: 1fr;
}

.cdf-chant-hero__qualification .ncdf-qual-meta,
.cdf-chant-hero__qualification .ncdf-qual-feedback {
    grid-column: 1;
}

.cdf-chant-hero__qualification .ncdf-qualification .ncdf-qual-btn {
    flex-basis: 44px;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
}

.cdf-chant-hero__qualification .cdf-fav-btn,
.cdf-chant-hero__qualification .cdf-pl-login {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
}

.cdf-chant__lyrics .cdf-partition-cta-wrap {
    margin: 0 0 28px;
}

.cdf-related-chants {
    padding-top: 22px;
}

.cdf-related-chants .cdf-grid--cards {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.cdf-related-chants .cdf-card__excerpt {
    display: none;
}

body.cdf-view-chant .cdf-content-with-sidebar {
    padding-bottom: 12px;
}

body.cdf-view-chant .cdf-related-chants {
    padding-bottom: 54px;
}

body.cdf-view-chant .cdf-related-articles {
    padding-top: 48px;
}

body.cdf-view-chant .cdf-related-articles .cdf-grid--cards {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.cdf-chant__lyrics {
    white-space: pre-line;
}

.cdf-chant__lyrics > * {
    white-space: normal;
}

.cdf-chant__lyrics p:first-child {
    white-space: pre-line;
}

.cdf-chant-histoire {
    margin-top: 55px;
}

.cdf-chant-carnets {
    margin-top: 45px;
    padding: 22px;
    border-radius: var(--cdf-radius);
    background: var(--cdf-yellow);
}

.cdf-chant-carnets ul {
    columns: 2;
}

.cdf-linked-products {
    background: var(--cdf-yellow);
}

/* Carnets and repertoire */
.cdf-carnet-hero,
.cdf-repertoire-hero {
    background: var(--cdf-yellow);
}

.cdf-carnet-hero__inner {
    display: grid;
    align-items: center;
    min-height: 109px;
    padding-inline: 20px;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 34px;
}

.cdf-carnet-hero__inner h1 {
    margin: 0;
    color: var(--cdf-red);
    font-size: clamp(2.5rem, 4vw, 4rem);
    text-transform: uppercase;
}

.cdf-carnet-hero .cdf-breadcrumbs {
    margin: 0;
}

.cdf-carnet__intro {
    margin-bottom: 55px;
}

.cdf-carnet__chants {
    margin-top: 60px;
}

.cdf-repertoire-hero > .cdf-container {
    display: flex;
    min-height: 220px;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-inline: 20px;
}

.cdf-repertoire-hero h1 {
    margin: 0 0 14px;
    color: var(--cdf-red);
    font-size: 3.375rem;
    line-height: 1;
}

.cdf-repertoire-quick-search {
    width: min(520px, 62vw);
}

.cdf-repertoire-quick-search .cdf-search-form,
.cdf-repertoire-quick-search .cdf-search-bar {
    width: 100%;
}

.cdf-repertoire-quick-search .cdf-search-results,
.cdf-repertoire-quick-search .cdf-search-total,
.cdf-repertoire-quick-search .cdf-facets {
    display: none !important;
}

.cdf-repertoire-quick-search .cdf-search-input-wrap {
    min-height: 38px;
}

.cdf-repertoire-layout {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
    gap: 40px;
}

.cdf-repertoire-layout > .cdf-universes {
    min-width: 0;
}

.cdf-repertoire-layout > .cdf-sidebar {
    position: sticky;
    top: 20px;
}

.cdf-universe {
    margin-bottom: 42px;
}

.cdf-universe__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 16px;
}

.cdf-universe__header h2 {
    margin: 0;
    font-size: 2rem;
}

.cdf-universe__header h2 a {
    text-decoration: none;
}

.cdf-carnet-children ul,
ul.cdf-carnet-chants-list,
ul.cdf-playlist-chants,
ul.cdf-my-favorites {
    display: grid;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    list-style: none;
}

.cdf-carnet-children li,
.cdf-carnet-chants-list li,
.cdf-playlist-chants li,
.cdf-my-favorites li {
    position: relative;
    min-width: 0;
}

.cdf-carnet-children a,
.cdf-carnet-chants-list > li > a,
.cdf-playlist-chants > li > a,
.cdf-my-favorites > li > a {
    display: grid;
    gap: 6px;
    color: var(--cdf-dark);
    font-family: var(--cdf-ui);
    font-size: 0.74rem;
    line-height: 1.15;
    text-decoration: none;
}

.cdf-carnet-children img,
.cdf-carnet-chants-list img,
.cdf-playlist-chants img,
.cdf-my-favorites img {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 12px;
    object-fit: cover;
    box-shadow: var(--cdf-shadow);
}

.cdf-carnet-children a:hover img,
.cdf-carnet-chants-list a:hover img,
.cdf-playlist-chants a:hover img {
    filter: brightness(.9);
}

.cdf-top-chants-grid {
    min-width: 0;
}

.cdf-top-chants-grid > ul {
    width: 100%;
}

/* Project */
.cdf-project-hero > .cdf-container,
.cdf-project-team > .cdf-container,
.cdf-project-open > .cdf-container:first-child {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 7vw, 100px);
}

.cdf-project-hero {
    padding-block: 55px;
}

.cdf-project-hero h1 {
    text-transform: uppercase;
}

.cdf-project-hero p {
    color: var(--cdf-red-hover);
    font-family: var(--cdf-display);
    font-size: clamp(1.8rem, 3.4vw, 3rem);
    line-height: 1;
}

.cdf-project-hero img,
.cdf-project-team img,
.cdf-project-open img {
    width: 100%;
    border-radius: var(--cdf-radius);
}

.cdf-project-intro,
.cdf-project-audience {
    padding-block: clamp(45px, 6vw, 80px);
    background: var(--cdf-yellow);
    text-align: center;
}

.cdf-project-intro .cdf-prose,
.cdf-project-audience .cdf-container {
    max-width: 1080px;
    margin-inline: auto;
    font-size: 1.2rem;
}

.cdf-project-results__lead {
    text-align: center;
}

.cdf-metrics {
    display: grid;
    margin-top: 45px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 25px;
    text-align: center;
}

.cdf-metrics strong {
    display: block;
    margin-bottom: 14px;
    font-size: clamp(2rem, 3vw, 3.4rem);
}

.cdf-metrics h3,
.cdf-project-products h3 {
    color: var(--cdf-dark);
    font-family: var(--cdf-ui);
    font-size: 1rem;
    text-transform: uppercase;
}

.cdf-metrics p,
.cdf-project-products p {
    font-size: 0.83rem;
    line-height: 1.35;
}

.cdf-project-products {
    display: grid;
    max-width: 980px;
    margin: 60px auto 0;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    text-align: center;
}

.cdf-project-products .dashicons {
    width: 38px;
    height: 38px;
    color: var(--cdf-red);
    font-size: 38px;
}

.cdf-project-next {
    text-align: center;
}

.cdf-project-next .cdf-prose {
    margin-inline: auto;
}

.cdf-project-ctas {
    display: flex;
    justify-content: space-around;
    gap: 20px;
    margin-top: 65px;
}

/* Forms */
.cdf-contact-layout,
.cdf-contribution-layout {
    display: grid;
    align-items: start;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 7vw, 90px);
}

.cdf-contact-intro {
    margin-bottom: 28px;
    font-size: 1.14rem;
}

.cdf-contact-image {
    width: 100%;
    margin-top: 64px;
    border-radius: var(--cdf-radius);
}

.cdf-form {
    display: grid;
    gap: 8px;
}

.cdf-form label {
    margin-top: 12px;
    color: var(--cdf-dark);
    font-family: var(--cdf-ui);
    font-size: 0.88rem;
    text-transform: uppercase;
}

.cdf-form label span {
    color: var(--cdf-red);
}

.cdf-form input,
.cdf-form textarea,
.cdf-form select,
.cdf-commerce-page input,
.cdf-commerce-page textarea,
.cdf-commerce-page select {
    width: 100%;
    min-height: 48px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 0;
    background: var(--cdf-yellow);
    color: var(--cdf-dark);
    font-weight: 500;
}

.cdf-form textarea {
    resize: vertical;
}

.cdf-form input:focus,
.cdf-form textarea:focus {
    border-color: var(--cdf-red);
    outline: 0;
}

.cdf-form .cdf-button {
    width: 100%;
    margin-top: 18px;
}

.cdf-form__columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.cdf-form-notice {
    margin: 0 0 20px;
    padding: 14px 18px;
    border-radius: 10px;
}

.cdf-form-notice--success {
    background: var(--cdf-green);
}

.cdf-form-notice--error {
    background: #fbe5df;
    color: #80220f;
}

.cdfa-login-gate {
    padding: clamp(24px, 4vw, 42px);
    border-radius: var(--cdf-radius);
    background: var(--cdf-yellow);
}

.cdfa-login-gate__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.cdfa-login-gate__btn {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 26px;
    border-radius: 999px;
    background: var(--cdf-red);
    color: white;
    font-family: var(--cdf-ui);
    text-decoration: none;
    text-transform: uppercase;
}

.cdfa-login-gate__btn--secondary {
    background: var(--cdf-dark);
}

.cdf-contribution-copy {
    padding: 0;
    background: transparent;
}

.cdf-contribution-copy > img {
    display: none;
}

.cdf-contribution-editorial {
    display: grid;
    max-width: var(--cdf-container);
    padding-bottom: 80px;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 44px 70px;
}

.cdf-contribution-editorial article {
    grid-column: 1;
}

.cdf-contribution-editorial__image {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
}

.cdf-contribution-editorial__image img {
    width: 100%;
    margin: 0;
}

/* Newsletter/footer */
.cdf-newsletter {
    display: grid;
    width: calc(100% - 20px);
    max-width: 1420px;
    margin: 10px auto 0;
    padding: clamp(24px, 3vw, 36px);
    align-items: center;
    grid-template-columns: 0.85fr 1.15fr 1fr;
    gap: clamp(24px, 4vw, 55px);
    border-radius: 20px;
    background: var(--cdf-red);
    color: var(--cdf-ivory);
}

.cdf-newsletter h2,
.cdf-newsletter .cdf-newsletter__kicker {
    color: var(--cdf-ivory);
}

.cdf-newsletter h2 {
    margin: 0;
    font-size: clamp(2.3rem, 3.8vw, 3.55rem);
    text-transform: none;
}

.cdf-newsletter__form {
    display: grid;
    gap: 10px;
}

.cdf-newsletter__kicker {
    margin-bottom: 5px;
    text-align: center;
}

.cdf-newsletter input {
    width: 100%;
    min-height: 44px;
    padding: 8px 16px;
    border: 0;
    background: white;
}

.cdf-newsletter .cdf-button {
    width: 100%;
    min-height: 44px;
}

.cdf-newsletter__benefits p {
    margin-bottom: 5px;
}

.cdf-newsletter__benefits ul {
    margin-block: 0;
    padding-left: 24px;
}

.cdf-site-footer {
    display: grid;
    margin-top: 10px;
    grid-template-columns: 2.05fr 0.95fr;
    background: var(--cdf-dark);
    color: var(--cdf-ivory);
}

.cdf-site-footer__main {
    display: grid;
    min-height: 423px;
    padding: clamp(35px, 4vw, 60px);
    grid-template-columns: 1.15fr 0.65fr 1fr;
    gap: clamp(30px, 5vw, 70px);
}

.cdf-site-footer__brand img {
    width: 195px;
    margin-bottom: 20px;
}

.cdf-site-footer__brand p {
    max-width: 330px;
}

.cdf-site-footer__brand hr {
    width: 240px;
    max-width: 100%;
    margin: 28px 0 20px;
    border: 0;
    border-top: 1px solid var(--cdf-ivory);
}

.cdf-site-footer__brand .cdf-social-links {
    margin-top: 20px;
}

.cdf-site-footer__brand .cdf-social-link {
    background: transparent;
    color: var(--cdf-ivory);
}

.cdf-footer-nav-group,
.cdf-footer-nav {
    align-self: center;
}

.cdf-footer-nav-toggle {
    display: none;
}

.cdf-menu--footer {
    display: grid;
    gap: 19px;
}

.cdf-menu--footer a {
    color: var(--cdf-ivory);
}

.cdf-site-footer__apps {
    position: relative;
    display: grid;
    min-height: 423px;
    place-items: center;
    overflow: hidden;
    background: var(--cdf-yellow);
}

.cdf-site-footer__apps::before {
    position: absolute;
    inset: 0;
    background: var(--cdf-footer-portrait) center bottom / contain no-repeat;
    content: "";
    filter: sepia(.4) saturate(.6) contrast(1.15);
}

.cdf-app-links {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 15px;
    justify-items: center;
}

.cdf-app-links .cdf-button {
    min-width: 245px;
}

/* Empty / 404 */
.cdf-empty-state,
.cdf-404 {
    text-align: center;
}

.cdf-404 {
    display: grid;
    min-height: 153px;
    place-items: center;
    padding: 24px 0;
    background: var(--cdf-yellow);
}

.cdf-404__number {
    margin: 0;
    color: var(--cdf-red);
    font-family: var(--cdf-display);
    font-size: clamp(4.25rem, 9vw, 7rem);
    line-height: .7;
}

.cdf-404 h1,
.cdf-404 p:not(.cdf-404__number) {
    margin-block: 6px;
}

.cdf-member-login {
    display: grid;
    max-width: 690px;
    gap: 10px;
}

.cdf-member-login input[type="text"],
.cdf-member-login input[type="password"] {
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid var(--cdf-border);
    background: white;
}

.cdf-member-login__remember {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cdf-member-login .cdf-button {
    justify-self: start;
}

.cdf-member-canvas-page {
    background: var(--cdf-ivory);
}

.cdf-member-canvas {
    display: grid;
    min-height: 710px;
    padding: 10px 20px 34px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 298px 162px 162px;
    column-gap: 30px;
}

.cdf-member-canvas__hero {
    padding: 72px 20px;
    border-radius: 18px;
    background: var(--cdf-navy);
    color: white;
}

.cdf-member-canvas__hero h1 {
    margin: 0 0 18px;
    color: white;
    font-size: clamp(3.7rem, 5vw, 4.6rem);
}

.cdf-member-canvas__hero p {
    margin: 0;
    font-size: 1.15rem;
}

.cdf-member-canvas > .cdf-member-login {
    max-width: none;
    padding-top: 12px;
}

.cdf-member-canvas__collection {
    grid-column: 1 / -1;
    padding-top: 28px;
}

.cdf-member-canvas__collection h2 {
    margin: 0 0 34px;
    color: var(--cdf-red);
    font-size: 3rem;
}

.cdf-member-canvas__collection p {
    margin: 0;
    text-align: center;
    font-style: italic;
}

@media (max-width: 1180px) {
    .cdf-site-header__inner {
        min-height: 175px;
        grid-template-columns: 160px 1fr auto;
    }

    .cdf-primary-nav {
        display: none;
    }

    .cdf-menu-toggle {
        display: inline-grid;
        grid-column: 2;
        grid-row: 1;
        justify-self: start;
    }

    .cdf-header-actions {
        grid-column: 3;
    }

    .cdf-grid--cards,
    .cdf-home-latest .cdf-grid--cards,
    ul.cdf-carnet-chants-list,
    ul.cdf-playlist-chants,
    ul.cdf-my-favorites {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .cdf-repertoire-layout .cdf-carnet-children ul {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .cdf-metrics {
        grid-template-columns: repeat(3, 1fr);
    }

    .cdf-shop-nav__inner {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-block: 16px;
    }

    .cdf-shop-search {
        justify-content: flex-start;
    }

    .cdf-newsletter {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .cdf-newsletter__form {
        width: min(100%, 560px);
        margin-inline: auto;
    }

    .cdf-newsletter__benefits {
        width: min(100%, 560px);
        margin-inline: auto;
        text-align: left;
    }

    .cdf-article-hero {
        min-height: 428px;
        grid-template-columns: 28.8% 23% 48.2%;
    }

    .cdf-article-hero > img {
        height: 348px;
    }

    .cdf-article__content figure.aligncenter {
        width: 327px;
    }

    .cdf-article__content figure.alignwide {
        width: 814px;
        margin-left: -91px;
    }
}

@media (max-width: 900px) {
    body.admin-bar .cdf-site-header {
        top: 0;
    }

    .cdf-site-header__inner {
        width: calc(100% - 28px);
        min-height: 128px;
        grid-template-columns: 120px 1fr auto auto;
        gap: 12px;
    }

    .cdf-site-logo {
        width: 112px;
    }

    .cdf-menu-toggle {
        grid-column: 2;
        grid-row: 1;
        justify-self: start;
    }

    .cdf-header-actions {
        display: contents;
    }

    .cdf-header-search {
        display: none;
    }

    .cdf-account-link {
        grid-column: 4;
        grid-row: 1;
    }

    .cdf-cart-link {
        grid-column: 3;
        grid-row: 1;
    }

    .cdf-icon-button,
    .cdf-menu-toggle {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .cdf-mobile-search {
        display: block;
        width: calc(100% - 28px);
        margin: -7px auto 13px;
    }

    .cdf-mobile-search .cdf-header-search {
        display: block;
        width: 100%;
    }

    .cdf-mobile-drawer {
        position: fixed;
        z-index: 2000;
        inset: 0;
        display: block;
        background: rgba(33, 10, 5, 0.66);
    }

    .cdf-mobile-drawer[hidden] {
        display: none;
    }

    .cdf-mobile-drawer__panel {
        width: min(88vw, 430px);
        height: 100%;
        margin-left: auto;
        padding: 20px;
        overflow-y: auto;
        background: var(--cdf-ivory);
    }

    .cdf-mobile-drawer__top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 30px;
    }

    .cdf-mobile-drawer__top img {
        width: 130px;
    }

    .cdf-menu--mobile {
        display: grid;
    }

    .cdf-mobile-drawer__shop-link {
        width: 100%;
        margin-bottom: 16px;
    }

    .cdf-menu--mobile li {
        border-bottom: 1px solid var(--cdf-yellow);
    }

    .cdf-menu--mobile a {
        display: block;
        padding: 14px 8px;
    }

    .cdf-menu--mobile .sub-menu {
        margin: 0 0 10px;
        padding-left: 18px;
        list-style: none;
    }

    .cdf-mobile-drawer__actions {
        display: grid;
        gap: 12px;
        margin-top: 28px;
    }

    .cdf-menu-open {
        overflow: hidden;
    }

    .cdf-article-hero {
        min-height: 321px;
        grid-template-columns: 30% 21.2% 48.8%;
    }

    .cdf-article-hero > img {
        height: 241px;
    }

    .cdf-article-hero__overlay {
        padding-inline: 20px 40px;
    }

    .cdf-article-hero__overlay h1 {
        font-size: clamp(2.7rem, 6.2vw, 4rem);
    }

    .cdf-home-hero {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .cdf-home-hero > * {
        min-width: 0;
    }

    .cdf-home-hero__main {
        min-height: 650px;
    }

    .cdf-home-hero__blog {
        min-height: 410px;
    }

    .cdf-grid--cards,
    .cdf-home-latest .cdf-grid--cards,
    .cdf-grid--articles,
    .cdf-home-articles .cdf-grid--cards,
    .cdf-related-articles .cdf-grid--cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cdf-home-latest .cdf-card,
    .cdf-home-articles .cdf-card {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .cdf-content-with-sidebar,
    .cdf-contact-layout,
    .cdf-contribution-layout,
    .cdf-home-shop > .cdf-container,
    .cdf-home-project > .cdf-container,
    .cdf-project-hero > .cdf-container,
    .cdf-project-team > .cdf-container,
    .cdf-project-open > .cdf-container:first-child {
        grid-template-columns: 1fr;
    }

    .cdf-repertoire-layout {
        grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
        gap: 20px;
    }

    .cdf-sidebar {
        max-width: 580px;
    }

    .cdf-chant-hero__inner {
        grid-template-columns: 180px minmax(0, 1fr) 240px;
        gap: 28px;
    }

    .cdf-carnet-children ul,
    ul.cdf-carnet-chants-list,
    ul.cdf-playlist-chants,
    ul.cdf-my-favorites {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cdf-repertoire-layout .cdf-carnet-children ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cdf-carnet-hero__inner {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .cdf-home-shop__intro {
        max-width: 680px;
    }

    .cdf-home-shop .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cdf-home-project__images {
        order: 2;
    }

    .cdf-shop-v1__hero {
        grid-template-columns: 1fr;
    }

    .cdf-shop-v1__univers-grid,
    .cdf-shop-v1 .woocommerce ul.products,
    .cdf-shop-v1 .cdf-theme-product-selection--columns-3 ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cdf-site-footer {
        grid-template-columns: 2.05fr .95fr;
    }

    .cdf-site-footer__apps {
        min-height: 632px;
    }

    .cdf-app-links {
        width: 100%;
        padding-inline: 8px;
    }

    .cdf-app-links .cdf-button {
        width: 100%;
        min-width: 0;
        padding-inline: 10px;
    }

    body.cdf-view-carnet .cdf-content-with-sidebar {
        grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
        gap: 20px;
    }

    body.single-post:not(.single-chant) .cdf-content-with-sidebar {
        grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
        gap: 20px;
    }

    body.cdf-view-carnet .cdf-sidebar {
        max-width: none;
    }

    body.cdf-view-carnet ul.cdf-carnet-chants-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cdf-article__content figure.aligncenter {
        width: 238px;
    }

    .cdf-article__content figure.alignwide {
        width: 635px;
        margin-left: -83px;
    }
}

@media (max-width: 620px) {
    :root {
        --cdf-gutter: 14px;
        --cdf-radius: 14px;
    }

    body {
        font-size: 16px;
    }

    .cdf-404 {
        min-height: 122px;
        padding: 18px 0;
    }

    .cdf-404__number {
        font-size: 3.5rem;
    }

    .cdf-404 h1 {
        font-size: 1.5rem;
    }

    .cdf-404 .cdf-button {
        display: none;
    }

    h1 {
        font-size: clamp(3rem, 15vw, 4.2rem);
    }

    h2 {
        font-size: clamp(2.1rem, 11vw, 3rem);
    }

    .cdf-site-header__inner {
        min-height: 82px;
        grid-template-columns: 105px 1fr auto auto;
        gap: 8px;
    }

    .cdf-site-header {
        min-height: 151px;
    }

    .cdf-mobile-search {
        margin-top: -4px;
    }

    .cdf-site-logo {
        width: 100px;
    }

    .cdf-account-link,
    .cdf-cart-link,
    .cdf-menu-toggle {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .cdf-icon-button .dashicons,
    .cdf-menu-toggle .dashicons {
        width: 21px;
        height: 21px;
        font-size: 21px;
    }

    .cdf-button {
        min-height: 44px;
        padding: 10px 20px;
        font-size: 0.78rem;
    }

    .cdf-shop-nav__inner {
        width: calc(100% - 28px);
        min-height: 62px;
        padding-block: 10px;
    }

    .cdf-shop-nav nav {
        display: none;
    }

    .cdf-shop-search {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 10px;
    }

    .cdf-shop-search label {
        max-width: 78px;
        line-height: 1.05;
    }

    .cdf-shop-search__field {
        min-width: 0;
    }

    .cdf-page-hero {
        margin-top: 14px;
        padding-block: 45px 60px;
    }

    body.search .cdf-page-hero {
        padding-block: 28px 45px;
    }

    body.search .cdf-page-hero h1 {
        font-size: 2.45rem;
        line-height: .9;
    }

    .cdf-breadcrumb-wrap {
        padding-top: 18px;
    }

    .cdf-home-hero__main {
        min-height: 610px;
        align-items: flex-end;
        padding: 30px 18px 42px;
    }

    .cdf-home-hero__main,
    .cdf-home-hero__blog,
    .cdf-home-shop__intro,
    .cdf-home-shop__products {
        min-width: 0;
    }

    .cdf-home-hero__content h1 {
        font-size: clamp(3.2rem, 15vw, 4rem);
        overflow-wrap: anywhere;
    }

    .cdf-home-hero__content > p:not(.cdf-eyebrow) {
        font-size: 1rem;
    }

    .cdf-home-hero__blog {
        min-height: 360px;
        padding: 36px 20px;
    }

    .cdf-grid--cards,
    .cdf-home-latest .cdf-grid--cards,
    .cdf-grid--articles,
    .cdf-home-articles .cdf-grid--cards,
    .cdf-related-articles .cdf-grid--cards {
        grid-template-columns: 1fr;
    }

    body.search .cdf-grid--cards,
    body.blog .cdf-grid--articles,
    .cdf-home-shop .woocommerce ul.products {
        grid-template-columns: 1fr;
    }

    .cdf-card {
        display: grid;
        grid-template-columns: 104px 1fr;
        gap: 14px;
        padding: 10px;
        border-radius: 12px;
        background: var(--cdf-paper);
        box-shadow: var(--cdf-shadow);
    }

    .cdf-card__media img {
        aspect-ratio: 1;
        border-radius: 10px;
    }

    .cdf-card__body {
        align-self: center;
        padding: 0;
    }

    .cdf-card__excerpt {
        display: none;
    }

    .cdf-home-latest .cdf-card,
    .cdf-home-articles .cdf-card {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 14px;
        padding: 10px;
    }

    .cdf-home-latest .cdf-card__media,
    .cdf-home-articles .cdf-card__media {
        border-radius: 10px;
    }

    .cdf-home-latest .cdf-card__media img,
    .cdf-home-articles .cdf-card__media img {
        min-height: 0;
        aspect-ratio: 1;
    }

    .cdf-home-latest .cdf-card__body,
    .cdf-home-articles .cdf-card__body {
        padding: 0;
    }

    .cdf-home-latest .cdf-text-link {
        display: none;
    }

    body.search .cdf-card,
    body.blog .cdf-card {
        display: block;
        padding: 0 0 18px;
        overflow: hidden;
    }

    body.search .cdf-card__media img,
    body.blog .cdf-card__media img {
        aspect-ratio: 4 / 3;
        border-radius: 0;
    }

    body.search .cdf-card__body,
    body.blog .cdf-card__body {
        padding: 18px 18px 0;
    }

    body.search .cdf-card__excerpt,
    body.blog .cdf-card__excerpt {
        display: block;
    }

    .cdf-home-shop > .cdf-container {
        gap: 35px;
    }

    .cdf-home-shop > .cdf-container > * {
        min-width: 0;
    }

    .cdf-shop-v1__hero,
    .cdf-shop-v1__section {
        width: min(100% - 24px, 1180px);
    }

    .cdf-shop-v1__hero-media {
        min-height: 260px;
    }

    .cdf-shop-v1__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .cdf-shop-v1__univers-grid,
    .cdf-shop-v1__faq-grid,
    .cdf-shop-v1 .woocommerce ul.products,
    .cdf-shop-v1 .cdf-theme-product-selection--columns-3 ul.products {
        grid-template-columns: 1fr;
    }

    .cdf-home-project__images {
        grid-template-columns: 1fr 1fr;
    }

    .cdf-home-project__images img {
        height: 210px;
    }

    .cdf-home-project__images img:first-child {
        grid-column: 1 / -1;
    }

    .cdf-home-project__images img:not(:first-child) {
        height: 170px;
    }

    .cdf-article-hero {
        display: flex;
        min-height: 540px;
        padding: 40px;
        align-items: stretch;
        flex-direction: column;
        justify-content: space-between;
        background-position: center;
    }

    .cdf-article-hero__breadcrumbs,
    .cdf-article-hero__overlay {
        padding: 0;
    }

    .cdf-article-hero > img {
        width: 192px;
        height: 285px;
        margin-top: auto;
        align-self: center;
        object-fit: cover;
    }

    .cdf-article-hero__overlay h1 {
        margin: 20px 0 0;
        font-size: 2rem;
        line-height: 1;
    }

    .cdf-chant-hero__inner {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 24px 8px 28px;
    }

    .cdf-chant-hero__image {
        width: 140px;
        height: 200px;
        max-width: none;
    }

    .cdf-chant-hero__content h1 {
        margin-bottom: 10px;
        font-size: 2rem;
        line-height: .92;
    }

    .cdf-chant-hero__qualification {
        justify-items: stretch;
    }

    body.cdf-view-chant .cdf-chant-hero__qualification .cdf-button {
        display: none;
    }

    body.cdf-view-chant .cdf-chant-hero__content .cdf-breadcrumbs,
    body.cdf-view-chant .cdf-chant-hero__qualification .cdf-fav-btn,
    body.cdf-view-chant .cdf-chant-hero__qualification .cdf-pl-login,
    body.cdf-view-chant .cdf-chant-hero__qualification .cdf-streaming-links {
        display: none;
    }

    body.cdf-view-chant .cdf-chant-hero {
        min-height: 560px;
    }

    body.cdf-view-chant .cdf-chant__lyrics {
        font-size: .92rem;
        line-height: 1.5;
    }

    body.cdf-view-chant .cdf-related-chants {
        padding-block: 8px 26px;
    }

    body.cdf-view-chant .cdf-related-articles {
        padding-block: 32px;
    }

    body.cdf-view-chant .cdf-related-articles .cdf-grid--cards {
        grid-template-columns: 1fr;
    }

    .cdf-related-chants .cdf-grid--cards {
        grid-template-columns: 1fr;
    }

    .cdf-content-with-sidebar {
        gap: 45px;
    }

    body.cdf-view-carnet .cdf-content-with-sidebar {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    body.single-post:not(.single-chant) .cdf-content-with-sidebar {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    body.single-post:not(.single-chant) .cdf-content-with-sidebar > * {
        width: 100%;
        min-width: 0;
    }

    body.cdf-view-carnet ul.cdf-carnet-chants-list {
        grid-template-columns: 1fr;
    }

    .cdf-article__content figure.aligncenter {
        width: 175px;
    }

    .cdf-article__content figure.alignwide {
        width: 510px;
        margin-left: -74px;
    }

    .cdf-carnet-hero__inner {
        min-height: 110px;
        padding: 18px 20px;
        align-items: start;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .cdf-carnet-hero__inner h1 {
        font-size: 2.25rem;
    }

    .cdf-carnet-hero .cdf-breadcrumbs {
        font-size: 0.72rem;
    }

    .cdf-repertoire-hero > .cdf-container {
        min-height: 212px;
        padding: 20px;
        align-items: stretch;
        flex-direction: column;
        justify-content: center;
    }

    .cdf-repertoire-hero h1 {
        font-size: 2.25rem;
    }

    .cdf-repertoire-quick-search {
        width: 100%;
    }

    .cdf-repertoire-layout {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-block: 20px;
    }

    .cdf-repertoire-layout > .cdf-sidebar {
        position: static;
    }

    .cdf-carnet-children ul,
    ul.cdf-carnet-chants-list,
    ul.cdf-playlist-chants,
    ul.cdf-my-favorites {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .cdf-repertoire-layout .cdf-carnet-children ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .cdf-repertoire-layout .cdf-carnet-children a {
        display: grid;
        padding: 0;
        grid-template-columns: 1fr;
        gap: 6px;
        border-radius: 0;
        background: transparent;
    }

    .cdf-repertoire-layout .cdf-carnet-children img {
        width: 100%;
        height: auto;
    }

    .cdf-repertoire-layout .cdf-carnet-children a,
    .cdf-repertoire-layout .cdf-top-chants-grid a {
        font-size: 0.7rem;
    }

    .cdf-carnet-children a,
    .cdf-carnet-chants-list > li > a,
    .cdf-playlist-chants > li > a,
    .cdf-my-favorites > li > a {
        grid-template-columns: 68px 1fr;
        align-items: center;
        padding: 8px;
        border-radius: 10px;
        background: rgba(33,10,5,.025);
    }

    .cdf-carnet-children img,
    .cdf-carnet-chants-list img,
    .cdf-playlist-chants img,
    .cdf-my-favorites img {
        width: 68px;
        height: 68px;
    }

    .cdf-universe__header {
        align-items: flex-end;
    }

    .cdf-universe__header .cdf-button {
        padding-inline: 13px;
    }

    .cdf-metrics {
        grid-template-columns: 1fr;
    }

    .cdf-metrics article {
        display: grid;
        grid-template-columns: 120px 1fr;
        align-items: center;
        text-align: left;
    }

    .cdf-metrics article p {
        grid-column: 2;
    }

    .cdf-project-products,
    .cdf-form__columns {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .cdf-contribution-editorial {
        grid-template-columns: 1fr;
    }

    .cdf-contribution-editorial article,
    .cdf-contribution-editorial__image {
        grid-column: 1;
        grid-row: auto;
    }

    .cdf-contribution-editorial__image {
        order: 3;
    }

    .cdf-project-ctas {
        flex-direction: column;
    }

    .cdf-contact-image {
        margin-top: 0;
    }

    .cdf-newsletter {
        width: calc(100% - 16px);
        padding: 22px 16px;
        grid-template-columns: 1fr;
        border-radius: 16px;
    }

    .cdf-newsletter__title {
        text-align: center;
    }

    .cdf-newsletter__benefits {
        grid-column: auto;
    }

    .cdf-site-footer__main {
        min-height: 425px;
        padding: 28px 20px 20px;
        grid-template-columns: 1fr 1fr;
        gap: 16px 20px;
    }

    .cdf-site-footer__brand {
        grid-column: 1 / -1;
    }

    .cdf-site-footer__brand img {
        width: 150px;
        margin-bottom: 10px;
    }

    .cdf-site-footer__brand p {
        margin-block: 8px;
        font-size: .9rem;
        line-height: 1.42;
    }

    .cdf-site-footer__brand hr {
        margin: 18px 0 14px;
    }

    .cdf-site-footer__brand .cdf-social-links {
        margin-top: 12px;
    }

    .cdf-footer-nav-group {
        align-self: end;
        text-align: center;
    }

    .cdf-footer-nav-toggle {
        display: inline-grid;
        width: 44px;
        height: 44px;
        padding: 0;
        place-items: center;
        border: 0;
        background: transparent;
        color: var(--cdf-ivory);
        cursor: pointer;
    }

    .cdf-footer-nav-toggle .dashicons {
        width: 30px;
        height: 30px;
        font-size: 30px;
    }

    .cdf-footer-nav {
        display: none;
        margin-top: 14px;
        text-align: left;
    }

    .cdf-footer-nav-group.is-open .cdf-footer-nav {
        display: block;
    }

    .cdf-footer-nav-group.is-open {
        grid-column: 1 / -1;
        align-self: start;
    }

    .cdf-menu--footer {
        gap: 12px;
    }

    .cdf-site-footer__apps {
        min-height: 180px;
    }

    .cdf-site-footer {
        grid-template-columns: 1fr;
    }

    .cdf-app-links .cdf-button {
        min-width: 220px;
    }

    .cdf-member-canvas {
        min-height: 780px;
        padding: 10px 10px 24px;
        grid-template-columns: 1fr;
        grid-template-rows: 135px auto 164px 164px;
        gap: 0;
    }

    .cdf-member-canvas__hero {
        padding: 18px 20px;
    }

    .cdf-member-canvas__hero h1 {
        margin-bottom: 18px;
        font-size: 2.45rem;
    }

    .cdf-member-canvas__hero p {
        font-size: 1rem;
    }

    .cdf-member-canvas > .cdf-member-login {
        padding: 12px 10px 16px;
    }

    .cdf-member-canvas__collection {
        grid-column: 1;
        padding-top: 20px;
    }

    .cdf-member-canvas__collection h2 {
        margin-bottom: 42px;
        font-size: 2rem;
    }
}

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