.decor-gallery-page{max-width:1300px;margin:auto;padding:20px 18px 150px;color:var(--ink,#17324d)}
.decor-gallery-hero{display:flex;align-items:center;gap:12px;margin:12px 0 24px;max-width:850px}.decor-gallery-hero h1{margin:0;min-width:0}.decor-gallery-info{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid var(--line,#d0dbe8);border-radius:50%;background:var(--paper,#fff);color:var(--teal-dark,#05636d);font:bold 1.2rem Georgia,serif;cursor:pointer}
.decor-gallery-help{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;border:0;border-radius:16px;padding:24px;background:var(--paper,#fff);color:var(--ink,#17324d)}.decor-gallery-help::backdrop{background:#123a5899}.decor-gallery-help form{position:relative}.decor-gallery-help h2{margin:0 0 16px;padding-right:46px;font-size:1.25rem}.decor-gallery-help p,.decor-gallery-help li{font-size:.95rem;line-height:1.6}.decor-gallery-help ol{padding-left:22px}.decor-gallery-help li+li{margin-top:8px}.decor-gallery-help p:last-child{margin-bottom:0}
.decor-gallery-suppliers{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.decor-gallery-suppliers button{display:grid;gap:3px;min-height:62px;padding:12px 20px;border:1px solid var(--line,#d0dbe8);border-radius:12px;background:var(--paper,#fff);color:var(--ink,#17324d);font:inherit;font-weight:750;cursor:pointer;text-align:left}.decor-gallery-suppliers button span{font-size:.78rem;font-weight:400}.decor-gallery-suppliers button[aria-pressed=true]{background:var(--teal-dark,#05636d);border-color:transparent;color:white}
.decor-gallery-tools{display:flex;gap:16px;align-items:end;margin-bottom:24px}.decor-gallery-tools label{display:grid;gap:7px;flex:1;max-width:520px;font-size:.85rem;font-weight:700}.decor-gallery-tools input{min-height:46px;padding:10px 12px;border:1px solid var(--line,#d0dbe8);border-radius:10px;font:inherit;background:#fff;color:var(--ink,#17324d)}.decor-gallery-tools button{min-height:46px;border:1px solid var(--line,#d0dbe8);border-radius:10px;padding:8px 14px;background:var(--paper,#fff);color:var(--ink,#17324d);font:inherit;cursor:pointer}
.decor-gallery-zone{margin:0 0 28px;padding:16px;border:1px solid var(--line,#d0dbe8);border-radius:16px;background:var(--paper,#fff)}.decor-gallery-zone>header{margin-bottom:16px}.decor-gallery-zone>header label{display:flex;gap:12px;align-items:center;cursor:pointer}.decor-gallery-zone>header span{display:grid;gap:3px}.decor-gallery-zone>header strong{font-size:1.15rem}.decor-gallery-zone>header small{color:var(--ink-soft,#52677b)}.decor-gallery-page input[type=checkbox]{width:23px;height:23px;accent-color:var(--teal-dark,#05636d);flex-shrink:0;cursor:pointer}
.decor-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px}.decor-gallery-card{position:relative;min-width:0;border:2px solid var(--line,#d0dbe8);border-radius:12px;overflow:hidden;background:#fff;color:var(--ink,#17324d)}.decor-gallery-card:has(input:checked){border-color:var(--teal,#087f8c);box-shadow:0 0 0 2px var(--teal-soft,#e5f5f4)}.decor-gallery-card label{display:grid;gap:7px;height:100%;box-sizing:border-box;padding:12px;cursor:pointer}.decor-gallery-card input{position:absolute;top:10px;left:10px;z-index:1}.decor-gallery-card img,.decor-gallery-placeholder{width:100%;height:165px;object-fit:contain;box-sizing:border-box;margin-bottom:4px;background:#fff}.decor-gallery-placeholder{display:grid;place-items:center;color:#667085}.decor-gallery-card strong{font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}.decor-gallery-card small{font-size:.76rem;color:var(--ink-soft,#52677b)}.decor-gallery-zoom{position:absolute;top:7px;right:7px;width:40px;height:40px;border:1px solid var(--line,#d0dbe8);border-radius:50%;background:#fff;color:var(--teal-dark,#05636d);font-size:1.4rem;cursor:pointer}
.decor-gallery-selection{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px max(20px,calc((100vw - 1264px)/2)) calc(16px + env(safe-area-inset-bottom,0px));background:var(--paper,#fff);border-top:1px solid var(--line,#d0dbe8);box-shadow:0 -5px 22px #123a5815}.decor-gallery-selection p{margin:4px 0 0;font-size:.82rem;line-height:1.4}.decor-gallery-selection button{flex-shrink:0;min-height:48px;border:0;border-radius:11px;padding:12px 20px;background:var(--teal-dark,#05636d);color:#fff;font:inherit;font-weight:750;cursor:pointer}.decor-gallery-selection button:disabled{opacity:.55;cursor:wait}.decor-gallery-selection .is-error{color:var(--danger,#b4233b)}
.decor-gallery-dialog{width:min(850px,calc(100vw - 30px));max-height:calc(100dvh - 32px);box-sizing:border-box;border:0;border-radius:16px;padding:20px}.decor-gallery-dialog::backdrop{background:#123a5899}.decor-gallery-dialog img{display:block;width:100%;max-height:70dvh;height:auto;object-fit:contain;background:#fff}.decor-gallery-dialog h2{padding-right:42px;font-size:1.15rem}
.decor-gallery-page [hidden]{display:none!important}.decor-gallery-page :focus-visible{outline:3px solid var(--teal,#087f8c);outline-offset:3px}
.decor-gallery-tools label,.decor-gallery-selection>div{min-width:0}.decor-gallery-tools input,.decor-gallery-selection button{box-sizing:border-box;min-width:0;max-width:100%}.decor-gallery-tools input{width:100%}.decor-gallery-selection button{white-space:normal;overflow-wrap:anywhere}
.decor-selection-notice{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line,#d0dbe8);border-radius:10px;background:var(--surface-soft,#f1f7f7);color:var(--ink,#17324d);font-size:.85rem}.decor-selection-notice[hidden]{display:none}
@media(max-width:600px){.decor-gallery-page{padding-inline:12px;padding-bottom:200px}.decor-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.decor-gallery-zone{padding:10px}.decor-gallery-card label{padding:8px}.decor-gallery-card img,.decor-gallery-placeholder{height:135px}.decor-gallery-selection{flex-direction:column;align-items:stretch;gap:10px;padding-inline:16px}.decor-gallery-selection button{width:100%}.decor-gallery-tools{align-items:stretch;flex-direction:column;gap:10px}.decor-gallery-zoom{width:36px;height:36px}.decor-gallery-card input{top:9px;left:8px}}

.supplier-choice-heading{display:flex;align-items:center;gap:10px}.supplier-choice-heading .decor-gallery-info{width:30px;height:30px;font-size:1rem}
