@charset "UTF-8";
/*
Theme Name: Snipemail FSE
Theme URI: http://www.snipemail.com
Description: Theme Full Site Editing responsive, reproduction fidele du theme Sandbox Snipemail
Version: 1.0.0
Author: AJcrea
Author URI: http://www.ajcrea.com
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: snipemail-fse
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
*/
/*
 * Snipemail FSE — mobile-first
 * Header et central en pleine largeur, contenu interne limite a 1200px.
 */
:root {
  --snipe-bg: #363330;
  --snipe-text: #001022;
  --snipe-accent: #d93d00;
  --snipe-cream: #ffefd8;
  --snipe-max-width: 1200px;
  --snipe-sidebar-width: 380px;
  --snipe-gap: 20px;
}

/*
body {
  margin: 0 0 25px;
  padding: 0;
  color: var(--snipe-text);
  font-size: 80%;
  font-family:
    "Trebuchet MS", Verdana, Geneva, Arial, Helvetica, sans-serif !important;
  background: var(--snipe-bg);
} */
body {
  color: #001022;
  font-size: 80%;
  font-family: "Trebuchet MS", Verdana, Geneva, Arial, Helvetica, sans-serif !important;
  background: #363330 url(assets/images/bck-body.gif) repeat left top;
  margin: 0 0 25px 0;
  padding: 0;
}

.wp-site-blocks {
  overflow-x: clip;
}

/* Neutralise les paddings/marges auto des blocks WP */
.snipe-global.wp-block-group,
.snipe-topbar.wp-block-group,
.snipe-header.wp-block-group,
.snipe-main.wp-block-group,
.snipe-central.wp-block-group,
.snipe-content.wp-block-group,
.snipe-footer.wp-block-group,
.snipe-ongletsdivers-wrap.wp-block-group,
.snipe-sidebar.wp-block-group {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}

.snipe-topbar-inner.wp-block-group,
.snipe-header-inner.wp-block-group,
.snipe-onglets-inner.wp-block-group {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}

/* Full-width header model */
.snipe-global {
  width: 100%;
  background: #33302e;
  padding-top: 32px !important;
}

/* Important: snipe-global et ses enfants directs doivent rester full-width.
   Le contenu est contraint uniquement par les wrappers *-inner. */
.snipe-global.wp-block-group,
.snipe-global.is-layout-constrained,
.snipe-global.wp-block-group-is-layout-constrained {
  max-width: none !important;
}

.snipe-global > * {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.snipe-global.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}

/* Full-width central model */
.snipe-main {
  width: 100%;
  margin-top: 20px !important;
}

.snipe-site-footer {
  width: 100%;
}

/* Direct children full-width (pour backgrounds pleine page) */
.snipe-topbar,
.snipe-header,
.snipe-ongletsdivers-wrap {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Inner containers limited to 1200 */
.snipe-topbar-inner,
.snipe-header-inner,
.snipe-onglets-inner,
.snipe-central,
.snipe-footer {
  width: min(100% - 24px, var(--snipe-max-width));
  margin-left: auto;
  margin-right: auto;
}

/* MENU */
.snipe-topbar-inner {
  padding-left: 0;
}

.snipe-primary-nav .wp-block-navigation__container {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
}

.snipe-primary-nav .wp-block-navigation-item {
  margin: 0;
}

.snipe-primary-nav .wp-block-navigation-item__content {
  display: block;
  min-width: 108px;
  height: 34px;
  line-height: 34px;
  padding: 0 10px;
  text-align: center;
  color: #ffffff !important;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 700;
  /* Gris 50% par defaut */
  background: #a2a2a2;
  border-radius: 4px 4px 0 0;
}

.snipe-primary-nav .wp-block-navigation-item__content:hover,
.snipe-primary-nav .wp-block-navigation-item__content:focus {
  /* Gris 10% au hover, texte noir */
  background: #e6e6e6;
  color: #000000 !important;
}

/* HEADER */
.snipe-header {
  min-height: 193px;
  border-top: 1px solid #363330;
  overflow: hidden;
  background: linear-gradient(to bottom, #db7100 0%, #fb9600 3%, #ff9100 40%, #ff7800 95%, #d76500 100%);
}

.snipe-header-inner {
  padding: 0 12px 16px;
  box-sizing: border-box;
}

.snipe-blogtitles {
  width: 100%;
  box-sizing: border-box;
  padding-right: clamp(7rem, 34vw, 15rem);
  background-image: url("assets/images/bck-header.png");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: clamp(18rem, 34vw, 11rem) auto;
}

.snipe-site-title {
  margin: 0;
  padding: 0;
}

.snipe-site-title > a,
.snipe-site-title > a:visited {
  margin: 0;
  padding: 0;
  display: block;
  width: clamp(220px, 65vw, 360px);
  aspect-ratio: 360/117;
  height: auto;
  background: transparent url("assets/images/bck-blog-title.png") no-repeat left top;
  background-size: 100% 200%;
  text-indent: -5000px;
  overflow: hidden;
  text-decoration: none;
}

.snipe-site-title > a:hover,
.snipe-site-title > a:focus {
  background-position: left bottom;
}

.snipe-site-tagline {
  margin: 4px 0 0;
  font-size: 1.2em;
  letter-spacing: 1px;
  word-spacing: 2px;
  color: #ffffff;
}

.snipe-suiteheader {
  width: 100%;
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.snipe-suiteheader-col {
  min-width: 0;
}

.snipe-suiteheader-widget-title,
.snipe-suiteheader-col h3 {
  margin: 0 0 8px;
  padding: 0;
  color: var(--snipe-accent);
  font-size: 1.35em;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: 400;
}

.snipe-suiteheader-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.snipe-suiteheader-col li {
  margin: 0;
}

.snipe-suiteheader-col a,
.snipe-suiteheader-col a:visited {
  color: var(--snipe-cream);
  text-decoration: none;
}

.snipe-suiteheader-col a:hover,
.snipe-suiteheader-col a:focus {
  color: #ffffff;
  text-decoration: underline;
}

.snipe-suiteheader .wp-block-search,
.snipe-search-widget.wp-block-search {
  margin: 0;
}

.snipe-suiteheader .wp-block-search__inside-wrapper,
.snipe-search-widget .wp-block-search__inside-wrapper {
  width: 230px;
  max-width: 100%;
  height: 35px;
  overflow: hidden;
  position: relative;
  padding: 0;
  border: 0;
  border-radius: 18px;
  background: #ffffff;
}

.snipe-suiteheader .wp-block-search__input,
.snipe-search-widget .wp-block-search__input {
  position: absolute;
  inset: 0 30px 0 0;
  width: auto;
  height: 35px;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #d76500;
  padding: 0 0 0 20px;
}

.snipe-suiteheader .wp-block-search__input::placeholder,
.snipe-search-widget .wp-block-search__input::placeholder {
  color: rgba(215, 101, 0, 0.62);
}

.snipe-suiteheader .wp-block-search__button,
.snipe-search-widget .wp-block-search__button {
  position: absolute;
  inset: 0 0 0 auto;
  width: 30px;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  color: #d76500;
  font-weight: 700;
}

/* ONGLETS */
.snipe-ongletsdivers-wrap {
  padding: 10px !important;
  background: linear-gradient(to bottom, #201e1d 0%, #000000 100%);
}

.snipe-ongletsdivers {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.snipe-ongletsdivers-item {
  margin: 0 0 8px 0 !important;
  list-style: none;
  color: #ffffff;
  text-align: left;
  border-radius: 10px;
  padding: 10px;
  background: #ffffff;
  position: relative;
  overflow: visible;
}

.snipe-ongletsdivers-item::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7.5px solid transparent;
  border-right: 7.5px solid transparent;
  border-top: 10px solid #ffffff;
}

.snipe-ongletsdivers-inner {
  padding: 10px;
  padding-right: 60px;
  border-radius: 7px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(to bottom, #45403d 0, #2f2b29 100%);
}

.snipe-ongletsdivers-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("assets/images/bck-encarts.png") no-repeat right bottom;
  opacity: 0.5;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.snipe-ongletsdivers-item:hover .snipe-ongletsdivers-inner {
  background: linear-gradient(to bottom, #55504d 0, #3a3532 100%);
}

.snipe-ongletsdivers-item:hover .snipe-ongletsdivers-inner::before {
  opacity: 1;
}

.snipe-ongletsdivers-inner > * {
  position: relative;
  z-index: 1;
}

.snipe-ongletsdivers-inner,
.snipe-ongletsdivers-inner h3,
.snipe-ongletsdivers-inner a,
.snipe-ongletsdivers-inner a:visited,
.snipe-ongletsdivers-inner div {
  color: #ffffff !important;
  font-family: "Trebuchet MS", Verdana, Geneva, Arial, Helvetica, sans-serif !important;
}

.snipe-ongletsdivers-inner h3 {
  font-size: 1.35em;
  text-transform: uppercase;
  margin: 0;
  padding: 0;
  color: #ffffff !important;
}

.snipe-ongletsdivers-inner h3:first-letter {
  font-size: 1.5em;
}

.snipe-ongletsdivers-inner a,
.snipe-ongletsdivers-inner a:visited {
  color: #ffffff;
  text-decoration: none;
  display: block;
  padding-top: 8px;
}

.snipe-ongletsdivers-inner a:hover,
.snipe-ongletsdivers-inner a:focus {
  text-decoration: underline;
}

/* CENTRAL */
.snipe-central {
  background: #ffffff;
  padding: 20px !important;
  border-radius: 10px;
  overflow: hidden;
  display: block;
}

.snipe-content {
  width: 100%;
  margin: 0;
  padding: 0 18px 18px;
  box-sizing: border-box;
  overflow: hidden;
}

.snipe-sidebar-area {
  width: 100%;
}

/* CONTENU */
.snipe-post-card {
  margin-bottom: 40px;
  margin-right: 40px;
}

.snipe-content .wp-block-post-template.is-layout-flow > li + li {
  margin-top: 40px;
}

.snipe-entry-title,
.wp-block-post-title.snipe-entry-title {
  clear: both;
  margin: 0;
  font-size: 2em;
  font-weight: 400;
  color: var(--snipe-accent);
}

.snipe-entry-title a,
.snipe-entry-title a:visited,
.snipe-content a,
.snipe-content a:visited {
  color: var(--snipe-accent);
  text-decoration: none;
}

.snipe-entry-title a:hover,
.snipe-entry-title a:focus,
.snipe-content a:hover,
.snipe-content a:focus {
  text-decoration: underline;
}

.snipe-entry-date,
.wp-block-post-date.snipe-entry-date {
  font-weight: 700;
  color: #4a4744;
  margin: 0;
  padding: 0;
}

.snipe-entry-content,
.wp-block-post-excerpt,
.wp-block-post-content {
  text-align: justify;
  font-size: 1.05em;
  padding: 14px 0;
  line-height: 1.55;
}

.snipe-entry-content h2,
.snipe-entry-content h3,
.snipe-entry-content h4,
.snipe-entry-content h5,
.snipe-entry-content h6,
.wp-block-post-content h2,
.wp-block-post-content h3,
.wp-block-post-content h4,
.wp-block-post-content h5,
.wp-block-post-content h6 {
  color: var(--snipe-accent);
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: 400;
}

.snipe-entry-meta {
  margin-bottom: 30px;
}

.snipe-navigation {
  width: 100%;
  min-height: 1em;
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.snipe-navigation .wp-block-query-pagination-numbers,
.snipe-navigation .wp-block-query-pagination-previous,
.snipe-navigation .wp-block-query-pagination-next {
  margin: 0;
}

.snipe-navigation .page-numbers,
.snipe-navigation .wp-block-query-pagination-previous,
.snipe-navigation .wp-block-query-pagination-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  min-width: 36px;
  padding: 0 12px;
  border: 1px solid rgba(217, 61, 0, 0.35);
  border-radius: 999px;
  background: #fff6ea;
  color: #b43500;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.snipe-navigation a.page-numbers:hover,
.snipe-navigation a.page-numbers:focus,
.snipe-navigation .wp-block-query-pagination-previous:hover,
.snipe-navigation .wp-block-query-pagination-previous:focus,
.snipe-navigation .wp-block-query-pagination-next:hover,
.snipe-navigation .wp-block-query-pagination-next:focus {
  background: #d93d00;
  border-color: #d93d00;
  color: #ffffff;
  transform: translateY(-1px);
}

.snipe-navigation .page-numbers.current {
  background: #d93d00;
  border-color: #d93d00;
  color: #ffffff;
}

/* SIDEBAR */
.snipe-sidebar {
  min-height: 100%;
  padding: 24px 15px 40px;
  color: var(--snipe-accent);
  border: 0;
  background: #ff9100;
  box-shadow: 0 0 14px rgba(140, 46, 0, 0.45);
  box-sizing: border-box;
}

.snipe-widget-title {
  font-size: 1.35em;
  font-weight: 400;
  color: #ffffff;
  margin: 0 0 8px;
}

.snipe-sidebar ul,
.snipe-sidebar ol {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.snipe-sidebar li {
  list-style: none;
  margin: 0 0 1em;
  padding: 0 20px 5px 0;
}

.snipe-sidebar li li {
  margin: 0;
  padding-right: 20px;
}

.snipe-sidebar a,
.snipe-sidebar a:visited {
  color: var(--snipe-cream);
  text-decoration: none;
}

.snipe-sidebar a:hover,
.snipe-sidebar a:focus {
  color: #ffffff;
  text-decoration: underline;
}

.snipe-sidebar .wp-block-latest-posts li,
.snipe-sidebar .wp-block-latest-comments li {
  border-bottom: 1px solid rgba(255, 239, 216, 0.28);
}

.snipe-search-widget {
  margin-bottom: 18px;
}

/* FOOTER */
.snipe-footer {
  text-align: center;
  padding-top: 30px;
  border-top: 3px solid #1c1a19;
}

.snipe-footer,
.snipe-footer a,
.snipe-footer a:visited {
  color: var(--snipe-cream);
  text-decoration: none;
}

.snipe-footer a:hover,
.snipe-footer a:focus {
  color: #ffffff;
  text-decoration: underline;
}

/* Tablet up */
@media (min-width: 768px) {
  .snipe-site-tagline {
    margin: 0 0 0 35px;
    font-size: 1.5em;
    letter-spacing: 2px;
    word-spacing: 5px;
  }
  .snipe-suiteheader {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 16px;
  }
  .snipe-ongletsdivers {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .snipe-content {
    padding: 0 28px 24px;
  }
}
/* Desktop matching the original spirit */
@media (min-width: 1024px) {
  .snipe-topbar-inner {
    padding-left: 15px;
  }
  .snipe-primary-nav .wp-block-navigation__container {
    flex-wrap: nowrap;
  }
  .snipe-primary-nav .wp-block-navigation-item__content {
    width: 116px;
    min-width: 116px;
    padding: 0;
  }
  .snipe-header {
    padding: 0;
    min-height: 193px;
    background-size: auto;
  }
  .snipe-header-inner {
    display: flex;
    min-height: 193px;
    padding: 0;
  }
  .snipe-blogtitles {
    width: 620px;
    padding-right: 15rem;
    background-position: right top;
    background-size: auto;
  }
  .snipe-site-title > a,
  .snipe-site-title > a:visited {
    width: 360px;
    height: 117px;
    aspect-ratio: auto;
    background-size: auto;
  }
  .snipe-suiteheader {
    /* width: 520px; */
    margin-top: 50px;
    display: flex;
    gap: 24px;
  }
  .snipe-suiteheader-col {
    width: 240px;
  }
  .snipe-ongletsdivers {
    display: flex;
    gap: 10px;
    cursor: pointer;
  }
  .snipe-ongletsdivers-item {
    /* width: 214px;
    min-height: 128px; */
  }
  .snipe-central {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
  }
  .snipe-content {
    width: calc(100% - var(--snipe-sidebar-width));
    flex: 1 1 auto;
    padding: 0 40px 24px;
  }
  .snipe-sidebar-area {
    width: var(--snipe-sidebar-width);
    max-width: var(--snipe-sidebar-width);
    flex: 0 0 var(--snipe-sidebar-width);
  }
  .snipe-sidebar {
    border-radius: 10px;
    padding: 20px !important;
  }
  .snipe-entry-title,
  .wp-block-post-title.snipe-entry-title {
    font-size: 2.2em;
  }
  .snipe-entry-content,
  .wp-block-post-excerpt,
  .wp-block-post-content {
    font-size: 1.1em;
    padding: 15px 0;
  }
}
/* DISCUSSIONS — compteur de commentaires */
.snipe-comments-count {
  font-size: var(--wp--preset--font-size--large, 1.25rem);
  font-weight: 700;
  color: #d93d00;
}

.snipe-comments-count::after {
  content: " commentaires";
  font-weight: 700;
  color: #d93d00;
}

/* FACEBOOK — styles du thème sandbox */
.snipe-sidebar #facebook {
  color: #fff;
  display: inline-block;
  background-color: #3b5998;
  background-image: url(assets/images/facebook.png);
  background-repeat: no-repeat;
  background-position: 3px 5px;
  background-size: 20px 20px;
  padding: 6px 0 6px 30px;
  margin-top: 2px;
  width: 122px;
  border-radius: 3px;
  text-decoration: none;
}

.snipe-sidebar #facebook:hover {
  background-color: #6d84b4;
  text-decoration: none;
}

/* SIDEBAR — gestion des débordements */
.snipe-sidebar {
  overflow-x: hidden;
  word-break: break-word;
}

.snipe-sidebar ul,
.snipe-sidebar ol,
.snipe-sidebar li {
  max-width: 100%;
  overflow-x: hidden;
}

.snipe-sidebar a {
  word-break: break-word;
}

/* OVERRIDE WP — catégories ne doivent pas déborder */
.wp-block-categories__label {
  display: block;
  width: auto !important;
  box-sizing: border-box;
  overflow: hidden;
  word-break: break-word;
}
