/* Soguadime catalogues – front (charte : bleu #0E2B5C, orange #FF5E14, fond #F4F6FF, Barlow / Inter) */
.sgc {
	--sgc-navy: #0e2b5c;
	--sgc-navy-dark: #081d40;
	--sgc-orange: #ff5e14;
	--sgc-bg: #f4f6ff;
	--sgc-text: #4a5568;
	font-family: Inter, sans-serif;
	color: var(--sgc-text);
}
.sgc *, .sgc *::before, .sgc *::after { box-sizing: border-box; }
.sgc .sgc-container { max-width: 1120px; margin: 0 auto; padding: 0 16px; position: relative; }

/* ---------- Grille (identique à la section « Consultez nos guides, catalogues et tutoriels ») ---------- */
.sgc .sgc-grid {
	display: grid; gap: 40px 34px; justify-content: center;
	grid-template-columns: repeat(4, minmax(0, 250px));
}
.sgc .sgc-card { display: flex; flex-direction: column; align-items: center; text-align: center; }
.sgc .sgc-card[hidden] { display: none; }
.sgc .sgc-card__img { display: block; width: 100%; aspect-ratio: 424 / 600; overflow: hidden; background: #fff; }
.sgc .sgc-card__img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; transition: transform .35s ease; }
.sgc .sgc-card:hover .sgc-card__img img { transform: scale(1.03); }
.sgc .sgc-card__ph { display: flex; align-items: center; justify-content: center; height: 100%; font: 700 32px Barlow, sans-serif; color: var(--sgc-navy); }
.sgc .sgc-card__title { margin: 18px 0 0; font: 700 20.8px/1.2 Barlow, sans-serif; }
.sgc .sgc-card__title a { color: var(--sgc-navy) !important; text-decoration: none; }
.sgc .sgc-card__title a:hover { color: var(--sgc-orange) !important; }
.sgc .sgc-card__meta { margin: 6px 0 0; font-size: 13px; color: var(--sgc-text); }
.sgc .sgc-none { text-align: center; padding: 30px 0; }
.sgc .sgc-none[hidden] { display: none; }

.sgc .sgc-filter { display: flex; justify-content: center; align-items: center; gap: 12px; margin: 0 0 34px; flex-wrap: wrap; }
.sgc .sgc-filter label { font: 600 16px Barlow, sans-serif; color: var(--sgc-navy); }
.sgc .sgc-filter__select {
	min-width: 260px; padding: 10px 14px; border: 1px solid #c9d1e6; border-radius: 4px; background: #fff;
	font: 400 15px Inter, sans-serif; color: var(--sgc-navy);
}

/* ---------- Page d'un catalogue ---------- */
.sgc.sgc-single { background: var(--sgc-bg); }
.sgc.sgc-single article.sgc-container { padding-top: 50px; padding-bottom: 40px; }
.sgc .sgc-single__title { text-align: center; color: var(--sgc-navy); font: 700 42px/1.15 Barlow, sans-serif; margin: 0 0 40px; }
.sgc .sgc-single__top { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; align-items: stretch; }
.sgc .sgc-single__panel { background: #fff; padding: 32px 30px; border-radius: 6px; display: flex; flex-direction: column; justify-content: center; }
.sgc .sgc-single__panel h2 { color: var(--sgc-navy); font: 700 28px/1.2 Barlow, sans-serif; margin: 0 0 14px; }
.sgc .sgc-single__desc { font-size: 15px; line-height: 1.6; }
.sgc .sgc-single__desc p { margin: 0 0 12px; }
.sgc .sgc-single__panel h2 + .sgc-single__facts { border-top: 0; padding-top: 0; margin-top: 6px; }
.sgc .sgc-single__facts { list-style: none; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid #e3e7f3; font-size: 14px; }
.sgc .sgc-single__facts li { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; }
.sgc .sgc-single__facts li::before { content: ""; width: 7px; height: 7px; background: var(--sgc-orange); flex: none; }
.sgc .sgc-single__facts strong { color: var(--sgc-navy); }
.sgc .sgc-ico { display: none; }
.sgc .sgc-single__brands { margin-top: 18px; }
.sgc .sgc-single__brands h3 { font: 700 17px Barlow, sans-serif; color: var(--sgc-navy); margin: 0 0 10px; }
.sgc .sgc-single__brands ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.sgc .sgc-single__brands li { display: flex; align-items: center; justify-content: center; height: 54px; min-width: 96px; padding: 6px 10px; border: 1px solid #e3e7f3; border-radius: 4px; background: #fff; }
.sgc .sgc-single__brands img { max-height: 40px; max-width: 110px; width: auto; height: auto; display: block; }
.sgc .sgc-single__brands span { font: 600 14px Barlow, sans-serif; color: var(--sgc-navy); }
.sgc .sgc-single__cover { margin: 0; display: flex; align-items: center; justify-content: center; padding: 10px; }
.sgc .sgc-single__cover img { max-width: 100%; max-height: 540px; width: auto; height: auto; box-shadow: 0 10px 30px rgba(14, 43, 92, .22); display: block; }

.sgc .sgc-single__actions { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 40px; }
.sgc .sgc-single__actions-right { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }

.sgc .sgc-btn {
	display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
	font: 600 15px/1.2 Inter, sans-serif;
	padding: 13px 24px; border-radius: 0; text-decoration: none; border: 1px solid var(--sgc-navy);
	transition: background .2s ease, color .2s ease;
}
.sgc .sgc-share { position: relative; }
.sgc .sgc-share__menu {
	position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 50; min-width: 210px;
	background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .2); border-radius: 6px; padding: 6px;
}
.sgc .sgc-share__item {
	display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border: 0; border-radius: 4px;
	background: none; font: 500 14px Inter, sans-serif; text-decoration: none; cursor: pointer; text-align: left;
}

.sgc .sgc-others { padding-top: 20px; padding-bottom: 80px; }
.sgc .sgc-others h2 { color: var(--sgc-navy); font: 700 30px Barlow, sans-serif; margin: 0 0 30px; text-align: center; }

@media (max-width: 1100px) {
	.sgc .sgc-grid { grid-template-columns: repeat(3, minmax(0, 250px)); }
}
@media (max-width: 767px) {
	.sgc .sgc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; }
	.sgc .sgc-card__title { font-size: 16px; margin-top: 12px; }
	.sgc .sgc-single__title { font-size: 30px; margin-bottom: 26px; }
	.sgc .sgc-single__top { grid-template-columns: 1fr; }
	.sgc .sgc-single__cover { order: -1; }
	.sgc .sgc-single__cover img { max-height: 380px; }
	.sgc .sgc-single__panel { padding: 24px 20px; }
	.sgc .sgc-single__panel h2 { font-size: 24px; }
	.sgc .sgc-single__actions { flex-direction: column-reverse; align-items: stretch; }
	.sgc .sgc-single__actions-right { flex-direction: column; align-items: stretch; }
	.sgc .sgc-btn { justify-content: center; }
	.sgc .sgc-share__menu { left: 0; right: 0; }
	.sgc .sgc-filter__select { min-width: 0; width: 100%; }
}

/* Neutralise les styles globaux des boutons/liens du thème (kit Elementor) */
.sgc .sgc-btn { text-transform: none; letter-spacing: normal; box-shadow: none; }
.sgc .sgc-btn--primary, .sgc .sgc-btn--primary:visited { background: var(--sgc-navy) !important; color: #fff !important; border-color: var(--sgc-navy) !important; }
.sgc .sgc-btn--primary:hover, .sgc .sgc-btn--primary:focus { background: var(--sgc-navy-dark) !important; color: #fff !important; }
.sgc .sgc-btn--outline, .sgc .sgc-btn--light { background: #fff !important; color: var(--sgc-navy) !important; border-color: var(--sgc-navy) !important; }
.sgc .sgc-btn--outline:hover, .sgc .sgc-btn--light:hover, .sgc .sgc-btn--light[aria-expanded="true"] { background: var(--sgc-navy) !important; color: #fff !important; }
.sgc .sgc-share__item { color: #333 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; text-transform: none; }
.sgc .sgc-share__item:hover, .sgc .sgc-share__item:focus { background: var(--sgc-bg) !important; color: var(--sgc-navy) !important; }

/* ---------- Bouton « Consulter » + couverture cliquable ---------- */
.sgc .sgc-btn--accent, .sgc .sgc-btn--accent:visited { background: var(--sgc-orange) !important; color: #fff !important; border-color: var(--sgc-orange) !important; }
.sgc .sgc-btn--accent:hover, .sgc .sgc-btn--accent:focus { background: #e04e0b !important; border-color: #e04e0b !important; color: #fff !important; }
.sgc .sgc-single__cover-btn { position: relative; display: block; padding: 0 !important; margin: 0; border: 0 !important; background: none !important; cursor: zoom-in; box-shadow: none !important; }
.sgc .sgc-single__cover-cta {
	position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%);
	background: rgba(14, 43, 92, .92); color: #fff; font: 500 14px Inter, sans-serif; padding: 8px 16px; border-radius: 20px;
	opacity: 0; transition: opacity .2s ease; white-space: nowrap; pointer-events: none;
}
.sgc .sgc-single__cover-btn:hover .sgc-single__cover-cta, .sgc .sgc-single__cover-btn:focus-visible .sgc-single__cover-cta { opacity: 1; }
@media (hover: none) { .sgc .sgc-single__cover-cta { opacity: 1; } }

/* ---------- Liseuse feuilletable ---------- */
html.sgc-flip-open, html.sgc-flip-open body { overflow: hidden; }
.sgc-flip { position: fixed; inset: 0; z-index: 999999; background: rgba(8, 22, 48, .96); display: flex; flex-direction: column; color: #fff; font-family: Inter, sans-serif; }
.sgc-flip[hidden] { display: none; }
.sgc-flip__bar { display: flex; align-items: center; gap: 16px; padding: 10px 16px; background: rgba(0, 0, 0, .35); }
.sgc-flip__title { flex: 1; min-width: 0; font-weight: 600; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sgc-flip__count { font-size: 13px; opacity: .85; white-space: nowrap; }
.sgc-flip__tools { display: flex; gap: 6px; }
.sgc-flip .sgc-flip__btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 0 !important; background: rgba(255, 255, 255, .12) !important; color: #fff !important; cursor: pointer; padding: 0 !important; text-decoration: none; box-shadow: none !important; }
.sgc-flip .sgc-flip__btn:hover { background: rgba(255, 255, 255, .25) !important; }
.sgc-flip__stage { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px; }
.sgc-flip__book-wrap { position: relative; flex: 1; height: 100%; min-width: 0; display: flex; align-items: center; justify-content: center; }
.sgc-flip__book { margin: 0 auto; }
.sgc-flip__page { background: #fff; overflow: hidden; }
.sgc-flip__page::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #f3f3f3, #fff 40%, #f3f3f3); }
.sgc-flip__page.is-ready::before { display: none; }
.sgc-flip__img { position: relative; display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.sgc-flip__img:not([src]) { visibility: hidden; }
.sgc-flip__num { position: absolute; bottom: 6px; right: 10px; font-size: 11px; color: #999; }
.sgc-flip__page.is-ready .sgc-flip__num { display: none; }
.sgc-flip .sgc-flip__nav { flex: none; width: 46px; height: 46px; border-radius: 50%; border: 0 !important; background: rgba(255, 255, 255, .14) !important; color: #fff !important; font-size: 30px; line-height: 1; cursor: pointer; padding: 0 0 4px !important; box-shadow: none !important; }
.sgc-flip .sgc-flip__nav:hover { background: var(--sgc-orange, #ff5e14) !important; }
.sgc-flip__loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 15px; }
.sgc-flip__loading[hidden] { display: none; }
.sgc-flip__loading a { color: #fff; text-decoration: underline; }
.sgc-flip__spinner { width: 28px; height: 28px; border: 3px solid rgba(255, 255, 255, .25); border-top-color: #fff; border-radius: 50%; animation: sgcflipspin .8s linear infinite; }
@keyframes sgcflipspin { to { transform: rotate(360deg); } }
.sgc-flip__hint { margin: 0; padding: 0 16px 12px; text-align: center; font-size: 12px; opacity: .6; }
@media (max-width: 719px) {
	.sgc-flip__stage { padding: 8px 4px; gap: 4px; }
	.sgc-flip .sgc-flip__nav { width: 34px; height: 34px; font-size: 24px; }
	.sgc-flip__hint { display: none; }
	.sgc-flip__count { display: none; }
}

/* ---------- Regroupement par marque (page Catalogues) ---------- */
.sgc .sgc-group { max-width: 1102px; margin: 0 auto 56px; }
.sgc .sgc-group[hidden] { display: none; }
.sgc .sgc-group .sgc-grid { justify-content: start; }
.sgc .sgc-group__title {
	margin: 0 0 24px; padding: 0 0 10px; text-align: left; text-transform: uppercase; letter-spacing: .02em;
	font: 700 26px/1.2 Barlow, sans-serif; color: var(--sgc-navy); border-bottom: 2px solid #e3e7f3; position: relative;
}
.sgc .sgc-group__title::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 60px; height: 2px; background: var(--sgc-orange); }
@media (max-width: 1100px) { .sgc .sgc-group { max-width: 818px; } }
@media (max-width: 767px) {
	.sgc .sgc-group { max-width: none; margin-bottom: 40px; }
	.sgc .sgc-group__title { font-size: 21px; margin-bottom: 18px; }
}
