/* Shared Product Studio: approved Gift tokens, imagery and controls. */
.studio-product-choice{position:relative;container-type:inline-size;min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:5px;overflow:hidden}
.studio-product-choice>button[data-feature]{width:100%;border:0;flex:1}
.studio-product-choice:has([aria-pressed=true]){border-color:var(--forest)}
body #workspace .studio-panel .studio-products .product-accept{position:absolute;left:50%;top:calc((100% + 100cqw - 8px)/2);box-sizing:border-box;transform:translate(-50%,-50%);background:var(--wine);color:var(--ivory);border-color:var(--wine);min-width:0;min-height:0;width:112px!important;height:40px;margin:0;display:block;font-size:19px;line-height:1;padding:8px 16px}
.studio-product-choice:has(.product-accept)>button[data-feature]>span,.studio-product-choice:has(.product-accept)>button[data-feature]>small{visibility:hidden}
.product-studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;width:100%;min-width:0}
.studio-media,.studio-panel{min-width:0}.studio-media img{display:block;width:100%;max-width:580px;aspect-ratio:1;object-fit:contain;margin:auto}
.studio-media{position:sticky;top:88px}.studio-panel{min-width:0}.studio-panel .actions{margin:0 0 20px}
.studio-panel .primary{display:block;width:fit-content;min-width:240px;max-width:100%;margin-top:20px}.studio-panel .field{width:104px;max-width:100%}.studio-panel p{font:24px/1.25 Cormorant,serif}.studio-media .small{font:14px/1.5 Manrope,sans-serif;color:var(--soft)}
.studio-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.studio-products button{display:flex;flex-direction:column;align-items:stretch;padding:8px;text-align:center;min-width:0;font-size:22px}.studio-products button[aria-pressed=true]{border-color:var(--forest)}
.studio-products img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.studio-products span,.studio-products small{display:block}
.studio-products span{flex:1}.studio-products small{font:12px/1.5 Manrope,sans-serif;margin-top:8px}
@media(max-width:1000px){.product-studio{grid-template-columns:minmax(0,1fr);gap:16px}.studio-media{position:static}.studio-panel{min-height:0}.studio-products{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:4px}.studio-panel .primary{width:100%}.studio-panel p{margin-bottom:12px}.studio-panel .actions{margin-bottom:12px}.studio-products button{font-size:20px}}
