/* Accueil Floraclic : styles propres au nouveau thème. */
.fc-home {
color: var(--couleur-texte);
}
.fc-home .fc-products {
background: radial-gradient(circle at 5% 10%, rgba(217,53,114,.07), transparent 24%), linear-gradient(180deg, #fff, var(--couleur-fond-page));
    border-top: 1px solid var(--couleur-bordure);
    border-bottom: 1px solid var(--couleur-bordure)
}

.fc-home .fc-variety-card {
border: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 .65rem 1.7rem rgba(47,58,50,.08);
    height: 100%;
    transition: transform .18s ease, box-shadow .18s ease;
    background: var(--couleur-fond-bloc)
}
.fc-home .fc-story {
background: radial-gradient(circle at 5% 15%, rgba(217,53,114,.05), transparent 26%), radial-gradient(circle at 94% 8%, rgba(95,127,84,.07), transparent 24%), #fff;
    border-top: 1px solid var(--couleur-bordure);
    border-bottom: 1px solid var(--couleur-bordure)
}
.fc-home .fc-story-card {
position: relative;
    height: 100%;
    text-align: center
}
.fc-home .fc-story-img {
height: 300px;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 .7rem 1.2rem rgba(47,58,50,.08))
}
.fc-home .fc-story-card h3 {
color: var(--couleur-principale-foncee);
    letter-spacing: -.02em
}
@media (min-width:1200px) {
.fc-story-row>div:not(:last-child) .fc-story-card::after, .fc-story-row>div:not(:last-child) .fc-story-card::before {
display: block
}
}
.fc-home .fc-emotion-card {
position: relative;
    display: block;
    min-height: 198px;
    padding: 1.3rem;
    border-radius: 2rem;
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 .65rem 1.7rem rgba(47,58,50,.07);
    background: var(--couleur-fond-bloc);
    transition: transform .18s ease, box-shadow .18s ease
}
.fc-home .fc-emotion-card:hover {
transform: translateY(-5px);
    box-shadow: 0 1.1rem 2.3rem rgba(47,58,50,.12)
}
.fc-home .fc-emotion-icon {
width: 3.35rem;
    height: 3.35rem;
    border-radius: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--couleur-fond-bloc);
    color: var(--couleur-accent);
    font-size: 1.45rem;
    margin-bottom: 1rem;
    border: 1px solid var(--couleur-bordure)
}
.fc-home .fc-emotion-card h3 {
color: var(--couleur-accent)
}
.fc-home .fc-emotion-card h3::after {
content: "";
    display: block;
    width: 46px;
    height: 2px;
    background: currentColor;
    margin-top: .55rem;
    border-radius: 99px
}
.fc-home .fc-emotion-card.birthday h3 {
color: var(--fc-coral)
}
.fc-home .fc-emotion-card.birth h3 {
color: var(--couleur-principale)
}
.fc-home .fc-emotion-card.thanks h3 {
color: #ad8420
}
.fc-home .fc-emotion-card.homage h3 {
color: #6d7f61
}
.fc-home .fc-deuil {
background: linear-gradient(135deg, #fff, #f6f8f4);
    border-top: 1px solid var(--couleur-bordure);
    border-bottom: 1px solid var(--couleur-bordure)
}
.fc-home .fc-deuil-img {
height: 370px;
    object-fit: cover;
    border-radius: 2rem;
    box-shadow: 0 1rem 2.4rem rgba(47,58,50,.12)
}
.fc-home .fc-card-img {
width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover
}
.fc-home .fc-seo {
background: var(--couleur-fond-bloc)
}
.fc-home .fc-emotion-illu {
width: 100%;
    height: 120px;
    object-fit: contain;
    display: block;
    margin: 0 auto 1rem;
    filter: drop-shadow(0 .45rem .75rem rgba(47,58,50,.06));
}
.fc-home .fc-emotion-card {
padding-top: 1.2rem;
}
.fc-home .fc-emotion-card .fc-emotion-icon {
display: none;
}
@media (max-width: 575px) {
.fc-emotion-illu {
height: 105px;
}
}
@media (max-width: 991px) {
.fc-story-img {
height: 240px;
}
}
@media (min-width: 1200px) {
.fc-story-img {
height: 280px;
}
}
.fc-home .fc-text-primary {
color: var(--couleur-principale) !important;
}
.fc-home .fc-accent-link {
color: var(--couleur-accent) !important;
  font-weight: 800;
  text-decoration: none;
}
.fc-home .fc-accent-link:hover,
.fc-home .fc-accent-link:focus {
color: var(--couleur-principale-foncee) !important;
  text-decoration: underline;
}
.fc-home #emotions .row > [class*="col-"] {
display: flex;
}
.fc-home .fc-emotion-card {
width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.fc-home .fc-emotion-illu {
background: var(--couleur-fond-bloc);
}

/* Premier écran : accents BD discrets et bannière administrable. */
.fc-welcome { position:relative; padding:1.8rem 0 1.4rem; background:#fbf7f1; overflow:hidden; }
.fc-welcome-wash { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.fc-welcome > .container { position:relative; z-index:1; }
.fc-welcome-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:2.5rem; align-items:center; }
.fc-welcome-layout-solo { grid-template-columns:minmax(0,740px); }
.fc-welcome-copy { min-width:0; }
.fc-welcome-eyebrow { color:var(--couleur-principale); font-weight:600; margin:0 0 1rem; }
#fc-welcome-title { font-size:clamp(2rem,3.1vw,2.8rem); font-weight:600; line-height:1.15; letter-spacing:-.025em; margin:0 0 1.5rem; }
#fc-welcome-title span { position:relative; display:inline-block; }
#fc-welcome-title span::after { content:""; position:absolute; width:49%; height:8px; bottom:-10px; right:2%; border-top:3px solid var(--couleur-accent); border-radius:50%; transform:rotate(-2deg); }
.fc-welcome-intro { font-size:1.05rem; line-height:1.65; color:var(--couleur-texte-secondaire); margin:0 0 1.5rem; max-width:34rem; }
.fc-welcome-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.fc-welcome-actions .btn { padding:.8rem 1.1rem; font-weight:600; border-radius:.65rem; }
.fc-welcome-person { display:flex; gap:.5rem; align-items:center; margin-top:1rem; }
.fc-welcome-person img { width:130px; height:auto; object-fit:contain; flex-shrink:0; mix-blend-mode:multiply; }
.fc-welcome-person > div { min-width:0; max-width:19rem; }
.fc-welcome-person p { color:var(--couleur-principale); font-weight:600; margin:0 0 .2rem; }
.fc-welcome-person span { font-size:.9rem; color:var(--couleur-texte-secondaire); }
.fc-welcome-visual { min-width:0; position:relative; display:grid; padding-bottom:2rem; }
.fc-welcome-frame { position:relative; grid-area:1 / 1; align-self:start; padding:0; }
.fc-welcome-photo { display:block; width:100%; aspect-ratio:1.8; object-fit:cover; clip-path:url(#fc-welcome-photo-clip); }
.fc-welcome-flower { position:absolute; width:76px; height:76px; object-fit:contain; right:-18px; top:-22px; pointer-events:none; }
.fc-welcome-season { position:relative; grid-area:1 / 1; align-self:end; z-index:2; width:min(300px,90%); margin:0 0 -1.8rem -4rem; padding:2.15rem 1.5rem 1.7rem 2.45rem; overflow-wrap:anywhere; }

.fc-welcome-season-kicker { font-size:.85rem; color:var(--couleur-accent); margin:0 0 .4rem; font-style:italic; }
.fc-welcome-season h2 { font-size:1.05rem; font-weight:600; margin:0 0 .4rem; }
.fc-welcome-season-text { font-size:.85rem; line-height:1.4; color:var(--couleur-texte-secondaire); margin-bottom:.6rem; }
.fc-welcome-season-text p { margin:0 0 .5rem; }
.fc-welcome-season-text p:last-child { margin-bottom:0; }
.fc-welcome-season .fc-accent-link { font-size:.9rem; font-weight:600; }
.fc-welcome-visual-text .fc-welcome-season { margin:0; width:100%; }

.fc-home #bouquets-du-moment, .fc-home #emotions { scroll-margin-top:calc(var(--fclb-header-height,170px) + 20px); }
@media(min-width:1200px) {
 .fc-welcome-season { margin-left:-7rem; }
}
@media(max-width:991.98px) {
 .fc-welcome-layout { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
 .fc-welcome-copy { max-width:42rem; }
 .fc-welcome-visual { max-width:680px; width:100%; margin:0 auto; }
 .fc-welcome-photo { aspect-ratio:1.55; }
 .fc-welcome-season { margin-left:0; }
}
@media(max-width:575.98px) {
 .fc-welcome { padding:1.75rem 0; }
 .fc-welcome-actions .btn { width:100%; }
 .fc-welcome-person img { width:80px; height:80px; }
 .fc-welcome-person p { font-size:.95rem; }
 .fc-welcome-flower { width:48px; height:52px; right:-5px; top:-15px; }
 .fc-welcome-season { width:calc(100% - 1rem); margin:-1.5rem .5rem 0; grid-area:auto; }
 .fc-welcome-photo { aspect-ratio:1.35; }
}

/* Traits SVG souples : épaisseur constante quelle que soit la taille. */
.fc-welcome-outline, .fc-welcome-bubble { position:absolute; inset:0; width:100%; height:100%; color:var(--couleur-principale-foncee, #36582c); pointer-events:none; }
.fc-welcome-outline { z-index:1; }
.fc-welcome-bubble { z-index:0; }
.fc-welcome-season > :not(svg) { position:relative; z-index:1; }
.fc-welcome-flower { z-index:2; }
