@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@600;700&display=swap");

/* Rupp unified site theme — presentation only (no content/text changes) */

:root{
  --bg:#060607;
  --ink:#111827;
  --paper:#f7f7f7;
  --paper2:#f1f1f1;
  --line:rgba(17,24,39,.12);
  --shadow:0 14px 35px rgba(0,0,0,.35);
  --bordeaux:#7a0026;
  --bordeaux2:#9b0032;
  --muted:#4b5563;
}

*{box-sizing:border-box}

body.rupp-site{
  margin:0;
  min-height:100vh;
  font-family: 'EB Garamond', Garamond, 'Times New Roman', Times, serif;
  font-weight: 600;
  line-height:1.6;
  background: radial-gradient(1200px 800px at 50% 12%, rgba(90,90,105,.35) 0%, rgba(6,6,7,0) 62%), linear-gradient(180deg, #111114 0%, #060607 55%, #000000 100%);
  background-attachment: fixed;
  color: var(--ink);
}

/* Side gradients (≈10–15% each side) */
body.rupp-site::before,
body.rupp-site::after{
  content:"";
  position:fixed;
  top:0; bottom:0;
  width:12vw;
  max-width:260px;
  pointer-events:none;
  z-index:0;
}
body.rupp-site::before{
  left:0;
  background: linear-gradient(to right, rgba(70,70,80,.35), rgba(70,70,80,0));
}
body.rupp-site::after{
  right:0;
  background: linear-gradient(to left, rgba(70,70,80,.35), rgba(70,70,80,0));
}

/* Ensure page content sits above gradients */
body.rupp-site > *{ position:relative; z-index:1; }

/* Central vertical band (≈70–80% width) */
body.rupp-site .container,
body.rupp-site .rupp-band{
  width: min(1100px, 76vw);
  margin: 28px auto;
  padding: clamp(18px, 2.6vw, 34px);
  background: linear-gradient(180deg, #ffffff 0%, var(--paper) 45%, var(--paper2) 100%);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
}

/* Blog container (FlatPress "Touch of Glass") */
body.rupp-site.rupp-blog #body-container{
  width: min(1100px, 76vw);
  margin: 28px auto;
  padding: 0;
  background: transparent;
}
body.rupp-site.rupp-blog #body-container > *{
  position:relative;
  z-index:1;
}
body.rupp-site.rupp-blog #head,
body.rupp-site.rupp-blog #content,
body.rupp-site.rupp-blog #footer{
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
body.rupp-site.rupp-blog #head,
body.rupp-site.rupp-blog #content,
body.rupp-site.rupp-blog #footer{
  background: linear-gradient(180deg, #ffffff 0%, var(--paper) 45%, var(--paper2) 100%);
}
body.rupp-site.rupp-blog #head{ margin-bottom: 18px !important; }
body.rupp-site.rupp-blog #footer{ margin-top: 18px !important; }

/* Typography & elements */
h1,h2,h3{ line-height:1.25; }
a{ color: var(--bordeaux); text-decoration: none; }
a:hover{ color: var(--bordeaux2); text-decoration: underline; }

.logo{
  max-width: 150px;
  height: auto;
}

.header{
  text-align:center;
  padding-bottom: 18px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.footer{
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.muted{ color: var(--muted); }
.small{ font-size: .92rem; }

/* Top navigation */
.rupp-nav{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content:center;
  align-items:center;
  padding: 10px 0 14px 0;
  margin: 0 0 18px 0;
  border-bottom: 1px solid var(--line);
}
.rupp-nav a{
  font-weight: 800;
  letter-spacing: .01em;
  color: var(--bordeaux);
  padding: 7px 12px;
  border-radius: 999px;
  border: 2px solid rgba(122,0,38,.28);
  background: rgba(122,0,38,.04);
  text-decoration:none;
}
.rupp-nav a:hover{
  background: rgba(122,0,38,.08);
  text-decoration:none;
}
.rupp-nav a:focus-visible{
  outline: 3px solid rgba(122,0,38,.22);
  outline-offset: 2px;
}

/* Emphasis boxes used on static pages */
.demands{
  margin: 30px 0;
  padding: 18px 18px;
  background: #ffffff;
  border-left: 6px solid var(--bordeaux);
  border-radius: 12px;
  border: 1px solid var(--line);
}
.demands h3{ margin-top: 0; }

/* Cards/lists on legal page */
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius: 12px;
  padding: 16px;
}
.list{
  padding-left: 18px;
}

/* Rejoindre page embedded form container */
.google-form-container{
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.form-section{
  margin-top: 18px;
}
.notice{
  background: rgba(122,0,38,.05);
  border: 1px solid rgba(122,0,38,.18);
  border-radius: 12px;
  padding: 14px;
}

/* Chronologie page */
.content-section{
  margin-top: 18px;
}
.content-section h3{
  border-left: 6px solid var(--bordeaux);
  padding-left: 10px;
}

/* Collectif page (iframe sheet) */
.frame{
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background:#fff;
}
.frame iframe{
  width:100%;
  height: 78vh;
  border:0;
}
.back{
  display:inline-block;
  margin-top: 14px;
  font-weight: 800;
}

/* Flyer preview page: keep A5 centered */
body.rupp-site .a5-page{
  background:#fff;
  border-radius: 14px;
}

/* Responsive */
@media (max-width: 900px){
  body.rupp-site .container,
  body.rupp-site .rupp-band,
  body.rupp-site.rupp-blog #body-container{
    width: 94vw;
    margin: 16px auto;
    padding: 16px;
  }
  body.rupp-site.rupp-blog #head,
  body.rupp-site.rupp-blog #content,
  body.rupp-site.rupp-blog #footer{
    border-radius: 14px;
  }
}
/* Body text rhythm (static pages) */
body.rupp-site .container p{
  margin: 0 0 1em;
  text-align: justify;
}

/* Index: poem block */
.poem{
  text-align:center;
  margin: 40px auto;
  padding: 22px 10px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: 1.06em;
  color: #374151;
}
.poem .author{
  margin-top: 14px;
  font-style: normal;
  font-weight: 800;
  font-size: 0.98em;
  color: var(--ink);
}

/* X button (index footer) */
.x-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin: 10px 0 6px 0;
  padding: 8px 12px;
  border-radius: 999px;
  border: 2px solid var(--line);
  background: rgba(0,0,0,.03);
  color: var(--ink);
  font-weight: 800;
}
.x-btn:hover{
  background: rgba(122,0,38,.06);
  text-decoration:none;
}
.x-ico{
  width:18px;
  height:18px;
  color: var(--bordeaux);
}

/* Collectif: header/main inside container */
body.rupp-site .container > header{
  padding: 6px 0 14px 0;
  border-bottom: 1px solid var(--line);
  margin-bottom: 16px;
}
body.rupp-site .container > main{
  padding-top: 10px;
}
.sub{ color: var(--muted); margin: 6px 0 16px; }
/* Index demands list */
.demands ul{
  list-style: none;
  padding: 0;
  margin: 0;
}
.demands li{
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 1.06em;
}
.demands li:last-child{ border-bottom: none; }

/* Embedded Google Form sizing */
.google-form-container{
  position: relative;
  width: 100%;
  height: 650px;
}
.google-form-container iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/* Headings (static pages) */
body.rupp-site .container h1{
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  margin: 12px 0 0 0;
  color: var(--ink);
}
body.rupp-site .container h2{
  font-size: 1.12rem;
  margin: 6px 0 0 0;
  font-weight: 400;
  color: #374151;
}
body.rupp-site .container h3{
  margin: 18px 0 10px 0;
}
