/*
 * Pages « Fridge ville » (gabarit templates/page-fridge-ville.php).
 *
 * Reprend l'habillage des sites frères (Rouen, Bruxelles, Montpellier) pour
 * une page hébergée sur le site de Paris : polices Futura PT Condensed,
 * Galano Grotesque et Antikor Text, bleu #1500FF, fond nuit, bandeaux
 * défilants. Chargée uniquement sur ce gabarit (fridge_city_enqueues()).
 *
 * Tout est préfixé par body.fridge-city : le kit Elementor de Paris (Poppins)
 * et les feuilles du thème restent sans effet ici, et rien de ce fichier ne
 * peut fuir sur le reste du site.
 *
 * Le contenu est posé dans Elementor avec des widgets standard ; la mise en
 * forme passe par les classes CSS des éléments (onglet Avancé → Classes CSS) :
 *
 *   Sections   rc-sec + rc-sec--dark | --light | --blue, rc-hero, rc-band-sec,
 *              rc-intro, rc-standup, rc-shows, rc-infos, rc-resto, rc-insta,
 *              rc-footer (+ rc-footer__* sur ses widgets)
 *   Titres     rc-title (+ --outline, --blue, --white, --md, --sm, --center)
 *   Surtitres  rc-kicker (+ --blue, --white, --center)
 *   Textes     rc-text (+ --blue, --white, --center, --justify)
 *   Boutons    rc-btn (+ --blue, --white, --white-on-dark), alignés au centre
 *              ou à gauche par le widget
 *   Vignettes  rc-card__media, rc-card__date, rc-card__title, rc-card__text
 */

/* ---------------------------------------------------------------- Polices */

@font-face {
    font-family: "Fridge Futura Cond";
    src: url("../fonts/city/FuturaPTCond-Medium.woff2") format("woff2");
    font-weight: 400 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Fridge Futura Cond";
    src: url("../fonts/city/FuturaPTCond-ExtraBold.woff2") format("woff2");
    font-weight: 700 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Fridge Galano";
    src: url("../fonts/city/GalanoGrotesque-Medium.woff2") format("woff2");
    font-weight: 400 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Fridge Galano";
    src: url("../fonts/city/GalanoGrotesque-SemiBold.woff2") format("woff2");
    font-weight: 600 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Fridge Galano";
    src: url("../fonts/city/GalanoGrotesque-Black.woff2") format("woff2");
    font-weight: 800 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Fridge Antikor";
    src: url("../fonts/city/Antikor-Text-Regular.ttf") format("truetype");
    font-weight: 300 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Fridge Antikor";
    src: url("../fonts/city/Antikor-Text-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Fridge Antikor";
    src: url("../fonts/city/Antikor-Text-Bold.ttf") format("truetype");
    font-weight: 600 800;
    font-style: normal;
    font-display: swap;
}

/* ------------------------------------------------------------- Variables */

body.fridge-city {
    --rc-blue: #1500ff;
    --rc-night: #01000e;
    --rc-paper: #fffffb;
    --rc-white: #fff;
    --rc-lilac: #a9a3ff;

    --rc-title: "Fridge Futura Cond", "Futura Condensed PT", "Arial Narrow", sans-serif;
    --rc-body: "Fridge Galano", "GalanoGrotesque-Bold", "Helvetica Neue", Arial, sans-serif;
    --rc-mono: "Fridge Antikor", "Antikor Text", ui-monospace, "SFMono-Regular", Menlo, monospace;

    --rc-gutter: 80px;
    --rc-sec-pad: 80px;

    /* Espacement Elementor entre widgets : géré ici, widget par widget. */
    --kit-widget-spacing: 0px;
    --widgets-spacing: 0px;
    --widgets-spacing-row: 0px;
    --widgets-spacing-column: 0px;

    margin: 0;
    background: var(--rc-night);
    color: var(--rc-white);
    font-family: var(--rc-body);
    font-size: 16px;
    line-height: 1.4;
    overflow-x: hidden;
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

@media (max-width: 1024px) {
    body.fridge-city {
        --rc-gutter: 40px;
        --rc-sec-pad: 64px;
    }
}

@media (max-width: 767px) {
    body.fridge-city {
        --rc-gutter: 24px;
        --rc-sec-pad: 56px;
    }
}

/* Grain lumineux des sites frères (fixe, au-dessus de tout, sans clic). */
body.fridge-city .fridge-city__grain {
    position: fixed;
    inset: 0;
    z-index: 99;
    pointer-events: none;
    background: url("../img/city/grain.png") 0 0 repeat;
    opacity: .08;
}

body.fridge-city ::selection {
    background: var(--rc-blue);
    color: var(--rc-white);
}

body.fridge-city a {
    transition: color .2s, background-color .2s, border-color .2s, opacity .2s;
}

body.fridge-city :focus-visible {
    outline: 2px solid var(--rc-blue);
    outline-offset: 3px;
}

body.fridge-city .rc-sec--blue :focus-visible,
body.fridge-city .rc-hero :focus-visible {
    outline-color: var(--rc-white);
}

/* --------------------------------------------------------------- Sections */

body.fridge-city .elementor-section.rc-sec {
    position: relative;
    padding: var(--rc-sec-pad) 0;
}

body.fridge-city .elementor-section.rc-sec > .elementor-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--rc-gutter);
}

body.fridge-city .rc-sec--dark {
    background-color: var(--rc-night);
    color: var(--rc-white);
}

body.fridge-city .rc-sec--light {
    background-color: var(--rc-paper);
    color: var(--rc-blue);
}

body.fridge-city .rc-sec--blue {
    background-color: var(--rc-blue);
    color: var(--rc-white);
}

/* Colonne de texte étroite et centrée (intro, restaurant). */
body.fridge-city .rc-narrow > .elementor-container > .elementor-column > .elementor-widget-wrap {
    max-width: 840px;
    margin: 0 auto;
}

/* ------------------------------------------------------------ Typographie */

body.fridge-city .rc-title .elementor-heading-title {
    margin: 0;
    font-family: var(--rc-title);
    font-weight: 800;
    font-size: clamp(44px, 5vw, 72px);
    line-height: .86;
    letter-spacing: .005em;
    text-transform: uppercase;
    color: inherit;
}

body.fridge-city .rc-title--md .elementor-heading-title {
    font-size: clamp(36px, 3.5vw, 50px);
    line-height: .9;
}

body.fridge-city .rc-title--sm .elementor-heading-title {
    font-size: clamp(28px, 2.4vw, 34px);
    line-height: .95;
}

body.fridge-city .rc-title--blue .elementor-heading-title {
    color: var(--rc-blue);
}

body.fridge-city .rc-title--white .elementor-heading-title {
    color: var(--rc-white);
}

body.fridge-city .rc-title--center .elementor-heading-title {
    text-align: center;
}

body.fridge-city .rc-kicker .elementor-heading-title {
    margin: 0;
    font-family: var(--rc-mono);
    font-weight: 400;
    font-size: clamp(14px, 1.2vw, 17px);
    line-height: 1.3;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: inherit;
}

body.fridge-city .rc-kicker--blue .elementor-heading-title {
    color: var(--rc-blue);
}

body.fridge-city .rc-kicker--white .elementor-heading-title {
    color: var(--rc-white);
}

body.fridge-city .rc-kicker--center .elementor-heading-title {
    text-align: center;
}

body.fridge-city .rc-text,
body.fridge-city .rc-text p {
    font-family: var(--rc-body);
    font-weight: 400;
    font-size: 15.5px;
    line-height: 1.33;
    letter-spacing: .01em;
    color: inherit;
}

body.fridge-city .rc-text p {
    margin: 0 0 .8em;
}

body.fridge-city .rc-text p:last-child {
    margin-bottom: 0;
}

body.fridge-city .rc-text strong,
body.fridge-city .rc-text b {
    font-weight: 600;
}

body.fridge-city .rc-text a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.fridge-city .rc-text a:hover {
    opacity: .7;
}

body.fridge-city .rc-text--blue {
    color: var(--rc-blue);
}

body.fridge-city .rc-text--white {
    color: var(--rc-white);
}

body.fridge-city .rc-text--center {
    text-align: center;
}

@media (min-width: 768px) {
    body.fridge-city .rc-text--justify {
        text-align: justify;
    }
}

/* ---------------------------------------------------------------- Boutons */

body.fridge-city .rc-btn .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 215px;
    min-height: 64px;
    padding: 0 36px;
    border: 1px solid var(--rc-blue);
    border-radius: 999px;
    background: var(--rc-blue);
    color: var(--rc-white);
    font-family: var(--rc-mono);
    font-weight: 400;
    font-size: 15px;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: none;
    fill: currentColor;
}

body.fridge-city .rc-btn .elementor-button:hover,
body.fridge-city .rc-btn .elementor-button:focus-visible {
    background: transparent;
    color: var(--rc-blue);
}

body.fridge-city .rc-btn .elementor-button-text {
    color: inherit;
}

/* Bouton blanc sur fond bleu (« Mate le menu ») : contour blanc au survol. */
body.fridge-city .rc-btn--white .elementor-button {
    border-color: var(--rc-white);
    background: var(--rc-white);
    color: var(--rc-blue);
}

body.fridge-city .rc-btn--white .elementor-button:hover,
body.fridge-city .rc-btn--white .elementor-button:focus-visible {
    background: transparent;
    color: var(--rc-white);
}

/* Bouton blanc sur fond nuit (« Rejoins la commu ») : contour bleu au survol. */
body.fridge-city .rc-btn--white-on-dark .elementor-button {
    border-color: var(--rc-white);
    background: var(--rc-white);
    color: var(--rc-blue);
}

body.fridge-city .rc-btn--white-on-dark .elementor-button:hover,
body.fridge-city .rc-btn--white-on-dark .elementor-button:focus-visible {
    border-color: var(--rc-blue);
    background: transparent;
    color: var(--rc-blue);
}

/* --------------------------------------------- Pastilles rondes (chevrons) */

body.fridge-city .rc-round {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--rc-blue);
    color: var(--rc-white);
}

body.fridge-city .rc-round:hover,
body.fridge-city .rc-round:focus-visible {
    background: var(--rc-white);
    color: var(--rc-blue);
    box-shadow: inset 0 0 0 1px var(--rc-blue);
}

body.fridge-city .rc-round--white {
    background: var(--rc-white);
    color: var(--rc-blue);
}

body.fridge-city .rc-round--white:hover,
body.fridge-city .rc-round--white:focus-visible {
    background: var(--rc-blue);
    color: var(--rc-white);
    box-shadow: inset 0 0 0 2px var(--rc-white);
}

body.fridge-city .rc-round svg {
    width: 18px;
    height: 18px;
}

/*
 * Éléments flottants (pastilles, stickers) : ils se placent par rapport au
 * contenu de leur section (colonne principale, marges latérales exclues).
 * Les sous-sections et leurs colonnes sont donc rendues « static » pour ne
 * pas leur servir de repère.
 */
body.fridge-city .rc-sec .elementor-inner-section,
body.fridge-city .rc-sec .elementor-inner-section .elementor-column,
body.fridge-city .rc-sec .elementor-inner-section .elementor-widget-wrap {
    position: static;
}

/* Pastille posée dans le coin haut droit de sa section. */
body.fridge-city .elementor-widget.rc-corner {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    width: auto;
}

/* ------------------------------------------------------------------- Hero */

body.fridge-city .elementor-section.rc-hero {
    position: relative;
    display: flex;
    min-height: clamp(600px, 55vw, 880px);
    padding: 0;
    background-color: var(--rc-night);
    background-position: center;
    background-size: cover;
    color: var(--rc-white);
}

body.fridge-city .elementor-section.rc-hero > .elementor-container {
    width: 100%;
    max-width: none;
    min-height: inherit;
    padding: 0 var(--rc-gutter);
}

body.fridge-city .rc-hero > .elementor-container > .elementor-column > .elementor-widget-wrap {
    position: relative;
    align-content: center;
    min-height: inherit;
}

/* En-tête : sélecteur de ville, logo, liens. */
body.fridge-city .elementor-widget.rc-header-widget {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    width: 100%;
}

body.fridge-city .rc-header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding-top: 18px;
}

body.fridge-city .rc-header__left {
    justify-self: start;
}

body.fridge-city .rc-header__right {
    display: flex;
    justify-self: end;
    align-items: center;
    gap: 44px;
}

body.fridge-city .rc-header__logo {
    display: block;
    width: 150px;
}

body.fridge-city .rc-header__logo img {
    display: block;
    width: 100%;
    height: auto;
}

body.fridge-city .rc-header__link {
    font-family: var(--rc-mono);
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--rc-white);
    text-decoration: none;
}

body.fridge-city .rc-header__link:hover {
    color: var(--rc-white);
    opacity: .7;
}

body.fridge-city .rc-pill {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 156px;
    height: 54px;
    padding: 0 40px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 999px;
    background: transparent;
    font-family: var(--rc-mono);
    font-size: 13px;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--rc-white);
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s, border-color .2s;
}

body.fridge-city .rc-pill:hover,
body.fridge-city .rc-pill:focus-visible,
body.fridge-city .rc-pill[aria-expanded="true"] {
    border-color: var(--rc-blue);
    background: var(--rc-blue);
    color: var(--rc-white);
}

body.fridge-city .rc-pill svg {
    width: 9px;
    height: 9px;
    transition: transform .2s;
}

body.fridge-city .rc-pill[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

/* Liste des autres villes, déroulée sous la pastille. */
body.fridge-city .rc-city {
    position: relative;
}

body.fridge-city .rc-city__list {
    position: absolute;
    top: 27px;
    left: 0;
    right: 0;
    z-index: 1;
    margin: 0;
    padding: 40px 0 18px;
    list-style: none;
    border-radius: 0 0 27px 27px;
    background: var(--rc-blue);
    text-align: center;
}

body.fridge-city .rc-city__list[hidden] {
    display: none;
}

body.fridge-city .rc-city__list a {
    display: block;
    padding: 7px 12px;
    font-family: var(--rc-mono);
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--rc-white);
    text-decoration: none;
}

body.fridge-city .rc-city__list a:hover,
body.fridge-city .rc-city__list a:focus-visible {
    color: var(--rc-white);
    opacity: .7;
}

body.fridge-city .rc-header__mobile-cta {
    display: none;
}

/* Grand titre en contour. */
body.fridge-city .rc-title--outline .elementor-heading-title {
    font-size: clamp(56px, 6.75vw, 112px);
    line-height: .98;
    color: transparent;
    -webkit-text-stroke: 1px var(--rc-white);
    text-shadow: none;
}

body.fridge-city .elementor-widget.rc-hero__title {
    padding: 70px 0 0 calc(157px - var(--rc-gutter));
}

/* « Scroll » en bas à gauche. */
body.fridge-city .elementor-widget.rc-scroll-widget {
    position: absolute;
    left: 0;
    bottom: 100px;
    z-index: 3;
    width: auto;
}

body.fridge-city .rc-scroll {
    display: block;
    width: 121px;
}

body.fridge-city .rc-scroll img {
    display: block;
    width: 100%;
    height: auto;
}

body.fridge-city .rc-scroll:hover {
    opacity: .7;
}

/*
 * Barre sociale (billetterie, Facebook, Instagram), fixe au scroll comme sur
 * les sites frères. Elle tient dans la marge de droite (35px du bord) : les
 * pastilles rondes des sections s'arrêtent à la gouttière de 80px. En dessous
 * de 1025px la gouttière se resserre, les pastilles sont alors masquées.
 */
body.fridge-city .rc-social {
    position: fixed;
    top: 37vh;
    right: 35px;
    z-index: 90;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 20px 0;
    width: 45px;
    list-style: none;
    border-radius: 22.5px;
    background: var(--rc-blue);
}

/* Masquée quand le footer, qui a ses propres icônes, arrive à l'écran
   (classe posée par city.js). */
body.fridge-city .rc-social {
    transition: opacity .3s, visibility .3s;
}

body.fridge-city.rc-footer-visible .rc-social {
    visibility: hidden;
    opacity: 0;
}

body.fridge-city .rc-social a {
    display: flex;
    color: var(--rc-white);
}

body.fridge-city .rc-social a:hover,
body.fridge-city .rc-social a:focus-visible {
    color: var(--rc-white);
    opacity: .75;
}

body.fridge-city .rc-social svg {
    width: 22px;
    height: 22px;
}

/* -------------------------------------------------------------- Bandeaux */

/*
 * Section de hauteur nulle posée entre deux sections : le bandeau, centré
 * sur la jonction, déborde sur les deux. Il est plus large que l'écran pour
 * que la rotation ne découvre pas ses extrémités : rogné en largeur
 * seulement (clip, contrairement à hidden, laisse déborder en hauteur).
 */
body.fridge-city .elementor-section.rc-band-sec {
    position: relative;
    z-index: 7;
    height: 0;
    padding: 0;
    overflow-x: clip;
    overflow-y: visible;
}

body.fridge-city .elementor-section.rc-band-sec > .elementor-container {
    display: block;
    max-width: none;
    padding: 0;
}

body.fridge-city .rc-band {
    position: absolute;
    top: 0;
    left: -3vw;
    width: 106vw;
    transform: translateY(-50%) rotate(-1.1deg);
    background: var(--rc-blue);
    overflow: hidden;
}

body.fridge-city .rc-band .marquee {
    pointer-events: none;
}

body.fridge-city .rc-band .marquee__inner {
    position: relative;
    display: flex;
    width: 100%;
    overflow: hidden;
}

body.fridge-city .rc-band .marquee__content {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    white-space: nowrap;
}

body.fridge-city .rc-band .fridge-marquee__track {
    display: flex;
    width: max-content;
    will-change: transform;
}

/* Bandeau de 60px de haut. */
body.fridge-city .rc-band span {
    flex: 0 0 auto;
    height: 60px;
    padding: 4px 20px 0;
    font-family: var(--rc-title);
    font-weight: 800;
    font-size: clamp(28px, 2.5vw, 36px);
    line-height: 56px;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--rc-white);
}

/* ------------------------------------------------------------------ Intro */

body.fridge-city .elementor-section.rc-intro {
    padding-top: calc(var(--rc-sec-pad) + 60px);
}

body.fridge-city .rc-intro .rc-title {
    margin-bottom: 36px;
}

body.fridge-city .rc-intro .rc-kicker {
    margin-bottom: 40px;
}

body.fridge-city .rc-intro .rc-text {
    margin-bottom: 36px;
}

body.fridge-city .rc-intro .rc-btn,
body.fridge-city .rc-resto .rc-btn,
body.fridge-city .rc-shows .rc-btn,
body.fridge-city .rc-insta .rc-btn {
    text-align: center;
}

/* ------------------------------------------------------- Le stand-up (S2) */

body.fridge-city .rc-standup {
    overflow: visible;
}

body.fridge-city .rc-standup .elementor-inner-section > .elementor-container {
    align-items: flex-start;
}

@media (min-width: 768px) {
    body.fridge-city .rc-standup__media {
        width: 31.25%;
    }

    body.fridge-city .rc-standup__content {
        width: 68.75%;
    }

    body.fridge-city .rc-standup__content > .elementor-widget-wrap {
        padding: 50px 0 0 40px;
    }
}

body.fridge-city .rc-standup__photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 400 / 575;
    object-fit: cover;
}

body.fridge-city .rc-standup .rc-title {
    margin-bottom: 40px;
}

body.fridge-city .rc-standup .rc-kicker {
    margin-bottom: 44px;
}

body.fridge-city .rc-standup .rc-text {
    margin-bottom: 36px;
}

body.fridge-city .rc-standup .rc-corner {
    top: -20px;
}

/* Main au micro, accrochée en bas à droite, par-dessus le bandeau. */
body.fridge-city .elementor-widget.rc-sticker {
    position: absolute;
    z-index: 7;
    pointer-events: none;
}

body.fridge-city .elementor-widget.rc-sticker img {
    display: block;
    width: 100%;
    height: auto;
}

/*
 * Main au micro collée au bord droit de l'écran (le bras est coupé net à
 * droite de l'image : la coupure doit tomber hors champ), quelle que soit la
 * largeur de la fenêtre au-delà des 1440px du contenu. Elle se place par
 * rapport à la colonne de texte, dont le bas est celui du bouton : sa tête
 * commence juste sous le paragraphe, à toutes les largeurs. Le câble file
 * sous le bandeau « Chope ta place ! » puis sous la section suivante
 * (z-index 7 et 6).
 */
body.fridge-city .rc-standup .elementor-inner-section .rc-standup__content > .elementor-widget-wrap {
    position: relative;
}

body.fridge-city .elementor-widget.rc-sticker--hand-mic {
    z-index: 5;
    top: calc(100% - 88px);
    right: calc(-1 * (var(--rc-gutter) + max(0px, (100vw - 1440px) / 2)));
    width: 300px;
}

body.fridge-city .elementor-section.rc-shows {
    z-index: 6;
}

/* --------------------------------------------------- Billetterie / shows */

body.fridge-city .elementor-section.rc-shows {
    padding-top: calc(var(--rc-sec-pad) + 40px);
}

body.fridge-city .rc-shows .elementor-inner-section {
    margin-bottom: 70px;
}

body.fridge-city .rc-shows .elementor-inner-section > .elementor-container {
    max-width: 1120px;
    margin: 0 auto;
    justify-content: space-between;
}

@media (min-width: 768px) {
    body.fridge-city .rc-shows .rc-card {
        width: 400px;
        max-width: 46%;
    }
}

body.fridge-city .rc-card__media a {
    position: relative;
    display: block;
    overflow: hidden;
}

body.fridge-city .rc-card__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 800 / 1150;
    object-fit: cover;
    transition: filter .3s, transform .5s;
}

body.fridge-city .rc-card__media a::after {
    content: "Infos & résa";
    position: absolute;
    top: 35%;
    left: 50%;
    padding: 12px 34px 11px;
    background: var(--rc-blue);
    font-family: var(--rc-body);
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--rc-white);
    opacity: 0;
    transform: translate(-50%, 10px);
    transition: opacity .25s, transform .25s;
}

body.fridge-city .rc-card__media a:hover img,
body.fridge-city .rc-card__media a:focus-visible img {
    filter: brightness(.35) saturate(.6);
}

body.fridge-city .rc-card__media a:hover::after,
body.fridge-city .rc-card__media a:focus-visible::after {
    opacity: 1;
    transform: translate(-50%, 0);
}

body.fridge-city .rc-card__media {
    margin-bottom: 22px;
}

body.fridge-city .rc-card__date .elementor-heading-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 22px;
    margin: 0;
    font-family: var(--rc-mono);
    font-weight: 400;
    font-size: 16px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--rc-white);
}

body.fridge-city .rc-card__date .elementor-heading-title::before {
    content: "";
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.2' d='M1.1 2.6h12.8v11.8H1.1zM1.1 5.6h12.8M4.2.6v3.4M10.8.6v3.4'/%3E%3Cpath d='M3.4 7.4h1.6V9H3.4zm3.3 0h1.6V9H6.7zm3.3 0h1.6V9H10zm-6.6 3h1.6V12H3.4zm3.3 0h1.6V12H6.7zm3.3 0h1.6V12H10z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.2' d='M1.1 2.6h12.8v11.8H1.1zM1.1 5.6h12.8M4.2.6v3.4M10.8.6v3.4'/%3E%3Cpath d='M3.4 7.4h1.6V9H3.4zm3.3 0h1.6V9H6.7zm3.3 0h1.6V9H10zm-6.6 3h1.6V12H3.4zm3.3 0h1.6V12H6.7zm3.3 0h1.6V12H10z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Vignette sans date : on garde la place pour aligner les titres. */
body.fridge-city .elementor-widget.rc-card__spacer {
    height: 22px;
}

body.fridge-city .rc-card__date,
body.fridge-city .rc-card__spacer {
    margin-bottom: 18px;
}

body.fridge-city .rc-card__title .elementor-heading-title {
    margin: 0 0 12px;
    font-family: var(--rc-title);
    font-weight: 800;
    font-size: clamp(28px, 2.3vw, 33px);
    line-height: 1;
    text-transform: uppercase;
    color: var(--rc-blue);
}

body.fridge-city .rc-card__title a {
    color: inherit;
}

body.fridge-city .rc-card__title a:hover {
    color: var(--rc-white);
}

body.fridge-city .rc-card__text,
body.fridge-city .rc-card__text p {
    margin: 0;
    font-family: var(--rc-body);
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.4;
    color: var(--rc-white);
}

body.fridge-city .rc-card__text strong {
    font-weight: 600;
}

/* --------------------------------------------------------- Infos pratiques */

body.fridge-city .elementor-section.rc-infos {
    padding-top: 70px;
    padding-bottom: 75px;
}

body.fridge-city .rc-infos > .elementor-container > .elementor-column > .elementor-widget-wrap > .rc-title {
    margin-bottom: 70px;
}

body.fridge-city .rc-infos .rc-corner {
    top: 6px;
}

body.fridge-city .rc-infos .elementor-inner-section > .elementor-container {
    justify-content: space-between;
}

body.fridge-city .rc-info {
    text-align: center;
}

body.fridge-city .rc-info .elementor-widget-wrap {
    flex-direction: column;
    align-items: center;
}

body.fridge-city .rc-info__picto {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 125px;
    margin-bottom: 36px;
}

body.fridge-city .rc-info__picto img {
    display: block;
    width: auto;
    max-width: 180px;
    max-height: 125px;
    object-fit: contain;
}

body.fridge-city .rc-info__picto--logo img {
    max-width: 165px;
}

body.fridge-city .rc-info .rc-title {
    margin-bottom: 18px;
}

body.fridge-city .rc-info .rc-text {
    color: var(--rc-blue);
    font-size: 17px;
    line-height: 1.38;
}

body.fridge-city .rc-info .rc-text p {
    margin-bottom: .5em;
}

body.fridge-city .rc-text .rc-mono {
    font-family: var(--rc-mono);
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.fridge-city .rc-text .rc-mono strong {
    font-weight: 500;
}

/* -------------------------------------------------------------- Restaurant */

body.fridge-city .rc-resto .rc-title {
    margin-bottom: 40px;
}

body.fridge-city .rc-resto .rc-text {
    margin-bottom: 40px;
}

/*
 * Serveur au plateau (bureau) : bras coupé net à gauche de l'image, donc
 * collé au bord gauche de l'écran, à cheval sur le bloc Instagram (même
 * bleu). Il se place par rapport à la section elle-même (conteneur et
 * colonne rendus « static »), et la colonne de texte se décale vers la
 * droite juste assez pour ne jamais passer sous le plateau.
 */
@media (min-width: 1025px) {
    body.fridge-city .rc-resto > .elementor-container,
    body.fridge-city .rc-resto > .elementor-container > .elementor-column,
    body.fridge-city .rc-resto > .elementor-container > .elementor-column > .elementor-widget-wrap {
        position: static;
    }

    body.fridge-city .rc-resto.rc-narrow > .elementor-container > .elementor-column > .elementor-widget-wrap {
        --rc-resto-shift: max(calc(50% - 400px), calc(420px - var(--rc-gutter) - max(0px, (100vw - 1440px) / 2)));
        max-width: min(800px, calc(100% - var(--rc-resto-shift)));
        margin-left: var(--rc-resto-shift);
        margin-right: auto;
    }
}

body.fridge-city .elementor-widget.rc-sticker--tray {
    z-index: 8;
    left: 0;
    bottom: -24px;
    width: 380px;
}

/* Version mobile du serveur au plateau (serveur.png) : masquée sur bureau. */
body.fridge-city .elementor-widget.rc-sticker--tray-mobile {
    display: none;
}

/* --------------------------------------------------------------- Instagram */

body.fridge-city .elementor-section.rc-insta {
    padding: 60px 0 70px;
    overflow: hidden;
}

/* Le carrousel et le titre défilant vont d'un bord à l'autre de l'écran. */
body.fridge-city .elementor-section.rc-insta > .elementor-container {
    max-width: none;
    padding: 0;
}

body.fridge-city .rc-insta-marquee {
    margin-bottom: 36px;
}

body.fridge-city .rc-insta-marquee .marquee__inner {
    position: relative;
    display: flex;
    width: 100%;
    overflow: hidden;
}

body.fridge-city .rc-insta-marquee .marquee__content {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    white-space: nowrap;
}

body.fridge-city .rc-insta-marquee .fridge-marquee__track {
    display: flex;
    width: max-content;
    will-change: transform;
}

body.fridge-city .rc-insta-marquee span {
    flex: 0 0 auto;
    padding: 0 24px;
    font-family: var(--rc-title);
    font-weight: 800;
    font-size: clamp(56px, 6.4vw, 92px);
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    color: transparent;
    -webkit-text-stroke: 1px var(--rc-white);
}

body.fridge-city .rc-insta-feed {
    min-height: 200px;
}

body.fridge-city .rc-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ------------------------------------------------------------------ Footer */

body.fridge-city .elementor-section.rc-footer {
    padding: 80px 0 0;
    overflow: hidden;
}

body.fridge-city .rc-footer__top-row {
    margin-bottom: 46px;
}

body.fridge-city .rc-footer__top-row > .elementor-container {
    align-items: flex-start;
}

body.fridge-city .rc-footer__check {
    text-align: left;
}

body.fridge-city .rc-footer__follow {
    text-align: right;
}

body.fridge-city .rc-footer__check img {
    display: inline-block;
    width: 220px;
    height: auto;
}

body.fridge-city .rc-footer__check a:hover img {
    opacity: .8;
}

body.fridge-city .rc-footer__follow img {
    display: inline-block;
    width: 113px;
    height: auto;
    margin-top: 10px;
}

body.fridge-city .rc-footer__head--right > .elementor-widget-wrap {
    justify-content: flex-end;
}

/* Trois colonnes de même hauteur : la ligne du bas (mentions, copyright,
   case à cocher) s'aligne sur le bas du formulaire. */
body.fridge-city .rc-footer__main > .elementor-container {
    align-items: stretch;
}

body.fridge-city .rc-footer__col > .elementor-widget-wrap {
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: stretch;
    height: 100%;
}

body.fridge-city .elementor-widget.rc-footer__legal,
body.fridge-city .elementor-widget.rc-footer__copy {
    margin-top: auto;
}

@media (min-width: 768px) {
    body.fridge-city .rc-footer__main .rc-footer__col:nth-child(-n+2) {
        width: 34.375%;
    }

    body.fridge-city .rc-footer__main .rc-footer__col:nth-child(3) {
        width: 31.25%;
    }
}

body.fridge-city .rc-footer__text,
body.fridge-city .rc-footer__text p,
body.fridge-city .rc-footer__text li {
    margin: 0;
    font-family: var(--rc-body);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.55;
    color: var(--rc-white);
}

body.fridge-city .rc-footer__text p + p {
    margin-top: 0;
}

body.fridge-city .rc-footer__text .rc-footer__label {
    margin: 0 0 8px;
    font-family: var(--rc-title);
    font-weight: 800;
    font-size: 17px;
    line-height: 1.2;
    text-transform: uppercase;
}

body.fridge-city .rc-footer__text p:not(.rc-footer__label) + .rc-footer__label {
    margin-top: 26px;
}

body.fridge-city .rc-footer__links {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.fridge-city .rc-footer__links li + li {
    margin-top: 8px;
}

body.fridge-city .rc-footer__text a {
    color: var(--rc-white);
    text-decoration: none;
}

body.fridge-city .rc-footer__text a:hover,
body.fridge-city .rc-footer__text a:focus-visible {
    color: var(--rc-white);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Réseaux sociaux, en haut à droite de la troisième colonne. */
body.fridge-city .elementor-widget.rc-footer__icons {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
}

body.fridge-city .rc-footer__col:last-child > .elementor-widget-wrap {
    position: relative;
}

body.fridge-city .rc-footer__icons-list {
    display: flex;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.fridge-city .rc-footer__icons-list a {
    display: flex;
    color: var(--rc-white);
}

body.fridge-city .rc-footer__icons-list a:hover,
body.fridge-city .rc-footer__icons-list a:focus-visible {
    color: var(--rc-white);
    opacity: .7;
}

body.fridge-city .rc-footer__icons-list svg {
    width: 22px;
    height: 22px;
}

body.fridge-city .rc-footer__news-title {
    margin-top: 96px;
}

body.fridge-city .rc-footer__news-title .elementor-heading-title {
    margin: 0 0 18px;
    font-family: var(--rc-title);
    font-weight: 800;
    font-size: 17px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--rc-white);
}

/* Formulaire newsletter : champ bleu « Drop ton mail », bouton OK intégré. */
body.fridge-city .rc-form {
    margin: 0;
}

body.fridge-city .rc-form .elementor-form-fields-wrapper {
    position: relative;
    flex-wrap: wrap;
    margin: 0;
    row-gap: 16px;
}

body.fridge-city .rc-form .elementor-field-group {
    margin: 0;
    padding: 0;
}

body.fridge-city .rc-form .elementor-field-type-email {
    width: 100%;
    max-width: none;
}

body.fridge-city .rc-form .elementor-field-textual {
    height: 80px;
    min-height: 80px;
    padding: 0 76px 0 52px;
    border: 0;
    border-radius: 0;
    background: var(--rc-blue) url("../img/city/icon-mail.svg") 22px center / 16px 12px no-repeat;
    font-family: var(--rc-mono);
    font-size: 16px;
    letter-spacing: .06em;
    color: var(--rc-white);
    box-shadow: none;
}

body.fridge-city .rc-form .elementor-field-textual::placeholder {
    text-transform: uppercase;
    color: var(--rc-white);
    opacity: 1;
}

body.fridge-city .rc-form .elementor-field-textual:focus {
    outline: 2px solid var(--rc-white);
    outline-offset: 2px;
}

/* Le bouton OK se loge à droite, dans le champ bleu. Les groupes de champs
   portent la classe elementor-column : il faut passer devant la règle qui
   rend « static » les colonnes des sous-sections. */
body.fridge-city .rc-sec .rc-form .elementor-field-group.elementor-field-type-submit {
    position: absolute;
    top: 0;
    right: 0;
    align-items: center;
    width: auto;
    height: 80px;
}

body.fridge-city .rc-form .elementor-button {
    height: 80px;
    min-height: 0;
    padding: 0 22px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: var(--rc-mono);
    font-size: 15px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--rc-white);
    box-shadow: none;
}

body.fridge-city .rc-form .elementor-button:hover,
body.fridge-city .rc-form .elementor-button:focus-visible {
    background: transparent;
    color: var(--rc-white);
    text-decoration: underline;
    text-underline-offset: 4px;
}

body.fridge-city .rc-form .elementor-field-type-acceptance {
    width: 100%;
}

body.fridge-city .rc-form .elementor-field-subgroup {
    margin: 0;
}

body.fridge-city .rc-form .elementor-field-option {
    display: flex;
    align-items: center;
    gap: 20px;
}

body.fridge-city .rc-form .elementor-field-option label,
body.fridge-city .rc-form .elementor-field-subgroup label {
    font-family: var(--rc-body);
    font-size: 16px;
    color: var(--rc-white);
}

body.fridge-city .rc-form .elementor-field-subgroup a {
    color: inherit;
    text-decoration: none;
}

body.fridge-city .rc-form .elementor-field-subgroup a:hover {
    text-decoration: underline;
}

/* Case à cocher ronde et bleue, comme sur les sites frères. Sélecteur
   renforcé : les réglages de champ du widget (fond bleu, rayon nul)
   s'appliquent aussi à la case. */
body.fridge-city .rc-form .elementor-field-group .elementor-field-subgroup input[type="checkbox"].elementor-field {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 1px solid var(--rc-white);
    border-radius: 50%;
    background: var(--rc-night);
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

body.fridge-city .rc-form .elementor-field-group .elementor-field-subgroup input[type="checkbox"].elementor-field:checked {
    background: var(--rc-blue);
    box-shadow: inset 0 0 0 3px var(--rc-night);
}

body.fridge-city .rc-form .elementor-message {
    margin-top: 12px;
    font-family: var(--rc-body);
    font-size: 15px;
    color: var(--rc-white);
}

body.fridge-city .rc-form .elementor-message::before {
    display: none;
}

/* Retour en haut, posé sur le grand nom de la ville. */
body.fridge-city .elementor-widget.rc-footer__top {
    position: relative;
    z-index: 2;
    align-self: flex-end;
    width: auto;
    margin: 90px 0 -46px auto;
}

body.fridge-city .rc-round--outline {
    background: transparent;
    color: var(--rc-blue);
    box-shadow: inset 0 0 0 1px var(--rc-blue);
}

body.fridge-city .rc-round--outline:hover,
body.fridge-city .rc-round--outline:focus-visible {
    background: var(--rc-blue);
    color: var(--rc-white);
}

/* Grand nom de la ville, d'un bord à l'autre, coupé par le bas de la page. */
body.fridge-city .elementor-widget.rc-footer__giant-widget {
    width: calc(100% + 2 * var(--rc-gutter));
    margin: 0 calc(-1 * var(--rc-gutter));
}

body.fridge-city .rc-footer__giant {
    margin: 0 0 -.2em;
    font-family: var(--rc-title);
    font-weight: 800;
    font-size: 7.6vw;
    line-height: .9;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--rc-white);
}

@media (min-width: 1441px) {
    body.fridge-city .rc-footer__giant {
        font-size: 110px;
    }
}

body.fridge-city .rc-footer__giant-short {
    display: none;
}

/* ------------------------------------------------------------- Tablette */

@media (max-width: 1024px) {
    body.fridge-city .elementor-widget.rc-hero__title {
        padding-left: 0;
    }

    body.fridge-city .rc-header__right {
        gap: 24px;
    }

    body.fridge-city .rc-pill {
        min-width: 0;
        padding: 0 26px;
    }

    body.fridge-city .rc-header__link {
        display: none;
    }

    body.fridge-city .rc-social {
        right: 16px;
    }

    /* La gouttière se resserre : les pastilles rondes passeraient sous la
       barre sociale fixe. */
    body.fridge-city .elementor-widget.rc-corner {
        display: none;
    }

    /* Restaurant : le serveur au plateau (serveur.png) passe sous le bouton,
       collé au bord gauche, à cheval sur le bloc Instagram. */
    body.fridge-city .elementor-section.rc-resto {
        overflow: visible;
    }

    body.fridge-city .elementor-widget.rc-sticker--tray {
        display: none;
    }

    body.fridge-city .elementor-widget.rc-sticker--tray-mobile {
        display: block;
        position: relative;
        z-index: 8;
        width: 200px;
        margin: 36px 0 calc(-1 * var(--rc-sec-pad) - 16px) calc(-1 * max(var(--rc-gutter), (100vw - 840px) / 2));
    }

    body.fridge-city .rc-footer__news-title {
        margin-top: 64px;
    }
}

/* Tablette seule : deux colonnes mais texte plus haut, la main le masquerait. */
@media (min-width: 768px) and (max-width: 1024px) {
    body.fridge-city .elementor-widget.rc-sticker--hand-mic {
        display: none;
    }

    /* Colonne newsletter étroite : le libellé doit tenir en entier. */
    body.fridge-city .rc-form .elementor-field-textual {
        padding: 0 52px 0 38px;
        background-position: 14px center;
        font-size: 13px;
    }

    body.fridge-city .rc-form .elementor-button {
        padding: 0 14px;
    }
}

/* --------------------------------------------------------------- Mobile */

@media (max-width: 767px) {
    body.fridge-city .rc-header {
        grid-template-columns: 1fr;
        justify-items: center;
        padding-top: 34px;
    }

    body.fridge-city .rc-header__left,
    body.fridge-city .rc-header__right {
        display: none;
    }

    body.fridge-city .rc-header__logo {
        width: 190px;
    }

    /* « Réserve ta place ! » : visuel fourni (reserve-place.svg). */
    body.fridge-city .rc-header__mobile-cta {
        display: block;
        width: 190px;
        margin-top: 22px;
    }

    body.fridge-city .rc-header__mobile-cta img {
        display: block;
        width: 100%;
        height: auto;
    }

    body.fridge-city .rc-header__mobile-cta:hover {
        opacity: .8;
    }

    /* Fumée recadrée sur sa partie droite, plus sombre. */
    body.fridge-city .elementor-section.rc-hero {
        min-height: 720px;
        background-position: 84% center !important;
    }

    /* Titre calé sous « Réserve ta place ! » (≈50px d'écart), et non plus
       centré dans la hauteur du hero. */
    body.fridge-city .rc-hero > .elementor-container > .elementor-column > .elementor-widget-wrap {
        align-content: flex-start;
    }

    body.fridge-city .elementor-widget.rc-hero__title {
        padding: 346px 0 0;
    }

    body.fridge-city .rc-title .elementor-heading-title {
        font-size: 36px;
        line-height: .9;
    }

    body.fridge-city .rc-title--sm .elementor-heading-title {
        font-size: 28px;
    }

    body.fridge-city .rc-title--outline .elementor-heading-title {
        font-size: clamp(38px, 12.2vw, 60px);
        line-height: 1;
        text-align: center;
    }

    body.fridge-city .elementor-widget.rc-scroll-widget {
        left: 50%;
        bottom: 60px;
        transform: translateX(-50%);
    }

    body.fridge-city .rc-social {
        display: none;
    }

    body.fridge-city .rc-band span {
        padding: 4px 14px 0;
        font-size: 26px;
    }

    /* Boutons plus petits, texte en 13px. */
    body.fridge-city .rc-btn .elementor-button {
        min-width: 0;
        min-height: 52px;
        padding: 0 28px;
        font-size: 13px;
    }

    body.fridge-city .rc-text--justify {
        text-align: justify;
    }

    body.fridge-city .elementor-section.rc-intro {
        padding-top: calc(var(--rc-sec-pad) + 40px);
    }

    body.fridge-city .rc-standup__content > .elementor-widget-wrap {
        padding-top: 0;
    }

    /* Titre, surtitre, photo, texte, bouton : la photo passe au milieu. */
    body.fridge-city .rc-standup .elementor-inner-section > .elementor-container {
        flex-direction: column;
        align-items: stretch;
    }

    body.fridge-city .rc-standup__content,
    body.fridge-city .rc-standup__content > .elementor-widget-wrap {
        display: contents;
    }

    body.fridge-city .rc-standup .rc-title {
        order: 1;
    }

    body.fridge-city .rc-standup .rc-kicker {
        order: 2;
        margin-bottom: 32px;
    }

    body.fridge-city .rc-standup__media {
        order: 3;
        margin: 0 0 32px;
    }

    body.fridge-city .rc-standup .rc-text {
        order: 4;
    }

    body.fridge-city .rc-standup .rc-btn {
        order: 5;
    }

    body.fridge-city .elementor-widget.rc-sticker--hand-mic {
        order: 6;
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        align-self: flex-end;
        width: 190px;
        margin: 16px calc(-1 * var(--rc-gutter)) -40px 0;
    }

    body.fridge-city .rc-shows .rc-card {
        margin-bottom: 48px;
    }

    body.fridge-city .rc-shows .elementor-inner-section {
        margin-bottom: 10px;
    }

    body.fridge-city .rc-infos > .elementor-container > .elementor-column > .elementor-widget-wrap > .rc-title {
        margin-bottom: 44px;
    }

    body.fridge-city .rc-info {
        margin-bottom: 36px;
    }

    body.fridge-city .rc-info:last-child {
        margin-bottom: 0;
    }

    body.fridge-city .rc-info__picto {
        display: none;
    }

    body.fridge-city .rc-resto .rc-title .elementor-heading-title {
        text-align: left;
    }

    body.fridge-city .elementor-widget.rc-sticker--tray-mobile {
        width: 160px;
        margin-top: 28px;
    }

    /* Instagram. */
    body.fridge-city .elementor-section.rc-insta {
        padding: 56px 0 48px;
    }

    body.fridge-city .rc-insta-marquee span {
        padding: 0 16px;
        font-size: 58px;
    }

    /* Footer : une seule colonne (sauf Accueil / Infos pratiques côte à
       côte), dans l'ordre de la maquette mobile. Les sous-sections et
       colonnes Elementor s'effacent (display: contents) au profit d'une
       grille posée sur la colonne principale. */
    body.fridge-city .elementor-section.rc-footer {
        padding-top: 64px;
    }

    /* Combinateurs enfants : les groupes de champs du formulaire portent
       aussi la classe elementor-column et ne doivent pas s'effacer. */
    body.fridge-city .rc-footer .elementor-inner-section,
    body.fridge-city .rc-footer .elementor-inner-section > .elementor-container,
    body.fridge-city .rc-footer .elementor-inner-section > .elementor-container > .elementor-column,
    body.fridge-city .rc-footer .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
        display: contents;
    }

    body.fridge-city .rc-footer > .elementor-container > .elementor-column > .elementor-widget-wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 24px;
        align-content: start;
    }

    /* :where() : spécificité minimale, les marges ci-dessous priment. */
    body.fridge-city :where(.rc-footer .elementor-widget) {
        grid-column: 1 / -1;
        margin: 0;
    }

    body.fridge-city .rc-footer__check {
        order: 1;
    }

    body.fridge-city .rc-footer__check img {
        width: 228px;
    }

    body.fridge-city .rc-footer__news-title {
        order: 2;
        margin-top: 56px;
    }

    body.fridge-city .rc-footer__form {
        order: 3;
    }

    body.fridge-city .rc-form .elementor-field-textual {
        height: 62px;
        min-height: 62px;
        padding-left: 46px;
        background-position: 16px center;
        font-size: 14px;
    }

    body.fridge-city .rc-sec .rc-form .elementor-field-group.elementor-field-type-submit,
    body.fridge-city .rc-form .elementor-button {
        height: 62px;
    }

    body.fridge-city .rc-form .elementor-field-option label,
    body.fridge-city .rc-form .elementor-field-subgroup label {
        font-size: 14px;
    }

    body.fridge-city .rc-footer__address {
        order: 4;
        margin-top: 64px;
    }

    body.fridge-city .rc-footer .elementor-widget.rc-footer__nav {
        order: 5;
        grid-column: 1;
        margin-top: 44px;
    }

    body.fridge-city .rc-footer .elementor-widget.rc-footer__infos {
        order: 6;
        grid-column: 2;
        margin-top: 44px;
    }

    body.fridge-city .rc-footer__follow {
        order: 7;
        margin-top: 80px;
    }

    body.fridge-city .rc-footer__follow {
        text-align: left;
    }

    body.fridge-city .rc-footer__follow img {
        margin-top: 0;
    }

    body.fridge-city .elementor-widget.rc-footer__icons {
        order: 8;
        position: static;
        margin-top: 30px;
    }

    body.fridge-city .rc-footer__icons-list {
        gap: 20px;
    }

    body.fridge-city .rc-footer__icons-list svg {
        width: 25px;
        height: 25px;
    }

    body.fridge-city .rc-footer__legal {
        order: 9;
        margin-top: 56px;
    }

    body.fridge-city .rc-footer__copy {
        order: 10;
        margin-top: 12px;
    }

    body.fridge-city .elementor-widget.rc-footer__top {
        display: none;
    }

    body.fridge-city .elementor-widget.rc-footer__giant-widget {
        order: 12;
        margin-top: 64px;
    }

    body.fridge-city .rc-footer__giant {
        font-size: 10.7vw;
    }

    body.fridge-city .rc-footer__giant-long {
        display: none;
    }

    body.fridge-city .rc-footer__giant-short {
        display: inline;
    }
}
