/* SIMZO Avis Google 1.1.0 — couleurs verrouillées (!important) sous .simzo-avis.simzo-avis, pour résister aux thèmes / kits. */
.simzo-avis.simzo-avis :where(section, header, div, ul, li, p, span, b, strong, em, h2, a, button, img, svg) { visibility: visible !important; opacity: 1 !important; text-shadow: none !important; }
.simzo-avis.simzo-avis :where(div, ul, li, p, span, b, strong, em, h2, header) { color: inherit !important; background-color: transparent !important; background-image: none !important; }
:where(.simzo-avis) *, :where(.simzo-avis) *::before, :where(.simzo-avis) *::after { box-sizing: border-box; }
.simzo-avis.simzo-avis { position: relative !important; width: auto !important; max-width: 100% !important; box-sizing: border-box !important; overflow-x: clip !important; display: block !important; margin: 0 !important; padding: 100px 20px !important; background: #f8fafc !important; color: #334155 !important; font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif; }
.simzo-avis.simzo-avis .sag-inner { max-width: min(1200px, 100%) !important; margin: 0 auto; min-width: 0; }
/* Les textes « lecteur d'écran » (position absolue) restent ancrés dans leur carte : sinon ils échappent au défilement de la piste et élargissent la page (dézoom mobile, 1.1.0–1.1.1). */
.simzo-avis.simzo-avis :is(.sag-head, .sag-rating, .sag-grid, .sag-card, a.sag-av) { position: relative !important; }
.simzo-avis.simzo-avis .sag-sr { display: block !important; visibility: visible !important; position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; top: 0 !important; left: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }

/* En-tête */
.simzo-avis.simzo-avis .sag-head { display: flex !important; flex-direction: column; align-items: center; text-align: center; gap: 18px; margin: 0 0 48px; }
.simzo-avis.simzo-avis a.sag-av, .simzo-avis.simzo-avis a.sag-av:is(:link, :visited) { display: inline-flex !important; align-items: center; gap: 10px; padding: 10px 20px !important; border-radius: 50px !important; background: #ffffff !important; border: 1px solid #e2e8f0 !important; box-shadow: 0 4px 14px rgba(15,23,42,.06) !important; color: #334155 !important; text-decoration: none !important; font-size: .92rem; font-weight: 500; line-height: 1.3; transition: border-color .2s, box-shadow .2s, transform .2s; }
.simzo-avis.simzo-avis a.sag-av:is(:hover, :focus-visible) { border-color: #ff3366 !important; box-shadow: 0 8px 22px rgba(255,51,102,.18) !important; transform: translateY(-2px); color: #334155 !important; }
.simzo-avis.simzo-avis a.sag-av:focus-visible { outline: 3px solid #ff3366 !important; outline-offset: 3px; }
.simzo-avis.simzo-avis .sag-av-logo { display: block !important; width: 22px !important; height: 22px !important; border-radius: 50%; object-fit: contain; flex-shrink: 0; }
.simzo-avis.simzo-avis .sag-av-txt { display: inline !important; color: #334155 !important; }
.simzo-avis.simzo-avis .sag-av-brand { display: inline !important; font-weight: 800 !important; color: #ff3366 !important; }
.simzo-avis.simzo-avis .sag-rating { display: inline-flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 12px; padding: 10px 22px; border-radius: 50px; background: #ffffff !important; border: 1px solid #e2e8f0 !important; box-shadow: 0 4px 14px rgba(15,23,42,.05); }
.simzo-avis.simzo-avis svg.sag-g, .simzo-avis.simzo-avis svg.sag-g path { stroke: none !important; }
.simzo-avis.simzo-avis svg.sag-g { fill: currentColor !important; }
.simzo-avis.simzo-avis svg.sag-g path.sag-g-r { fill: #EA4335 !important; }
.simzo-avis.simzo-avis svg.sag-g path.sag-g-b { fill: #4285F4 !important; }
.simzo-avis.simzo-avis svg.sag-g path.sag-g-y { fill: #FBBC05 !important; }
.simzo-avis.simzo-avis svg.sag-g path.sag-g-gr { fill: #34A853 !important; }
.simzo-avis.simzo-avis .sag-g { display: block !important; width: 22px !important; height: 22px !important; flex-shrink: 0; }
.simzo-avis.simzo-avis .sag-score { display: inline !important; font-size: 1.5rem; font-weight: 900; line-height: 1; color: #0f172a !important; }
.simzo-avis.simzo-avis .sag-stars { display: inline-flex !important; gap: 2px; font-size: 1.1rem; line-height: 1; letter-spacing: 0; }
.simzo-avis.simzo-avis .sag-star { display: inline-block !important; color: transparent !important; background: linear-gradient(90deg, #fbbc04 var(--sag-fill), #d6dbe1 var(--sag-fill)) !important; -webkit-background-clip: text !important; background-clip: text !important; }
.simzo-avis.simzo-avis .sag-count { display: inline !important; font-weight: 700; font-size: .92rem; color: #64748b !important; }
.simzo-avis.simzo-avis .sag-title { margin: 0 !important; max-width: 760px; font-size: clamp(1.9rem, 4vw, 2.8rem) !important; font-weight: 900 !important; line-height: 1.12 !important; letter-spacing: -.03em; color: #0f172a !important; text-transform: none !important; }
.simzo-avis.simzo-avis .sag-sub { margin: 0 !important; max-width: 620px; font-size: 1.05rem; line-height: 1.6; color: #64748b !important; }

/* Grille : 1 à 5 cartes, équilibrées et centrées (5 = 3+2, 4 = 2+2) */
.simzo-avis.simzo-avis .sag-grid { --gap: 24px; max-width: 100% !important; min-width: 0; list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-wrap: wrap; justify-content: center; gap: var(--gap); }
.simzo-avis.simzo-avis .sag-card { --w: calc((100% - 2 * var(--gap)) / 3); flex: 0 0 var(--w); max-width: var(--w); min-width: 0; margin: 0 !important; list-style: none !important; display: flex !important; flex-direction: column; gap: 16px; padding: 24px !important; border-radius: 16px !important; background: #ffffff !important; border: 1px solid #e2e8f0 !important; box-shadow: 0 10px 25px rgba(15,23,42,.05) !important; color: #334155 !important; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.simzo-avis.simzo-avis .sag-card::before { content: none !important; }
.simzo-avis.simzo-avis.sag-n1 .sag-card { --w: min(100%, 560px); }
.simzo-avis.simzo-avis:is(.sag-n2, .sag-n4) .sag-card { --w: calc((100% - var(--gap)) / 2); }
.simzo-avis.simzo-avis .sag-card:hover { transform: translateY(-3px); border-color: #047857 !important; box-shadow: 0 16px 34px rgba(4,120,87,.12) !important; }
.simzo-avis.simzo-avis .sag-card-top { display: flex !important; align-items: center; justify-content: space-between; gap: 10px; }
.simzo-avis.simzo-avis .sag-text, .simzo-avis.simzo-avis .sag-text p { margin: 0 !important; font-size: .97rem; line-height: 1.65; color: #334155 !important; overflow-wrap: anywhere; }
.simzo-avis.simzo-avis .sag-text p + p { margin-top: .6em !important; }
.simzo-avis.simzo-avis .sag-text::before { content: '\201C'; display: block; height: .55em; font: 900 3rem/1 Georgia, serif; color: #047857 !important; opacity: .85; }
.simzo-avis.simzo-avis .sag-text.is-clamped p { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
.simzo-avis.simzo-avis .sag-text.is-clamped p + p { display: none !important; }
.simzo-avis.simzo-avis button.sag-more { align-self: flex-start; margin: -6px 0 0 !important; padding: 2px 0 !important; border: 0 !important; background: transparent !important; color: #047857 !important; font: inherit; font-size: .9rem !important; font-weight: 700 !important; text-decoration: underline !important; text-underline-offset: 3px; cursor: pointer; box-shadow: none !important; min-height: 0; text-transform: none !important; letter-spacing: normal !important; }
.simzo-avis.simzo-avis button.sag-more[hidden] { display: none !important; }
.simzo-avis.simzo-avis button.sag-more:focus-visible { outline: 3px solid #047857 !important; outline-offset: 2px; }
.simzo-avis.simzo-avis .sag-author { display: flex !important; align-items: center; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid #f1f5f9 !important; }
.simzo-avis.simzo-avis .sag-avatar { display: flex !important; align-items: center; justify-content: center; width: 42px !important; height: 42px !important; border-radius: 50% !important; object-fit: cover; flex-shrink: 0; background: #ecfdf5 !important; color: #047857 !important; font-weight: 800; font-size: 1.05rem; }
.simzo-avis.simzo-avis .sag-author-txt { display: flex !important; flex-direction: column; min-width: 0; }
.simzo-avis.simzo-avis .sag-name, .simzo-avis.simzo-avis a.sag-name:is(:link, :visited, :hover, :focus, :active) { display: inline !important; font-weight: 800; color: #0f172a !important; background: transparent !important; text-decoration: none !important; overflow-wrap: anywhere; }
.simzo-avis.simzo-avis a.sag-name:is(:hover, :focus-visible) { color: #047857 !important; text-decoration: underline !important; }
.simzo-avis.simzo-avis .sag-date { display: inline !important; font-size: .84rem; color: #64748b !important; }
.simzo-avis.simzo-avis .sag-attr { display: flex !important; flex-wrap: wrap; gap: 4px 12px; margin: -6px 0 0 !important; font-size: .75rem; color: #94a3b8 !important; }
.simzo-avis.simzo-avis .sag-attr:empty { display: none !important; }
.simzo-avis.simzo-avis .sag-attr span { display: inline !important; color: #94a3b8 !important; }
.simzo-avis.simzo-avis .sag-attr a:is(:link, :visited, :hover, :focus, :active) { display: inline !important; color: #64748b !important; background: transparent !important; text-decoration: underline !important; }

/* Boutons */
.simzo-avis.simzo-avis .sag-actions { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 44px 0 0 !important; }
.simzo-avis.simzo-avis a.sag-btn, .simzo-avis.simzo-avis a.sag-btn:is(:link, :visited) { display: inline-flex !important; align-items: center; justify-content: center; min-height: 50px; padding: 14px 30px !important; border-radius: 50px !important; font-weight: 800 !important; font-size: 1rem !important; line-height: 1.2; text-decoration: none !important; text-transform: none !important; transition: transform .2s, background-color .2s, box-shadow .2s; }
.simzo-avis.simzo-avis a.sag-btn-fill, .simzo-avis.simzo-avis a.sag-btn-fill:is(:link, :visited, :hover, :focus, :active) { background: #047857 !important; color: #ffffff !important; border: 2px solid #047857 !important; box-shadow: 0 10px 22px rgba(4,120,87,.25) !important; }
.simzo-avis.simzo-avis a.sag-btn-fill:is(:hover, :focus-visible) { background: #065f46 !important; border-color: #065f46 !important; transform: translateY(-2px); }
.simzo-avis.simzo-avis a.sag-btn-line, .simzo-avis.simzo-avis a.sag-btn-line:is(:link, :visited, :hover, :focus, :active) { background: #ffffff !important; color: #047857 !important; border: 2px solid #047857 !important; box-shadow: none !important; }
.simzo-avis.simzo-avis a.sag-btn-line:is(:hover, :focus-visible) { background: #ecfdf5 !important; transform: translateY(-2px); }
.simzo-avis.simzo-avis a.sag-btn:focus-visible { outline: 3px solid #0f172a !important; outline-offset: 3px; }
.simzo-avis.simzo-avis .sag-notice { margin: 28px auto 0 !important; max-width: 760px; text-align: center; font-size: .76rem; line-height: 1.5; color: #94a3b8 !important; }
.simzo-avis.simzo-avis .sag-attrib { display: inline !important; font-family: Roboto, Arial, sans-serif !important; font-style: normal !important; font-weight: 400 !important; font-size: 13px !important; letter-spacing: normal !important; white-space: nowrap !important; color: #5e5e5e !important; }

/* Tablette */
@media (max-width: 1024px) {
	.simzo-avis.simzo-avis .sag-card, .simzo-avis.simzo-avis:is(.sag-n3, .sag-n5) .sag-card { --w: calc((100% - var(--gap)) / 2); }
	.simzo-avis.simzo-avis.sag-n1 .sag-card { --w: min(100%, 560px); }
}
/* Mobile : carrousel au doigt (scroll-snap), clavier via tabindex */
@media (max-width: 767px) {
	.simzo-avis.simzo-avis { padding: 64px 0 !important; }
	.simzo-avis.simzo-avis .sag-head, .simzo-avis.simzo-avis .sag-actions, .simzo-avis.simzo-avis .sag-notice { padding-left: 20px !important; padding-right: 20px !important; }
	.simzo-avis.simzo-avis .sag-head { margin-bottom: 32px; }
	.simzo-avis.simzo-avis .sag-grid { --gap: 14px; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; padding: 6px 20px 18px !important; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
	.simzo-avis.simzo-avis.sag-n1 .sag-grid { justify-content: center; }
	.simzo-avis.simzo-avis .sag-card, .simzo-avis.simzo-avis:is(.sag-n1, .sag-n2, .sag-n3, .sag-n4, .sag-n5) .sag-card { --w: 86%; scroll-snap-align: start; }
	.simzo-avis.simzo-avis.sag-n1 .sag-card { --w: 100%; }
	.simzo-avis.simzo-avis .sag-grid:focus-visible { outline: 3px solid #047857 !important; outline-offset: -3px; }
	.simzo-avis.simzo-avis .sag-actions { flex-direction: column; align-items: stretch; margin-top: 28px !important; }
	.simzo-avis.simzo-avis .sag-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.simzo-avis.simzo-avis *, .simzo-avis.simzo-avis { transition: none !important; scroll-behavior: auto !important; }
	.simzo-avis.simzo-avis :is(.sag-card, a.sag-btn, a.sag-av):hover { transform: none !important; }
}
@media (max-width: 420px) {
	.simzo-avis.simzo-avis a.sag-av, .simzo-avis.simzo-avis a.sag-av:is(:link, :visited) { font-size: .82rem; padding: 10px 16px !important; }
	.simzo-avis.simzo-avis .sag-rating { gap: 6px 10px; padding: 8px 18px; }
}
