/* Réduction du travail graphique sans changer l'identité du magasin. */
.hero-magic{left:0;top:0;will-change:transform}
.product-photo{width:100%;height:auto;max-height:500px;object-fit:contain}
.product img{aspect-ratio:1;object-fit:contain}
#app{min-height:50vh}
@media(max-width:760px){.visit-ticket,.motion-control{backdrop-filter:none}.spell-shard{filter:none}.frost-aura{filter:none}.yuna-snow i:nth-child(n+9){display:none}.spell-flake:nth-last-child(-n+8){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.world-card{transition:none!important}}

/* Catalogue SumUp : grandes cibles, photos lisibles et affichage limité à 24 fiches. */
.product{padding:0!important;overflow:hidden;display:flex}.product-link{display:flex!important;flex-direction:column;width:100%;height:100%;color:inherit!important;text-decoration:none!important}.product-image{background:#fff;aspect-ratio:1;padding:18px;overflow:hidden}.product-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s ease}.product-link:hover img{transform:scale(1.035)}.product-copy{padding:20px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.product-copy h3{font-size:1.02rem;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}.product-price{font-size:1.35rem;font-weight:800;margin-top:auto!important;padding-top:16px}.product-price small{font-size:.7rem;font-weight:500}.product-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:44px;width:100%;margin-top:16px;font-weight:750;border-top:1px solid #ffffff26}.product-link:focus-visible{outline:3px solid #ffda74;outline-offset:-4px}.stock-notice{font-size:.88rem;line-height:1.6;border-left:3px solid #89d9ee;padding:10px 16px;margin:24px 0;color:#d5dbe9}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:36px 0;flex-wrap:wrap}.pagination button{min-width:140px;min-height:48px;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:default}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters input,.filters select{min-width:0;min-height:48px}.products{align-items:stretch}#count{scroll-margin-top:110px}
@media(max-width:760px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters input{grid-column:1/-1}.product-copy{padding:16px}.pagination{gap:12px}.pagination button{min-width:112px}.product-copy h3{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.product-image img{transition:none}.product-link:hover img{transform:none}}
.page:has(.product-photo)>h1{font-size:clamp(1.55rem,3.5vw,2.5rem);line-height:1.3;max-width:1100px}.product-photo{background:white;border-radius:20px;padding:16px;box-sizing:border-box}.product-copy .tag{font-size:.75rem}

.product-visual{margin:0}.product-visual figcaption{color:#becbdf;font-size:.83rem;line-height:1.6;margin:10px 0 22px}.product-secondary{margin-top:24px}.product-secondary .product-photo{max-height:320px}
.product-visual{text-align:center}.product-visual .product-photo{width:auto;max-width:100%;height:auto;max-height:500px}.product-secondary .product-photo{max-height:320px}
/* Catalogue : recherche directe et grands choix par rayon. */
.page:has(.catalogue-controls)>h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.15;max-width:900px;margin-bottom:16px}
.catalogue-controls{margin:28px 0 20px;padding:24px;background:#101c34;border:1px solid #ffffff20;border-radius:22px}
.catalogue-search{display:block;margin:0 0 20px}.catalogue-search>span,.filter-label{display:block;color:#d5e6ef;font-size:.85rem;font-weight:700;margin-bottom:10px}.catalogue-search input{width:100%;min-height:56px;border-radius:12px;padding:16px 18px;font-size:1rem;border:1px solid #91b8c7;background:#f5fafb;color:#101c34}.catalogue-search input::placeholder{color:#506577}
.catalogue-categories,.figure-type-list{display:flex;gap:10px;flex-wrap:wrap}.catalogue-chip{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border-radius:12px;border:1px solid #9dafc657;background:#15243e;color:#edf5ff;font-size:.92rem;font-weight:700;line-height:1.3;transition:background .15s,border-color .15s}.catalogue-chip:hover{background:#213852;border-color:#9fd9eb}.catalogue-chip[aria-pressed=true]{background:#ffda85;border-color:#ffda85;color:#172039}.catalogue-chip:focus-visible{outline:3px solid #9be9ff;outline-offset:3px}.catalogue-chip[hidden],.figure-types[hidden],.reset-filters[hidden]{display:none}
.figure-types{border-top:1px solid #ffffff20;margin-top:20px;padding-top:18px}.figure-type-list .catalogue-chip{background:#0b1529}.figure-type-list .catalogue-chip[aria-pressed=true]{background:#b9edfa;border-color:#b9edfa;color:#10223a}.type-count{font-size:.75rem;opacity:.75;font-weight:500}
.catalogue-refine{padding:16px 0 0;margin:18px 0 0;border:0;border-top:1px solid #ffffff20;background:transparent;border-radius:0}.catalogue-refine summary{font-size:.9rem;font-weight:600;color:#c9d9ed;min-height:36px;padding:5px 0}.refine-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.refine-fields label{display:block;font-size:.8rem;color:#c9d9ed}.refine-fields select{display:block;margin-top:8px;width:100%;min-width:0;min-height:48px;padding:10px;border-radius:10px;font-size:.85rem;background:#f5fafb;color:#101c34}
.catalogue-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.catalogue-results-head p{margin:0;font-size:1rem;font-weight:700;color:#e4f4ff}.reset-filters{background:transparent;border:0;color:#b9edfa;text-decoration:underline;text-underline-offset:4px;font-size:.86rem;min-height:44px;padding:8px 0;white-space:nowrap}.catalogue-results-head+.stock-notice{font-size:.8rem;margin:8px 0 24px}.empty-catalogue>p:last-child{margin-top:18px}
@media(max-width:760px){.catalogue-controls{padding:16px;margin-top:22px;border-radius:16px}.catalogue-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-chip:first-child{grid-column:1/-1}.catalogue-chip{padding:12px 9px;font-size:.85rem}.figure-type-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.figure-type-list .catalogue-chip{justify-content:space-between;text-align:left}.refine-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.catalogue-results-head{gap:10px}.catalogue-results-head p{font-size:.9rem}.catalogue-search input{font-size:16px}.catalogue-results-head+.stock-notice{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.catalogue-chip{transition:none}}

/* Uniform product stages: preserve the whole original photo without cropping. */
.product-image{position:relative;display:grid;place-items:center;aspect-ratio:1/1;flex:none;padding:clamp(18px,2.5vw,30px);background:#fff;box-sizing:border-box;border-bottom:1px solid #e4e8ed}
.product-image img{display:block;position:absolute;inset:8%;width:84%;height:84%;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0;background:#fff}
.product-visual{width:100%;max-width:540px;margin-inline:auto}
.product-visual .product-photo{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1/1;object-fit:contain;object-position:center;padding:8%;background:#fff;border:1px solid #e4e8ed;border-radius:18px}
.product-secondary{max-width:360px}
.product-copy h3{font-size:1rem;line-height:1.5;letter-spacing:0;min-height:4.5em}
.details td{overflow-wrap:anywhere}
.refine-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.refine-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.product-visual{max-width:480px}.product-copy h3{min-height:0}}

/* Individual framing removes empty margins in the layout, keeping source images intact. */
.product-image{padding:0;isolation:isolate}
.product-image img{inset:auto;left:var(--photo-x,8%);top:var(--photo-y,8%);width:var(--photo-w,84%);height:var(--photo-h,84%);object-fit:contain;max-width:none;max-height:none;transform-origin:center}
.photo-stage{display:block;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1;width:100%;background:#fff;border:1px solid #e4e8ed;border-radius:18px;cursor:zoom-in}
.product-visual .photo-stage .product-photo{position:absolute;left:var(--photo-x,8%);top:var(--photo-y,8%);width:var(--photo-w,84%);height:var(--photo-h,84%);max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;padding:0;border:0;border-radius:0;background:#fff}
.photo-stage:focus-visible{outline:3px solid #ffda85;outline-offset:4px}
.photo-zoom{position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:#101b31;color:#fff;font-size:.73rem;line-height:1.3;box-shadow:0 2px 12px #101b3120}

/* Une recherche locale rapide, des raccourcis utiles et des alternatives explicites. */
.search-help{font-size:.8rem;color:#acc6dc;margin:-9px 0 13px;line-height:1.5}.search-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.search-shortcuts:empty{display:none}.search-suggestion{min-height:40px;border:1px solid #59758d;border-radius:999px;padding:9px 15px;background:#14263f;color:#c8eeff;font-size:.84rem;cursor:pointer}.search-suggestion:hover{background:#254760;border-color:#a4eaff}.search-suggestion:focus-visible{outline:3px solid #ffda85;outline-offset:3px}.search-suggestion span{opacity:.7;font-size:.8em}.search-feedback{padding:15px 18px;border-left:3px solid #88cddd;background:#112039;margin:0 0 20px;color:#d7e9f9}.search-feedback[hidden]{display:none}.search-feedback p{font-size:.9rem;margin:0 0 8px}.search-feedback .search-shortcuts{margin-bottom:0}@media(max-width:760px){.search-suggestion{min-height:44px}.search-help{font-size:.8rem}}

/* Les filtres se déplient à la demande pour laisser les résultats près de la recherche. */
.catalogue-refine{margin-top:16px;padding-top:10px}.catalogue-refine summary{min-height:44px;display:list-item;padding:12px 0;cursor:pointer}.catalogue-refine[open]>.catalogue-categories{margin-top:12px}.catalogue-search{margin-bottom:16px}
@media(max-width:760px){#search-shortcuts{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:6px;margin-bottom:8px;scrollbar-width:thin}#search-shortcuts .search-suggestion{flex:none}.catalogue-controls{margin-bottom:12px}.catalogue-refine summary{font-size:.84rem}.search-help{margin-bottom:10px}}

/* Logo SVG original, fond extérieur retiré ; aucun médaillon ajouté. */
.brand-logo img{width:80px;height:80px;object-fit:contain;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}footer .brand-logo img{width:76px;height:76px}
@media(max-width:760px){header .brand-logo img{width:58px;height:58px}}

/* Visible inventory facts, shared by catalogue and product pages. */
.product-facts{display:grid;gap:7px;width:100%;margin:8px 0 4px;padding:13px 0 0;border-top:1px solid #ffffff20;font-size:.82rem;line-height:1.45}
.product-facts>div{display:grid;grid-template-columns:6.3rem minmax(0,1fr);gap:8px;align-items:baseline}
.product-facts dt{color:#adc3d8;font-weight:400}.product-facts dd{margin:0;color:#edf6ff;font-weight:600;overflow-wrap:anywhere}
@media(max-width:760px){.product-facts{font-size:.84rem}.product-facts>div{grid-template-columns:6.5rem minmax(0,1fr)}}
/* Product description written in Yuna Pro (plain text, line breaks kept). */
.product-description{white-space:pre-line;line-height:1.6;margin:0 0 18px}
