/* CSS Document */


/*--------------------------------------------------------------
CARDS
*/




/*--------------------------------------------------------------
BUTTONS
*/


.btn-primary-blue:active {
	border-color: var(--gs-colorcolor33860B0, #3860B0) !important;
}

.btn-primary-red:active {
	border-color: var(--gs-colorcolorF37561, #F37561) !important;
}

.btn-secondary-green:active {
	border-color: var(--gs-colorcolor83D9AB, #83D9AB) !important;
}


.btn-secondary-blue:active {
	border-color: var(--gs-colorcolor6393D6, #6393D6) !important;
}


.btn-secondary-bluesky:active {
	border-color: var(--gs-colorcolorE1EDFA, #E1EDFA) !important;
}

.wp-block-post-author {
    display: inline-flex;
    padding: 4px 16px 4px 6px;
    border-radius: 32px;
    align-items: center;
}
.wp-block-post-author:hover {
	background: var(--color-blue-5) !important;
}
.wp-block-post-author .wp-block-post-author__avatar{
	width: 36px;
	height: auto;
	margin-right: 0.6rem;
}
.wp-block-post-author .wp-block-post-author__name a{
	font-size: 14px;
	color: var(--color-blue-primary);
}

.wp-block-stackable-card .stk-block-card__image img{
    border-radius: 24px;
}






/* Container général et espaces */
.singlebook-wrapper {
    padding: 5rem 0; /* espace généreux en haut et bas */
    background: var(--color-surface, #fff);
}

.singlebook-authors a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
    margin-right: 0.4rem;
	margin-top: -2px;
}

.singlebook-authors .author-avatar {
    border-radius: 50%;
    margin-right: 0.5rem;
}


/* Grille des deux colonnes */
.singlebook-columns {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 4rem;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Sidebar gauche sticky */
.singlebook-sidebar {
	top: 120px;
	position: sticky;
    align-self: start;
    background-color: #ff9294;
    padding: 24px;
    border-radius: 24px;
}

.singlebook-cover img {
    width: 100%;
    border-radius: 1rem;
    transition: transform 0.3s ease;
}

.singlebook-cover img:hover {
    transform: translateY(-8px);
}

/* Liens d’achat */
.singlebook-buy-links {
    margin-top: 2.5rem;
}

.singlebook-buy-title {
    font-size: 1.75rem;
    font-weight: 600;
    margin-bottom: 1.25rem;
    color: #ffffff;
}

.singlebook-buy-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.singlebook-buy-item + .singlebook-buy-item {
    margin-top: 1rem;
}

.singlebook-buy-item a {
	display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    border-radius: 160px;
    background: #ffffff;
    color: var(--color-red-primary);
    font-weight: 500;
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease;
}

.singlebook-buy-item a:hover {
    background: var(--color-red-secondary);
    color: #fff4f0;
}

/* Colonne droite principale */
.singlebook-main {
    display: flex;
    flex-direction: column;
}

/* Titre & auteurs */
.singlebook-header .singlebook-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #00024E;
    margin-bottom: 1rem;
}

.singlebook-header .singlebook-authors {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.1rem;
    color: #49454F;
    margin-bottom: 2rem;
}

.singlebook-author-item {
    display: inline-flex;
    align-items: center;
    margin-left: 1rem; /* espace entre les auteurs */
}

.singlebook-authors .singlebook-author-item:first-child {
	margin-left: 0.5rem;
}



.singlebook-author-item .author-avatar {
    border-radius: 50%;
    margin-right: 0.4rem; /* espace entre avatar et nom */
}

/* Dividers */
.singlebook-divider {
    border-bottom: 1px solid var(--color-divider, #e0e0e0);
    margin: 1.5rem 0;
}

.singlebook-divider-secondary {
	border-bottom: 2px solid #00024E;
	width: 80px;
	margin: 0.25rem 0rem 1rem 0rem;
}

/* Meta info (date / éditeur) */

.singlebook-meta-info {
	background-color: #f2f9ff;
    padding: 16px;
    border-radius: 16px;
}

.singlebook-meta-info p {
    margin: 0.6rem 0;
    color: var(--color-text, #333);
    font-size: 1rem;
	padding: 8px;
}

.singlebook-meta-info p:first-child {
    border-bottom: 1px solid #E1EDFA;
}

/* Description */
.singlebook-description {
	margin: 4rem 0rem;
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--color-text, #222);
}

/* Responsive pour mobile */
@media (max-width: 1024px) {
    .singlebook-columns {
        grid-template-columns: 1fr;
    }
    .singlebook-sidebar {
        position: relative;
        top: auto;
    }
    .singlebook-buy-links a {
        width: 100%;
    }
}

/* Section : Other books by this author */
.singlebook-related {
	margin: -1rem 0rem 4rem 0rem;
}

.singlebook-related-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: #00024E;
    margin-bottom: 2rem;
}

/* Grille responsive */
.singlebook-related-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* Carte horizontale */
.singlebook-related-card {
	padding: 32px;
    display: flex;
    flex-direction: row;
	gap: 0.5rem;
    background: #f2f9ff;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 4px 14px rgba(0,0,0,0.02);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.singlebook-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 22px rgba(0,0,0,0.08);
}

/* Image */
.singlebook-related-image img {
    width: 200px;
    height: 100%;
    object-fit: cover;
}

/* Contenu */
.singlebook-related-content {
	padding: 0.75rem 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
	align-items: flex-start;
}

.singlebook-related-name {
    font-size: 1.4rem;
    font-weight: 700;
    color: #00024E;
    margin-bottom: 0.5rem;
}

.singlebook-related-excerpt {
    font-size: 0.95rem;
    color: #49454F;
    margin-bottom: 1.5rem;

    display: -webkit-box;
    -webkit-line-clamp: 2; /* limite à 2 lignes */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}


.singlebook-related-link {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--color-red-primary);
}




/* Contribute - Modale */

#contribute-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

#contribute-modal[style*="display: block"] {
  display: flex !important;
}

.reblex-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 2, 78, 0.7);
}


.reblex-modal-positioner {
  position: relative;
  max-width: 1280px; 
  width: 90%;
  padding: 22px;
  margin: 22px; 
}


.reblex-modal-content {
  position: static;
  z-index: 2;
  max-width: 100%; 
  width: 100%;
  max-height: 100vh;
  overflow-y: auto;
  border-radius: 8px;
}


.reblex-modal-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  background: var(--stk-container-background-color);  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  color: var(--color-blue-secondary);
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.reblex-modal-close:hover {
  background: rgba(0, 2, 78, 1);
  transform: scale(1.1);
}
.text-no-wrap {
	text-wrap: nowrap;
}

.reblex-modal-body .modal-step-2 {
  display: none;
}
.reblex-modal-body .modal-step-1 {
  display: block;
}



/* Quand on passe à l'étape 2 */

.reblex-modal-body .modal-step-1,
.reblex-modal-body .modal-step-2,
.reblex-modal-body .modal-step-3 {
  display: none;
}

.reblex-modal-body.show-step-1 .modal-step-1 { display: block; }
.reblex-modal-body.show-step-2 .modal-step-2 { display: block; }
.reblex-modal-body.show-step-3 .modal-step-3 { display: block; }

.modal-underline {
	color: var(--color-blue-primary) !important;
	text-decoration: underline 2px solid;
	text-underline-offset: 6px;
}

a.modal-underline:hover {
	color: var(--color-blue-60) !important;
	text-decoration: underline 2px solid;
	text-underline-offset: 6px;
}

.js-accept-chart-button.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; 
}

/* --- STYLE POUR L'ÉTAPE 3 --- */

.js-problem-choice {
  cursor: pointer;
  border: 3px solid transparent;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.js-problem-choice.is-selected {
  border-color: #4f46e5;
  box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}

.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; 
}

.js-problem-choice {
  cursor: pointer;
  border-radius: 20px;
  border: 3px solid transparent;
}

.js-problem-choice .stk-column-wrapper {
  transition: transform 0.2s ease-in-out;
  border-radius: 17px; /* (20px - 3px de bordure) */
}

.js-problem-choice.is-selected {
  box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}

.js-problem-choice.is-selected .stk-column-wrapper {
  border: 3px solid var(--color-blue-primary) !important;
}

.js-problem-choice.is-selected .stk-column-wrapper {
  background-color: var(--color-blue-5);
  transform: scale(1.05);
}





/* Responsive */
@media (max-width: 768px) {
    .singlebook-related-card {
        flex-direction: column;
        text-align: center;
    }

    .singlebook-related-image img {
        width: 100%;
        height: 200px;
    }

    .singlebook-related-content {
        padding: 1rem;
    }
	
	.reblex-modal-positioner {
		position: relative;
		padding: 16px 0px;
		margin: 16px;
	}
	
	.buttons-step-2 .stk-row.stk-inner-blocks{
		display: flex;
		flex-direction: column-reverse;
	}
	
	.reblex-modal-body {
		max-height: 97vh;
		border-radius: 20px;
	}
}




.single-book .widget-area {
	display: none;
}