/* Fred Burdey — custom styles for Cassiopeia (user.css survives Joomla updates) */
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Source+Sans+3:wght@300;400;600&display=swap");

:root {
  --fb-bg: #1c1420;          /* deep aubergine */
  --fb-bg-soft: rgba(28, 20, 32, .82);
  --fb-ink: #efe6d6;         /* warm off-white text */
  --fb-muted: #b9ad9c;
  --fb-accent: #f0e050;      /* yellow from the FB identity */
  --fb-red: #c0392b;
  --cassiopeia-color-primary: #1c1420;
  --cassiopeia-color-link: #f0e050;
  --cassiopeia-color-hover: #ffffff;
}

/* Page background: dark colour + light line drawing */
body.site {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 1000' fill='none' stroke='%23f3e6c8' stroke-opacity='.35' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E %3Cg opacity='.55'%3E %3Cpath d='M-20 700 C 300 620, 520 780, 860 690 S 1400 560, 1640 640'/%3E %3Cpath d='M-20 712 C 300 632, 520 792, 860 702 S 1400 572, 1640 652'/%3E %3Cpath d='M-20 724 C 300 644, 520 804, 860 714 S 1400 584, 1640 664'/%3E %3Cpath d='M-20 736 C 300 656, 520 816, 860 726 S 1400 596, 1640 676'/%3E %3Cpath d='M-20 748 C 300 668, 520 828, 860 738 S 1400 608, 1640 688'/%3E %3C/g%3E %3Cg opacity='.6'%3E %3Cellipse cx='420' cy='714' rx='9' ry='6' transform='rotate%28-20 420 714%29'/%3E %3Cpath d='M428 711 V 660'/%3E %3Cellipse cx='520' cy='728' rx='9' ry='6' transform='rotate%28-20 520 728%29'/%3E %3Cpath d='M528 725 V 672 L 560 662 V 708'/%3E %3Cellipse cx='552' cy='712' rx='9' ry='6' transform='rotate%28-20 552 712%29'/%3E %3Cellipse cx='1080' cy='648' rx='9' ry='6' transform='rotate%28-20 1080 648%29'/%3E %3Cpath d='M1088 645 V 594 Q 1104 606 1110 622'/%3E %3C/g%3E %3Cg transform='translate%28210 150%29'%3E %3Cpath d='M40 0 C 90 0, 110 40, 110 95 C 110 150, 90 190, 40 190 C -10 190, -30 150, -30 95 C -30 40, -10 0, 40 0 Z'/%3E %3Cpath d='M-22 55 H 102'/%3E%3Cpath d='M-28 80 H 108'/%3E%3Cpath d='M-29 105 H 109'/%3E%3Cpath d='M-27 130 H 107'/%3E%3Cpath d='M-20 155 H 100'/%3E %3Cpath d='M40 4 V 186'/%3E %3Cpath d='M18 190 Q 40 215 62 190'/%3E %3Cpath d='M40 210 V 420'/%3E %3Cpath d='M-10 420 H 90'/%3E %3Cpath d='M40 420 L -30 470 M40 420 L 110 470 M40 420 V 480'/%3E %3C/g%3E %3Cg transform='translate%281250 120%29 rotate%2818%29'%3E %3Cpath d='M100 330 C 150 330 180 350 180 385 C 180 405 165 415 165 430 C 165 445 215 465 215 520 C 215 580 165 600 100 600 C 35 600 -15 580 -15 520 C -15 465 35 445 35 430 C 35 415 20 405 20 385 C 20 350 50 330 100 330 Z'/%3E %3Ccircle cx='100' cy='440' r='30'/%3E %3Cpath d='M72 545 H 128'/%3E %3Cpath d='M88 342 V 40 M112 342 V 40'/%3E %3Cpath d='M84 40 H 116 L 120 -40 H 80 Z'/%3E %3Cpath d='M94 60 V 545 M100 60 V 545 M106 60 V 545' opacity='.6'/%3E %3Cpath d='M88 100 H 112 M88 150 H 112 M88 195 H 112 M88 235 H 112 M88 270 H 112 M88 300 H 112' opacity='.6'/%3E %3C/g%3E %3C/svg%3E") center / cover no-repeat fixed, var(--fb-bg);
  color: var(--fb-ink);
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-weight: 300;
  font-size: 1.125rem;
  line-height: 1.65;
}

/* Header */
.container-header {
  background: linear-gradient(180deg, rgba(10, 6, 12, .95), rgba(10, 6, 12, .6));
  box-shadow: none;
  border-bottom: 1px solid rgba(240, 224, 80, .25);
}
.container-header .navbar-brand { padding-block: .6rem; }
.container-header .brand-logo img { max-height: 54px; width: auto; }
.container-header .site-description { color: var(--fb-muted); font-size: .95rem; letter-spacing: .08em; }
.container-header .container-nav { align-items: center; }

/* Main menu */
.container-header .mod-menu,
.container-header .metismenu { font-family: "Bebas Neue", sans-serif; font-size: 1.35rem; letter-spacing: .06em; }
.container-header .metismenu > li > a,
.container-header .metismenu > li > .mod-menu__heading { color: var(--fb-ink); padding: .4rem .9rem; }
.container-header .metismenu > li > a:hover,
.container-header .metismenu > li.active > a,
.container-header .metismenu > li.current > a { color: var(--fb-accent); }
.container-header .metismenu > li.active > a::after,
.container-header .metismenu > li.current > a::after { background: var(--fb-accent); }
/* "Photos" kept visible but inactive */
.container-header .mod-menu__heading,
.container-header .fb-disabled { opacity: .4; cursor: default; pointer-events: none; }

/* Social icons in the header */
.fb-social-top { display: flex; align-items: center; gap: .9rem; margin: 0 !important; }
.container-header .container-search > * { margin: 0; }
.fb-social-top a { color: var(--fb-ink); font-size: 1.5rem; line-height: 1; transition: color .2s, transform .2s; }
.fb-social-top a:hover { color: var(--fb-accent); transform: translateY(-2px); }

/* Content */
.site-grid { background: transparent; }
.container-component, .main-top, .main-bottom { color: var(--fb-ink); }
.com-content-article { max-width: 860px; margin-inline: auto; }
.com-content-article .page-header h1,
.com-content-article .page-header h2,
.fb-follow h2 {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  letter-spacing: .05em;
  color: var(--fb-ink);
  text-shadow: 0 0 12px rgba(255, 255, 255, .25);
}
.com-content-article a { color: var(--fb-accent); }
.com-content-article a:hover { color: #fff; }

.fb-bio p { background: var(--fb-bg-soft); padding: .2rem 0; }
.fb-bio p:first-child::first-letter { font-family: "Bebas Neue", sans-serif; font-size: 3.4rem; float: left; line-height: .85; margin: .35rem .5rem 0 0; color: var(--fb-accent); }

.fb-lead { font-size: clamp(1.15rem, 2.4vw, 1.5rem); line-height: 1.35; text-align: center; color: var(--fb-ink); margin: .2rem 0 .9rem; }

/* Videos */
.fb-video { margin: 0 0 2.5rem; }
.fb-video-frame { position: relative; aspect-ratio: 16 / 9; border: 1px solid rgba(240, 224, 80, .35); box-shadow: 0 10px 40px rgba(0, 0, 0, .5); background: #000; }
.fb-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fb-video figcaption { font-family: "Bebas Neue", sans-serif; font-size: 1.5rem; letter-spacing: .05em; margin-top: .6rem; color: var(--fb-ink); }

/* Buttons */
.fb-btn, .fb-soc {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .7rem 1.3rem; border-radius: 999px;
  font-weight: 600; text-decoration: none !important;
  border: 1px solid var(--fb-accent); color: var(--fb-accent) !important;
  transition: background .2s, color .2s;
}
.fb-btn:hover, .fb-soc:hover { background: var(--fb-accent); color: var(--fb-bg) !important; }
.fb-more { text-align: center; }

/* "Suivez-moi" block */
.fb-follow { text-align: center; margin: 3rem 0; padding: 2rem 1rem; background: var(--fb-bg-soft); border-top: 1px solid rgba(240, 224, 80, .25); border-bottom: 1px solid rgba(240, 224, 80, .25); }
.fb-social-big { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 1.2rem; }
.fb-soc { font-size: 1.15rem; padding: .9rem 1.6rem; }
.fb-soc .fa-brands { font-size: 1.5rem; }

.fb-spotify iframe { width: 100%; border: 0; border-radius: 12px; }

/* Footer */
.container-footer { background: rgba(10, 6, 12, .95); border-top: 1px solid rgba(240, 224, 80, .25); }
.fb-footer { text-align: center; padding: 1.5rem 0 .5rem; }
.fb-social-foot { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; }
.fb-social-foot a { color: var(--fb-ink); text-decoration: none; }
.fb-social-foot a:hover { color: var(--fb-accent); }
.fb-social-foot .fa-brands { font-size: 1.3rem; margin-right: .3rem; }
.fb-contact { color: var(--fb-muted); margin-top: 1rem; font-size: .95rem; }
.fb-contact a { color: var(--fb-accent); }

/* Back-to-top button */
.back-to-top-link { background: var(--fb-accent); color: var(--fb-bg); }

@media (max-width: 991.98px) {
  .fb-social-top { justify-content: center; padding: .4rem 0; }
  .container-header .navbar-toggler { color: var(--fb-ink); border-color: rgba(239, 230, 214, .4); }
}

/* Header layout: centred logo and menu, social icons on the right */
.container-header .grid-child:first-child { padding-bottom: 0; }
.container-header .navbar-brand { margin: 0; padding-block: .8rem 0; }
.container-header .navbar-brand .site-description { margin-top: .1rem; padding-left: 3.2rem; }
.container-header .container-nav { position: relative; justify-content: center; padding-top: 0; padding-bottom: .6rem; }
.container-header .container-nav > nav, .container-header .container-nav .navbar { margin-top: 0; }
@media (min-width: 992px) {
  .container-header .container-search { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); margin: 0; }
}

/* Mobile header: burger on the left, social icons on the right, same row */
@media (max-width: 991.98px) {
  .container-header .container-nav { flex-wrap: nowrap; justify-content: space-between; align-items: center; padding-top: .3rem; }
  .container-header .container-nav .navbar { margin: 0; flex: 1 1 auto; }
  .container-header .container-search { margin: 0 !important; flex: 0 0 auto; }
  .container-header .navbar-toggler { margin: 0; }
  .fb-social-top { padding: 0; }
  .com-content-article { padding-top: 0; }
}

/* Language switcher (flags) centred above the footer links */
.container-footer .grid-child { display: flex; flex-direction: column; align-items: center; }
.container-footer .mod-languages { order: -1; padding-top: 1.2rem; }
.container-footer .mod-languages ul { display: flex; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.container-footer .mod-languages img { width: 22px; height: auto; opacity: .55; transition: opacity .2s; }
.container-footer .mod-languages li.lang-active img,
.container-footer .mod-languages a:hover img { opacity: 1; }
.container-footer .mod-languages li, .container-footer .mod-languages li.lang-active { background: none; padding: 0; margin: 0; }

/* Tighter spacing between the home video and the "Follow me" block */
.fb-video figcaption { line-height: 1.2; }
.fb-home .fb-video { margin-bottom: .6rem; }
.fb-home .fb-follow { margin-top: .8rem; padding-top: 1.2rem; }
.fb-follow h2 { margin-top: 0; }
