/* ============================================
   costume-russe.fr — Modern Theme Override
   Replaces old Artisteer theme (2026-03-24)
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');

/* ---- RESET ARTISTEER DARK THEME ---- */
body, .home, body.home {
  background: #FAF7F2 !important;
  color: #2c2c2c !important;
  font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  margin: 0; padding: 0;
}

#art-main, .art-sheet, .art-sheet-body, .art-content-layout,
.art-content-layout-row, .art-layout-cell, .art-post,
.art-post-body, .art-post-inner, .art-postcontent {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.cleared, .reset-box { display: none !important; }

/* ---- HEADER ---- */
.art-header {
  background: linear-gradient(135deg, #8B0000 0%, #6B0000 100%) !important;
  padding: 0 !important;
  height: auto !important;
  position: relative;
  text-align: center !important;
}
.art-header-clip, .art-header-center,
.art-header-png, .art-header-jpeg {
  background: none !important;
  height: auto !important;
  position: relative !important;
}

.art-logo {
  position: relative !important;
  padding: 24px 30px !important;
  text-align: center !important;
  left: auto !important; top: auto !important;
  right: auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.art-logo-name {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
}
.art-logo-name a {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-decoration: none !important;
  letter-spacing: 2px;
  display: inline-block !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}
.art-logo-name a:hover { color: #F9C976 !important; }
h2.art-logo-text {
  color: rgba(255,255,255,0.75) !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  margin: 6px 0 0 !important;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}

/* ---- HERO BANNER (broderie) ---- */
.hero-banner-broderie {
  width: 100%;
  height: 100px;
  object-fit: cover;
  display: block;
  border-bottom: 3px solid #F9C976;
}
@media (max-width: 768px) {
  .hero-banner-broderie { height: 60px; }
}

/* ---- NAVIGATION ---- */
.art-nav {
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  position: sticky;
  top: 0;
  z-index: 1000;
  border: none !important;
  padding: 0 !important;
}
.art-nav-l, .art-nav-r, .art-nav-outer {
  background: none !important;
  border: none !important;
}
ul.art-hmenu {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 1200px !important;
  list-style: none !important;
}
ul.art-hmenu li {
  list-style: none !important;
  display: inline-block !important;
}
.art-hmenu-li-separator { display: none !important; }
ul.art-hmenu li a {
  display: block !important;
  padding: 14px 18px !important;
  color: #333 !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: color 0.2s, background 0.2s !important;
  background: none !important;
  border: none !important;
}
ul.art-hmenu li a span.l, ul.art-hmenu li a span.r { display: none !important; }
ul.art-hmenu li a span.t { display: inline !important; }
ul.art-hmenu li a:hover, ul.art-hmenu li a.active {
  color: #8B0000 !important;
  background: #faf0e6 !important;
}
ul.art-hmenu li ul {
  position: absolute !important;
  background: #fff !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
  border-radius: 8px !important;
  padding: 8px 0 !important;
  min-width: 200px;
  display: none;
}
ul.art-hmenu li:hover ul { display: block; }
ul.art-hmenu li ul li a {
  padding: 10px 18px !important;
  font-size: 0.85rem !important;
}

/* ---- CONTAINER ---- */
.art-content { max-width: 1200px !important; margin: 0 auto !important; padding: 0 20px !important; }

/* ---- HERO SECTION (homepage) ---- */
.hero {
  display: flex !important;
  gap: 3rem !important;
  align-items: center !important;
  padding: 3rem 0 !important;
  flex-wrap: wrap !important;
}
.hero-img { flex: 0 0 320px !important; }
.hero-img img {
  border-radius: 16px !important;
  box-shadow: 0 8px 30px rgba(139,0,0,0.15) !important;
}
.hero-text { flex: 1 1 400px !important; }
.hero-text h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #8B0000 !important;
  line-height: 1.3 !important;
  margin: 0 0 1rem !important;
}
.hero-text p {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: #444 !important;
  margin: 0.8rem 0 !important;
}
.hero-text a { color: #8B0000 !important; font-weight: 600 !important; }
.hero-text a:hover { text-decoration: underline !important; }

/* ---- SECTION TITLES ---- */
.section-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: #8B0000 !important;
  border-bottom: 3px solid #F9C976 !important;
  padding-bottom: 0.5rem !important;
  margin: 2.5rem 0 1.2rem !important;
}

/* ---- ARTICLE CARDS ---- */
.article-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 1.5rem !important;
  margin: 1.5rem 0 2.5rem !important;
}
.article-card {
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: transform 0.25s, box-shadow 0.25s !important;
  max-width: 100% !important;
  flex: none !important;
}
.article-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(139,0,0,0.12) !important;
}
.article-card a { color: inherit !important; }
.article-card-img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
}
.article-card-body { padding: 1rem 1.2rem 1.2rem !important; }
.article-card-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: #2c2c2c !important;
  margin: 0 0 0.5rem !important;
  line-height: 1.3 !important;
}
.article-card-desc {
  color: #666 !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
}

/* ---- ARTICLE LIST ---- */
.article-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 0.8rem !important;
  margin: 1rem 0 2rem !important;
}
.article-list-item { max-width: 100% !important; flex: none !important; }
.article-list-item a {
  display: block !important;
  padding: 1rem 1.2rem !important;
  background: #fff !important;
  border-radius: 10px !important;
  color: #444 !important;
  border: 1px solid #eee !important;
  transition: all 0.2s !important;
}
.article-list-item a:hover {
  background: #faf0e6 !important;
  border-color: #F9C976 !important;
  color: #8B0000 !important;
}
.article-list-item a strong {
  color: #8B0000 !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}

/* ---- ABOUT BOX ---- */
.about-box {
  background: #fff !important;
  border-left: 4px solid #8B0000 !important;
  padding: 1.5rem 2rem !important;
  border-radius: 0 12px 12px 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}
.about-box p { color: #444 !important; }

/* ---- PARTNERS ---- */
.partners a {
  background: #fff !important;
  border: 1px solid #ddd !important;
  color: #8B0000 !important;
  border-radius: 20px !important;
  padding: 0.4rem 1rem !important;
}
.partners a:hover {
  background: #8B0000 !important;
  color: #fff !important;
  border-color: #8B0000 !important;
}

/* ---- INTRO TEXT ---- */
.intro-text { color: #555 !important; }

/* ---- SIDEBAR (Artisteer legacy) ---- */
.art-layout-cell.art-sidebar1,
.art-sidebar1 {
  background: #faf7f2 !important;
  border-top: 3px solid #F9C976 !important;
  padding: 2rem 0 !important;
  margin-top: 2rem !important;
}

.art-content-layout-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* Sidebar as 3-column grid */
.art-sidebar1 {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  max-width: 1200px !important;
  margin: 2rem auto 0 !important;
  padding: 2rem 20px !important;
}

.art-block.widget {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}

.art-block-body { background: transparent !important; border: none !important; padding: 0 !important; }
.art-blockheader { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 0 1rem !important; }
.art-blockheader h3, .art-blockheader h3.t {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: #8B0000 !important;
  margin: 0 !important;
  padding: 0 0 0.5rem !important;
  border-bottom: 2px solid #F9C976 !important;
}
.art-blockcontent, .art-blockcontent-body { background: transparent !important; border: none !important; padding: 0 !important; }

.art-sidebar1 ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.art-sidebar1 ul li {
  padding: 0.4rem 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  list-style: none !important;
}
.art-sidebar1 ul li:last-child { border-bottom: none !important; }
.art-sidebar1 ul li a {
  color: #444 !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.art-sidebar1 ul li a:hover { color: #8B0000 !important; }

@media (max-width: 768px) {
  .art-sidebar1 { grid-template-columns: 1fr !important; }
}

/* ---- FOOTER ---- */
.art-footer {
  background: #2c2c2c !important;
  color: #aaa !important;
  padding: 1.5rem 2rem !important;
  text-align: center !important;
  font-size: 0.85rem !important;
  margin-top: 0 !important;
  border-radius: 0 !important;
  width: 100% !important;
}
.art-footer-body {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.art-footer a, .art-footer-text a { color: #F9C976 !important; }
.art-footer-text p { color: #aaa !important; margin: 0 !important; }
.art-rss-tag-icon { display: none !important; }

/* ---- ARTICLE PAGES ---- */
h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #8B0000 !important;
  line-height: 1.3 !important;
}
h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #8B0000 !important;
  margin: 2rem 0 0.8rem !important;
  line-height: 1.3 !important;
}
h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.2rem !important;
  color: #333 !important;
  margin: 1.5rem 0 0.6rem !important;
}

p { color: #444 !important; line-height: 1.7 !important; }
a { color: #8B0000 !important; }
a:hover { color: #6B0000 !important; text-decoration: underline !important; }

/* Images */
img { max-width: 100% !important; height: auto !important; }
img:hover { opacity: 1 !important; }
figure { margin: 1.5rem 0 !important; }
figure img { border-radius: 12px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important; }
figcaption {
  font-size: 0.85rem !important;
  color: #888 !important;
  text-align: center !important;
  margin-top: 0.5rem !important;
  font-style: italic !important;
}

/* Tables */
table {
  max-width: 100% !important;
  overflow-x: auto !important;
  display: block !important;
  border-collapse: collapse !important;
  margin: 1.5rem 0 !important;
  font-size: 0.9rem !important;
}
th {
  background: #8B0000 !important;
  color: #fff !important;
  padding: 10px 14px !important;
  text-align: left !important;
  font-weight: 600 !important;
}
td {
  padding: 10px 14px !important;
  border-bottom: 1px solid #eee !important;
  color: #444 !important;
}
tr:nth-child(even) { background: #faf7f2 !important; }

/* Blockquotes */
blockquote {
  border-left: 4px solid #8B0000 !important;
  background: #faf7f2 !important;
  padding: 1rem 1.5rem !important;
  margin: 1.5rem 0 !important;
  border-radius: 0 8px 8px 0 !important;
  font-style: italic !important;
  color: #555 !important;
}

/* Breadcrumb */
.breadcrumb, nav[aria-label="Breadcrumb"], .art-breadcrumb {
  font-size: 0.85rem !important;
  color: #888 !important;
  padding: 1rem 0 !important;
  background: transparent !important;
}
.breadcrumb a { color: #8B0000 !important; }

/* FAQ */
details { margin: 0.5rem 0 !important; }
details summary {
  cursor: pointer !important;
  font-weight: 600 !important;
  color: #8B0000 !important;
  padding: 0.8rem 1rem !important;
  background: #faf7f2 !important;
  border-radius: 8px !important;
}
details[open] summary { border-radius: 8px 8px 0 0 !important; }
details > div, details > p {
  padding: 1rem !important;
  background: #fff !important;
  border: 1px solid #eee !important;
  border-radius: 0 0 8px 8px !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
  .hero { flex-direction: column !important; text-align: center !important; gap: 1.5rem !important; }
  .hero-img { flex: 0 0 auto !important; }
  .hero-img img { max-width: 250px !important; margin: 0 auto !important; }
  .hero-text h1 { font-size: 1.6rem !important; }
  .article-grid { grid-template-columns: 1fr !important; }
  .article-list { grid-template-columns: 1fr !important; }
  h1 { font-size: 1.5rem !important; }
  h2 { font-size: 1.3rem !important; }
  ul.art-hmenu { flex-direction: column !important; }
  ul.art-hmenu li a { padding: 10px 16px !important; text-align: center !important; }
  .art-logo { padding: 15px 20px !important; }
  .art-logo-name a { font-size: 1.5rem !important; }
  table { font-size: 0.8rem !important; }
}

@media (max-width: 480px) {
  .hero-text h1 { font-size: 1.4rem !important; }
  .article-card-img { height: 160px !important; }
}
