/* Catalogue client : raccourcis dimensions, vue compacte et galerie mobile. */
.catalog-browser-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;margin:8px 0 12px;color:#503720}
.catalog-browser-toolbar p{margin:0;font-size:14px}.catalog-browser-toggle,.catalog-browser-arrow{border:1px solid #b59b7f;background:#fffaf3;color:#503720;border-radius:24px;min-height:42px;padding:9px 18px;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer}
.catalog-browser-toggle:hover,.catalog-browser-arrow:hover{background:#795235;color:#fff}.catalog-browser-mobile{display:none}.catalog-browser-controls{display:flex;align-items:center;gap:10px}.catalog-browser-controls.catalog-browser-mobile{display:none}
.catalog-price-button{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:40px;padding:9px 11px;border:1px solid #d8c3a8;border-radius:10px;background:#fffaf3;color:#503720;font:inherit;cursor:pointer;text-align:left;line-height:1.25;transition:background .15s,border-color .15s}
.catalog-price-button:hover{background:#795235;border-color:#795235;color:white}.catalog-price-button:focus-visible,.catalog-browser-toggle:focus-visible,.catalog-browser-arrow:focus-visible{outline:3px solid #b47b42;outline-offset:3px}.catalog-price-button strong{font-size:.95em;white-space:nowrap}.catalog-price-button--custom{font-weight:700;background:#ecdfcd;justify-content:center}
.simple-catalog-grid .simple-catalog-card__pricing-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.simple-catalog-grid .simple-catalog-card__pricing-row{padding:0;border:0;background:none}
@media(min-width:981px),(min-width:768px) and (min-height:501px){
.simple-catalog-grid.is-compact{gap:18px}
.simple-catalog-grid.is-compact .simple-catalog-card__height,.simple-catalog-grid.is-compact .simple-catalog-card__pricing,.simple-catalog-grid.is-compact .simple-catalog-card__description-block{display:none}
.simple-catalog-grid.is-compact .simple-catalog-card__body{padding:14px;gap:12px;align-content:start}
.simple-catalog-grid.is-compact .simple-catalog-card__title{font-size:18px}
.simple-catalog-grid.is-compact .simple-catalog-card__actions{gap:8px;margin-top:0}
.simple-catalog-grid.is-compact .simple-catalog-card__cta{font-size:11px;min-height:39px;padding:8px;box-shadow:none}
.simple-catalog-grid.is-compact .simple-catalog-card__media{aspect-ratio:16/11}
}
@media(max-width:767px),(max-width:980px) and (max-height:500px){
.catalog-browser-toggle,.catalog-browser-desktop{display:none}.catalog-browser-mobile{display:block}
.catalog-browser-toolbar{position:sticky;top:var(--catalogue-top,0px);z-index:95;background:#f8f3ec;margin:0;padding:10px 0;min-height:48px;box-sizing:border-box}
.catalog-browser-toolbar p{font-size:12px;line-height:1.35}.catalog-browser-toolbar p strong{display:block;font-size:13px}.catalog-browser-controls.catalog-browser-mobile{display:flex;gap:6px}.catalog-browser-arrow{padding:0;width:34px;min-height:34px;font-size:19px}.catalog-browser-position{font-size:12px;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}
body .simple-catalog-grid{display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:1px;gap:12px;margin-right:calc(-1 * var(--catalogue-shell-inset,16px));padding:4px 16px 12px 1px;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:#ad8965 #eee2d3}
body .simple-catalog-grid>.simple-catalog-card{flex:0 0 90%;width:90%;height:var(--catalogue-card-height,calc(100svh - 146px));box-sizing:border-box;display:flex;flex-direction:column;scroll-snap-align:start;border:1px solid #d9c7b0;border-radius:18px;background:#fffaf4;box-shadow:0 5px 14px #50372012;opacity:1!important;transform:none!important;transition:none!important;scroll-margin-top:calc(var(--catalogue-top,0px) + 58px)}
body .simple-catalog-grid .simple-catalog-card__media{flex:1 1 auto;min-height:48px;max-height:45%;aspect-ratio:auto;overflow:hidden;border-radius:17px 17px 0 0;display:flex;align-items:center;justify-content:center;background:#eee5d7}
body .simple-catalog-grid .simple-catalog-card__media img,body .simple-catalog-grid .simple-catalog-card__model-viewer{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain;aspect-ratio:auto}
body .simple-catalog-grid .simple-catalog-card__body{flex:0 0 auto;display:flex;flex-direction:column;gap:7px;padding:11px 12px;min-height:0;overflow-y:auto;overscroll-behavior-y:auto}
body .simple-catalog-grid .simple-catalog-card__title{font-size:19px;line-height:1.1;margin:0}
body .simple-catalog-grid .simple-catalog-card__height{font-size:11px;line-height:1.25;margin:0;font-weight:500}
body .simple-catalog-grid .simple-catalog-card__pricing{gap:5px}
body .simple-catalog-grid .simple-catalog-card__pricing-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
body .catalog-price-button{flex-direction:column;justify-content:center;gap:2px;min-height:35px;padding:4px 2px;font-size:11px;line-height:1.15;text-align:center;border-radius:8px}
body .catalog-price-button strong{font-size:12px}.catalog-price-button--custom{height:100%;font-size:11px}
body .simple-catalog-grid .simple-catalog-card__pricing-extra-list{display:flex;flex-wrap:wrap;gap:2px 10px;padding:4px 0 0;margin:0}
body .simple-catalog-grid .simple-catalog-card__pricing-extra-line{font-size:10px;line-height:1.2}
body .simple-catalog-grid .simple-catalog-card__description-block{display:none}
body .simple-catalog-grid .simple-catalog-card__actions{display:grid;grid-template-columns:1fr;gap:6px;margin-top:0}
body .simple-catalog-grid .simple-catalog-card__cta{min-height:36px;padding:6px 8px;font-size:11px;line-height:1.2;border-width:1px;box-shadow:none;border-radius:10px}
body .simple-catalog-grid .simple-catalog-card__cta--resume{min-height:29px;font-size:10px}
}
@media(max-height:620px) and (max-width:980px){
body .simple-catalog-grid .simple-catalog-card__body{gap:4px;padding:7px 10px}
body .simple-catalog-grid .simple-catalog-card__height{display:none}
body .simple-catalog-grid .simple-catalog-card__title{font-size:16px}
body .simple-catalog-grid .catalog-price-button{min-height:29px;padding:3px 1px;font-size:10px}
body .simple-catalog-grid .catalog-price-button strong{font-size:11px}
body .simple-catalog-grid .simple-catalog-card__cta{min-height:30px;padding:4px;font-size:10px}
body .simple-catalog-grid .simple-catalog-card__pricing-extra-line{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.catalog-price-button{transition:none}}

@media(max-width:767px),(max-width:980px) and (max-height:500px){
body .simple-catalog-grid{scroll-margin-top:calc(var(--catalogue-top,0px) + 58px)}
.catalog-browser-toolbar>p.catalog-browser-mobile{flex:1;min-width:0}
.catalog-browser-toolbar>p.catalog-browser-mobile strong{font-size:12px}
.catalog-browser-controls.catalog-browser-mobile{flex-shrink:0}
}
@media(max-width:360px){.catalog-browser-toolbar{gap:6px}.catalog-browser-toolbar>p.catalog-browser-mobile span{display:none}.catalog-browser-toolbar>p.catalog-browser-mobile strong{font-size:11px}.catalog-browser-controls .catalog-browser-arrow{width:29px;min-height:30px}.catalog-browser-controls{gap:4px}}

@media(max-width:980px) and (max-height:500px){
body .simple-catalog-grid>.simple-catalog-card{flex-direction:row}
body .simple-catalog-grid .simple-catalog-card__media{flex:0 0 38%;width:38%;max-height:none;min-height:0;border-radius:17px 0 0 17px}
body .simple-catalog-grid .simple-catalog-card__body{flex:1;min-width:0;justify-content:center;gap:4px}
body .simple-catalog-grid .simple-catalog-card__pricing-list{grid-template-columns:repeat(4,minmax(0,1fr))}
body .simple-catalog-grid .simple-catalog-card__actions{grid-template-columns:1fr 1fr;gap:4px}
body .simple-catalog-grid .simple-catalog-card__actions>.simple-catalog-card__cta{grid-column:auto!important;font-size:9px}
body .simple-catalog-grid .simple-catalog-card__cta--configure{grid-column:1 / -1!important}
body .simple-catalog-grid{padding-bottom:4px}
}

.simple-catalog-grid.is-compact .simple-catalog-card__cta--resume{border-radius:12px}

/* Accès permanent au mode d’affichage sur ordinateur. */
@media(min-width:981px),(min-width:768px) and (min-height:501px){
 .catalog-browser-toggle{position:fixed;right:24px;bottom:24px;z-index:150;min-height:46px;max-width:calc(100vw - 48px);padding:12px 20px;background:#fffaf3;border:1px solid #a77f57;box-shadow:0 8px 28px rgba(50,34,20,.24);font-size:14px}
 .catalog-browser-toggle[aria-pressed="true"]{background:#795235;color:#fff}
 .catalog-browser-toggle:hover{background:#503720;color:#fff}
}

.catalog-display-help{position:fixed;right:24px;bottom:84px;z-index:151;width:min(320px,calc(100vw - 48px));box-sizing:border-box;padding:18px 20px;border:1px solid #c4a583;border-radius:16px;background:#fffaf3;color:#503720;box-shadow:0 10px 38px #32221430;font-size:14px;line-height:1.5;animation:catalog-help-in .35s ease-out}
.catalog-display-help::after{content:"";position:absolute;right:36px;bottom:-7px;width:12px;height:12px;background:#fffaf3;border-right:1px solid #c4a583;border-bottom:1px solid #c4a583;transform:rotate(45deg)}
.catalog-display-help strong{display:block;font-size:15px}.catalog-display-help p{margin:7px 0 12px}.catalog-display-help__dismiss{border:0;border-radius:20px;padding:7px 15px;background:#795235;color:#fff;font:inherit;font-weight:700;cursor:pointer}.catalog-display-help__dismiss:hover{background:#503720}.catalog-display-help__dismiss:focus-visible{outline:3px solid #c08b52;outline-offset:3px}
.catalog-browser-toggle.is-hinted{animation:catalog-button-hint 1.4s ease-in-out 4}
@keyframes catalog-help-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes catalog-button-hint{0%,100%{box-shadow:0 8px 28px #3222143d,0 0 0 0 #b3824b50}50%{box-shadow:0 8px 28px #3222143d,0 0 0 9px #b3824b18}}
@media(max-width:767px),(max-width:980px) and (max-height:500px){.catalog-display-help{display:none}}
@media(prefers-reduced-motion:reduce){.catalog-display-help,.catalog-browser-toggle.is-hinted{animation:none}}

/* Démonstration centrée, clics visuels, puis retour à la position flottante. */
.catalog-demo-backdrop{position:fixed;inset:0;z-index:160;background:rgba(38,29,20,.10);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);transition:opacity .7s,backdrop-filter .7s;opacity:1}
.catalog-demo-backdrop.is-leaving{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);pointer-events:none}
.catalog-browser-toggle.is-demo-centered{z-index:162;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);min-width:260px;animation:none;background:#795235;color:#fff;box-shadow:0 12px 44px #32221450}
.catalog-display-help.is-demo-centered{z-index:163;left:50%;top:calc(50% - 200px);right:auto;bottom:auto;width:min(420px,calc(100vw - 48px));transform:translateX(-50%);text-align:center;animation:none}
.catalog-display-help.is-demo-centered::after{right:calc(50% - 6px)}
.catalog-demo-cursor{position:fixed;z-index:164;left:calc(50% + 90px);top:calc(50% + 12px);pointer-events:none;filter:drop-shadow(0 2px 3px #0005);animation:catalog-demo-click 1.7s 1.05s 2}
.catalog-browser-toggle.is-demo-press{outline:8px solid #d8b17d80;filter:brightness(1.14)}
.catalog-demo-returning{animation:none!important}
@keyframes catalog-demo-click{0%,40%,100%{transform:translate(14px,16px)}15%,25%{transform:translate(0,0) scale(.9)}}
@media(prefers-reduced-motion:reduce){.catalog-demo-cursor{animation:none}.catalog-demo-backdrop{transition:none}}

/* Démonstration courte et commande provisoire de relecture. */
.catalog-demo-backdrop{transition:opacity .6s,backdrop-filter .6s}
.catalog-display-help.is-demo-centered{top:calc(50% - 140px);width:min(390px,calc(100vw - 48px));padding:16px 20px}
.catalog-display-help.is-demo-centered p{margin-bottom:0}
.catalog-demo-cursor{animation:none;opacity:0;transition:opacity .1s,transform .12s;transform:translate(12px,12px)}
.catalog-demo-cursor.is-ready{opacity:1;transform:translate(0,0)}
.catalog-demo-cursor.is-clicking{transform:scale(.82);transform-origin:top left}
.catalog-demo-cursor.is-clicking::after{content:"";position:absolute;width:28px;height:28px;border:3px solid #d6aa70;border-radius:50%;left:-13px;top:-13px;box-shadow:0 0 0 7px #d6aa7030}
@media(prefers-reduced-motion:reduce){.catalog-demo-cursor{transition:none}.catalog-demo-backdrop{transition:none}}

/* Le regard converge vers le bouton pendant que la page reste immobile. */
html.catalog-demo-scroll-locked{overflow:hidden!important;overscroll-behavior:none;scrollbar-gutter:stable}
html.catalog-demo-scroll-locked body{overflow:hidden!important;overscroll-behavior:none}
.catalog-demo-arrows{position:fixed;left:50%;top:50%;width:560px;height:240px;transform:translate(-50%,-50%);z-index:161;pointer-events:none}
.catalog-demo-arrow{position:absolute;width:80px;height:48px;color:#fff4dc;filter:drop-shadow(0 2px 2px #503720) drop-shadow(0 0 8px #79523570);transform:rotate(var(--arrow-angle));opacity:0;animation:catalog-demo-converge .85s .45s ease-in-out infinite}
.catalog-demo-arrow svg{display:block;width:100%;height:100%}
.catalog-demo-arrow--left{left:30px;top:96px;--arrow-angle:0deg}
.catalog-demo-arrow--right{right:30px;top:96px;--arrow-angle:180deg}
.catalog-demo-arrow--lower-left{left:90px;bottom:0;--arrow-angle:-40deg;animation-delay:.6s}
.catalog-demo-arrow--lower-right{right:90px;bottom:0;--arrow-angle:220deg;animation-delay:.6s}
@keyframes catalog-demo-converge{0%,100%{opacity:.55;transform:rotate(var(--arrow-angle)) translateX(-10px)}50%{opacity:1;transform:rotate(var(--arrow-angle)) translateX(5px)}}
@media(prefers-reduced-motion:reduce){.catalog-demo-arrow{animation:none;opacity:1}}

/* Panneau opaque : le didacticiel reste lisible sans masquer les modèles. */
.catalog-demo-panel{position:fixed;z-index:161;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 48px));height:270px;box-sizing:border-box;background:#fffaf3;border:2px solid #b99165;border-radius:28px;box-shadow:0 20px 70px #32221450,0 0 0 6px #fffaf340;pointer-events:none;transition:opacity .6s}
.catalog-demo-panel.is-leaving{opacity:0}
.catalog-display-help.is-demo-centered{z-index:164;width:min(510px,calc(100vw - 80px));background:transparent;border:0;box-shadow:none;padding:12px 20px;pointer-events:none}
.catalog-display-help.is-demo-centered::after{display:none}
.catalog-display-help.is-demo-centered strong{font-size:21px}
.catalog-display-help.is-demo-centered p{font-size:15px}
.catalog-browser-toggle.is-demo-centered{z-index:163;box-shadow:0 7px 20px #50372030}
.catalog-demo-arrows{z-index:162}
.catalog-demo-arrow{color:#996833;filter:drop-shadow(0 1px 0 #fff)}
.catalog-demo-cursor{z-index:165}
@media(prefers-reduced-motion:reduce){.catalog-demo-panel{transition:none}}
