/* Vitrine des montures : reprend les couleurs du thème Grez Optic (variables --acc, --navy, --ink, --line…), avec repli si absentes. */
.gvm,.gvm-single,.gvm-more,.gvm-hero{--g-acc:var(--acc,#008a94);--g-accb:var(--acc-b,#00a6b0);--g-navy:var(--navy,#011640);--g-ink:var(--ink,#1f2328);--g-mut:var(--mut,#5a6470);--g-line:var(--line,#dfe5ea);--g-alt:var(--alt,#f4f7f9);--g-r:var(--r,16px)}
.gvm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gvm-hero{position:relative;overflow:hidden;color:#fff;padding:48px 0 44px;background:radial-gradient(70% 120% at 90% 0,#0d3a5e 0,transparent 60%),linear-gradient(135deg,#011640 0%,#02224d 100%)}
.gvm-hero .gvm-wrap{position:relative;z-index:1}
.gvm-hero h1{margin:.2em 0 .1em;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15;letter-spacing:-.02em}
.gvm-kicker{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#5fd4dc;font-weight:700}
.gvm-kicker a{text-decoration:none;color:inherit}
.gvm-lead{max-width:44em;margin:.4em 0 0;color:#c9d4e8;font-size:1.05rem}
.gvm-main{padding:36px 0 56px}
.gvm-wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* barre de filtres */
.gvm-bar{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin:0 0 14px}
.gvm-search{flex:1 1 260px}
.gvm-search input,.gvm-brandsel select{width:100%;font:inherit;padding:.7rem 1rem;border:1px solid var(--g-line);border-radius:var(--g-r);background:#fff;color:var(--g-ink)}
.gvm-brandsel{flex:0 1 230px}
.gvm-search input:focus,.gvm-brandsel select:focus{outline:3px solid var(--g-accb);outline-offset:1px}
.gvm-chips{display:flex;flex-wrap:wrap;gap:8px}
.gvm-chips button{font:inherit;font-weight:600;font-size:.92rem;padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--g-line);background:#fff;color:var(--g-ink);cursor:pointer}
.gvm-chips button:hover{border-color:var(--g-acc);color:var(--g-acc)}
.gvm-chips button.on{background:var(--g-navy);border-color:var(--g-navy);color:#fff}
.gvm-chips button:focus-visible{outline:3px solid var(--g-accb);outline-offset:2px}
.gvm-count{margin:0 0 16px;color:var(--g-mut);font-size:.92rem}

/* grille */
.gvm-grid{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gvm-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gvm-card[hidden]{display:none}
.gvm-card a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--g-line);border-radius:var(--g-r);overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s}
.gvm-card a:hover{border-color:var(--g-acc);box-shadow:0 14px 34px rgba(1,22,64,.14);transform:translateY(-2px)}
.gvm-card a:focus-visible{outline:3px solid var(--g-accb);outline-offset:3px}
.gvm-img{display:block;aspect-ratio:2/1;background:#fff;border-bottom:1px solid var(--g-line)}
.gvm-img img{display:block;width:100%;height:100%;object-fit:contain}
.gvm-info{display:flex;flex-direction:column;gap:2px;padding:12px 14px 14px}
.gvm-brand{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g-acc)}
.gvm-name{font-weight:700;font-size:1.02rem;line-height:1.25;color:var(--g-ink);overflow-wrap:anywhere}
.gvm-meta{font-size:.84rem;color:var(--g-mut)}
.gvm-empty{padding:28px 20px;border-radius:var(--g-r);background:var(--g-alt);color:var(--g-mut);text-align:center}
.gvm-empty[hidden]{display:none}
.gvm-foot{margin:34px 0 0;padding:22px 24px;border-radius:var(--g-r);background:var(--g-alt);display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between}
.gvm-foot p{margin:0;flex:1 1 380px;color:var(--g-mut);font-size:.95rem}

/* boutons */
.gvm-btn{display:inline-block;padding:.75rem 1.4rem;border-radius:var(--g-r);background:var(--g-acc);color:#fff;text-decoration:none;font-weight:600;border:2px solid var(--g-acc);text-align:center}
.gvm-btn:hover{filter:brightness(.92)}
.gvm-btn.gvm-ghost{background:transparent;color:var(--g-ink);border-color:var(--g-line)}
.gvm-btn.gvm-ghost:hover{border-color:var(--g-acc);color:var(--g-acc);filter:none}
.gvm-btn:focus-visible{outline:3px solid var(--g-accb);outline-offset:3px}

/* fiche */
.gvm-single{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:start}
.gvm-bigimg{background:#fff;border:1px solid var(--g-line);border-radius:var(--g-r);padding:12px}
.gvm-bigimg img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.gvm-thumbs{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.gvm-sw{width:100%;font:inherit;display:flex;flex-direction:column;gap:4px;padding:8px;border:2px solid var(--g-line);border-radius:12px;background:#fff;cursor:pointer;text-align:center;color:var(--g-ink)}
.gvm-sw img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.gvm-sw span{font-size:.78rem;line-height:1.25;overflow-wrap:anywhere}
.gvm-sw.on{border-color:var(--g-acc)}
.gvm-sw:focus-visible{outline:3px solid var(--g-accb);outline-offset:2px}
.gvm-side{min-width:0}
.gvm-side .gvm-brand{margin:0}
.gvm-h2{margin:.1em 0 .35em;font-size:1.7rem;line-height:1.15;letter-spacing:-.02em;color:var(--g-ink)}
.gvm-sel{margin:0 0 14px;color:var(--g-mut);font-weight:600}
.gvm-dot{margin:0 4px}
.gvm-text{margin:0 0 14px}
.gvm-text p{margin:.4em 0}
.gvm-facts{margin:0 0 6px;border-top:1px solid var(--g-line)}
.gvm-facts div{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--g-line)}
.gvm-facts dt{flex:0 0 7.5em;color:var(--g-mut)}
.gvm-facts dd{margin:0;font-weight:600}
.gvm-size-note{margin:8px 0 18px;font-size:.84rem;color:var(--g-mut)}
.gvm-cta{display:flex;flex-wrap:wrap;gap:10px}
.gvm-note{margin:16px 0 0;font-size:.86rem;color:var(--g-mut)}
.gvm-more{margin:46px 0 0}
.gvm-more .gvm-h2{font-size:1.35rem;margin-bottom:16px}

@media (max-width:1024px){.gvm-grid,.gvm-grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}.gvm-single{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.gvm-grid,.gvm-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gvm-info{padding:9px 10px 11px}.gvm-name{font-size:.94rem}.gvm-hero{padding:34px 0 32px}.gvm-main{padding-top:26px}.gvm-foot{padding:18px}}
@media (max-width:700px){.gvm-bar{gap:10px}.gvm-search,.gvm-brandsel{flex-basis:100%}.gvm-search input,.gvm-brandsel select{padding:.6rem .9rem}.gvm-chips{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:2px;max-width:100%;scrollbar-width:none}.gvm-chips::-webkit-scrollbar{display:none}.gvm-chips button{flex:0 0 auto;padding:.45rem .8rem;font-size:.85rem;white-space:nowrap}}
@media (max-width:420px){.gvm-btn{width:100%}}
@media (prefers-reduced-motion:reduce){.gvm-card a{transition:none}.gvm-card a:hover{transform:none}}

/* ----- v2 : marques d'abord, puis montures, fiche technique ----- */
.gvm-h3{margin:0 0 14px;font-size:1.3rem;line-height:1.2;letter-spacing:-.01em;color:var(--g-ink)}
.gvm-h4{margin:18px 0 8px;font-size:1.05rem;color:var(--g-ink)}
.gvm-bar{align-items:center}
.gvm-sel select{font:inherit;padding:.65rem .9rem;border:1px solid var(--g-line);border-radius:var(--g-r);background:#fff;color:var(--g-ink);max-width:100%}
.gvm-sel select:focus{outline:3px solid var(--g-accb);outline-offset:1px}
.gvm-sortsel[hidden]{display:none}
.gvm-search{flex:1 1 280px}
.gvm[data-view="brands"] .gvm-listview{display:none}
.gvm[data-view="list"] .gvm-brandsview{display:none}
.gvm-brandsview[hidden],.gvm-brandgrid li[hidden],.gvm-all[hidden],.gvm-bhead[hidden]{display:none}
.gvm-brandgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gvm-btile{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;padding:18px 14px 16px;text-align:center;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--g-line);border-radius:var(--g-r);transition:box-shadow .2s,transform .2s,border-color .2s}
.gvm-btile:hover{border-color:var(--g-acc);box-shadow:0 14px 34px rgba(1,22,64,.14);transform:translateY(-2px)}
.gvm-btile:focus-visible{outline:3px solid var(--g-accb);outline-offset:3px}
.gvm-blogo{display:flex;align-items:center;justify-content:center;width:100%;height:84px}
.gvm-blogo img{max-width:80%;max-height:76px;width:auto;height:auto;object-fit:contain}
.gvm-wordmark{font-weight:800;font-size:1.25rem;letter-spacing:-.01em;color:var(--g-navy);line-height:1.1}
.gvm-btile b{font-size:1rem;color:var(--g-ink)}
.gvm-bcount{font-size:.85rem;color:var(--g-acc);font-weight:600}
.gvm-all{margin:22px 0 0;text-align:center}
.gvm-crumb{margin:0 0 14px}
.gvm-crumb a{display:inline-block;padding:.4rem .9rem;border:1px solid var(--g-line);border-radius:999px;text-decoration:none;color:var(--g-ink);font-weight:600;font-size:.9rem;background:#fff}
.gvm-crumb a:hover{border-color:var(--g-acc);color:var(--g-acc)}
.gvm-crumb a:focus-visible{outline:3px solid var(--g-accb);outline-offset:2px}
.gvm-bhead{display:flex;align-items:center;gap:18px;margin:0 0 6px}
.gvm-hlogo{display:flex;align-items:center;justify-content:center;width:130px;height:60px;flex:0 0 auto;background:#fff;border:1px solid var(--g-line);border-radius:12px;padding:6px}
.gvm-hlogo img{max-width:100%;max-height:100%;object-fit:contain}
.gvm-hlogo .gvm-wordmark{font-size:.95rem;text-align:center}
.gvm-bhead .gvm-h3{margin:0 0 2px}
.gvm-more{font-weight:600;color:var(--g-acc);text-decoration:none;font-size:.92rem}
.gvm-more:hover{text-decoration:underline}
.gvm-hero .gvm-kicker a:hover{text-decoration:underline}
.gvm-facts div[hidden]{display:none}
.gvm-ask{margin:14px 0 18px;padding:12px 14px;border-radius:12px;background:#e8f6f7;border:1px solid #b6e0e3;color:#0b3a40;font-size:.94rem;line-height:1.5}
.gvm-more-all{margin:18px 0 0}
.gvm-single{margin-top:0}
.gvm-brandcta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 22px;margin:26px 0;padding:18px 22px;border-radius:var(--r,16px);background:#e8f6f7;border:1px solid #b6e0e3}
.gvm-brandcta{--g-acc:var(--acc,#008a94);--g-accb:var(--acc-b,#00a6b0);--g-r:var(--r,16px)}
.gvm-brandcta b{display:block;color:#011640}
.gvm-brandcta span{color:#2f4a52;font-size:.95rem}

@media (max-width:1024px){.gvm-brandgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){
	.gvm-brandgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
	.gvm-btile{padding:12px 8px}.gvm-blogo{height:64px}.gvm-blogo img{max-height:56px}.gvm-wordmark{font-size:1.05rem}
	.gvm-sel{flex:1 1 calc(50% - 6px)}.gvm-sel select{width:100%}
	.gvm-bhead{gap:12px}.gvm-hlogo{width:96px;height:48px}
}
.gvm-listbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin:0 0 14px}
.gvm-listbar .gvm-count{margin:0}
.gvm-btile .gvm-wordmark{margin-bottom:2px}

/* ----- barre de filtres alignée : même hauteur pour la recherche, les boutons et les menus ----- */
.gvm-bar{--gvm-h:46px;align-items:center}
.gvm-bar>*,.gvm-listbar>*{margin:0}
.gvm-search,.gvm-sel{display:block}
.gvm-search input,.gvm-sel select{height:var(--gvm-h);box-sizing:border-box;line-height:1.2;padding-top:0;padding-bottom:0}
.gvm-chips{align-items:center}
.gvm-chips button{height:var(--gvm-h);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding-top:0;padding-bottom:0}
.gvm-listbar .gvm-sel select{height:40px}
@media (max-width:700px){.gvm-bar{--gvm-h:42px}.gvm-chips button{padding-left:.8rem;padding-right:.8rem}}
@media (max-width:960px) and (min-width:701px){.gvm-search{flex:1 1 100%}.gvm-bar .gvm-sel{margin-left:auto}}
@media (max-width:420px){.gvm-chips{gap:5px}.gvm-chips button{padding-left:.65rem;padding-right:.65rem;font-size:.83rem}}

#gvm-f-taille{white-space:pre-line;line-height:1.5}
.gvm-facts dd{min-width:0;overflow-wrap:anywhere}
@media (min-width:1025px){.gvm-gallery{position:sticky;top:96px;align-self:start}}
