.product-guide-launcher { position:fixed; z-index:25; right:0; top:42%; writing-mode:vertical-rl; transform:rotate(180deg); padding:19px 12px; border:0; border-radius:0 10px 10px 0; color:#fff; background:var(--green); font:800 14px Inter,system-ui,sans-serif; box-shadow:0 4px 16px #17222e24; }
.product-guide-launcher[hidden], body:has(dialog[open]) .product-guide-launcher, body:has(#storeChatPanel:not(.hidden)) .product-guide-launcher, .storefront-frame-pending .product-guide-launcher { display:none; }
.product-guide-dialog { width:min(460px,100%); max-width:100%; max-height:100dvh; height:100dvh; inset:0 0 0 auto; margin:0; padding:0; border:0; border-left:1px solid var(--line); border-radius:18px 0 0 18px; color:var(--ink); background:var(--paper); box-shadow:var(--shadow); overflow-y:auto; overscroll-behavior:contain; }
.product-guide-dialog::backdrop { background:rgba(16,32,40,.24); }
.product-guide-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:24px; border-bottom:1px solid var(--line); }
.product-guide-header img { display:block; width:150px; height:auto; margin-bottom:20px; }
.product-guide-header h2 { font-size:25px; letter-spacing:-.7px; margin:0 0 8px; }
.product-guide-header p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.product-guide-header button { display:grid; place-items:center; flex:none; box-sizing:border-box; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--soft); color:var(--ink); line-height:1; }
.product-guide-header button svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.product-guide-body { padding:25px; }
.product-guide-body form>label { display:block; font-size:21px; font-weight:850; letter-spacing:-.4px; }
.product-guide-body form>p { margin:10px 0 18px; color:var(--muted); font-size:14px; line-height:1.6; }
.product-guide-body textarea,.product-guide-body select { width:100%; min-width:0; font:400 16px/1.5 Inter,system-ui,sans-serif; color:var(--ink); border:1px solid var(--line); border-radius:10px; padding:12px; background:var(--paper); }
.product-guide-body textarea { resize:vertical; min-height:112px; }
.product-guide-filters { display:grid; grid-template-columns:1fr; gap:15px; margin:18px 0; }
.product-guide-filters label { display:grid; gap:8px; font-size:12px; font-weight:750; }
.product-guide-submit,.product-guide-price { display:block; border:0; border-radius:10px; color:#fff; background:var(--orange); padding:13px 17px; font-weight:850; font-size:14px; text-align:center; text-decoration:none; min-height:44px; }
.product-guide-submit { width:100%; }.product-guide-submit:disabled { opacity:.65; cursor:wait; }
.product-guide-status { font-size:13px; color:var(--muted); line-height:1.6; margin:22px 0 10px; }.product-guide-status:empty { display:none; }
.product-guide-choices { display:grid; gap:10px; margin-top:14px; }
.product-guide-choices button,.product-guide-refine { min-height:44px; padding:13px 16px; border:1px solid var(--green); border-radius:10px; background:var(--paper); color:var(--ink); font:750 15px/1.4 Inter,system-ui,sans-serif; text-align:left; overflow-wrap:anywhere; }
.product-guide-choices button:hover,.product-guide-refine:hover { background:var(--soft); }
.product-guide-choices button:focus-visible,.product-guide-refine:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.product-guide-correction { color:var(--muted); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.product-guide-match { display:grid; grid-template-columns:72px minmax(0,1fr); gap:14px; padding:16px; border:1px solid var(--line); border-radius:14px; margin-top:14px; }
.product-guide-image img { display:block; width:72px; height:72px; border-radius:9px; object-fit:contain; background:var(--soft); }
.product-guide-match h3 { font-size:16px; margin:0 0 8px; line-height:1.4; overflow-wrap:anywhere; }
.product-guide-match p { margin:0 0 12px; color:var(--muted); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.product-guide-match .product-guide-limitation { padding-top:10px; border-top:1px solid var(--line); }
.product-guide-help { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:center; margin-top:26px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.product-guide-help button { border:0; background:transparent; color:var(--green); padding:10px 0; min-height:44px; font-weight:850; }
@media(max-width:600px) { .product-guide-dialog { width:100%; border:0; border-radius:0; } .product-guide-body,.product-guide-header { padding:20px; } .product-guide-launcher { padding:15px 10px; font-size:13px; } }
@media(max-width:350px) { .product-guide-match { grid-template-columns:1fr; } }
.product-guide-feedback { border-top:1px solid #dce5e7; padding-top:16px; margin-top:20px; }
.product-guide-feedback > p:first-child { font-weight:700; }
.product-guide-privacy { font-size:12px; line-height:1.5; color:#56646f; margin:12px 0 0; }
