/* Accessible selection controls shared by the public site and management panel. */
.select-trigger { display:flex; width:100%; min-height:52px; align-items:center; justify-content:space-between; gap:18px; border:1px solid var(--line); border-radius:14px; padding:14px 16px; color:var(--ink); background:var(--glass); font:600 13px/1.45 'Manrope',Arial,sans-serif; text-align:left; box-shadow:inset 0 1px 0 #ffffff30; transition:border-color .2s,box-shadow .2s; }
.select-trigger:hover,.select-trigger[aria-expanded="true"] { border-color:var(--green); box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent); }
.select-trigger svg { width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }.select-trigger[aria-expanded="true"] svg { transform:rotate(180deg); }.select-value { min-width:0; overflow-wrap:break-word; }
.select-popover { position:fixed; z-index:2000; padding:7px; border:1px solid var(--line); border-radius:16px; background:var(--paper,#fff); color:var(--ink); overflow:auto; overscroll-behavior:contain; box-shadow:0 20px 65px #051d252b,0 4px 10px #051d2510; font:500 13px/1.45 'Manrope',Arial,sans-serif; }.select-popover[hidden] { display:none!important; }.select-popover [role="option"] { min-height:46px; padding:12px 32px 12px 12px; border-radius:9px; cursor:pointer; position:relative; }.select-popover [aria-selected="true"] { color:var(--green); font-weight:700; }.select-popover [aria-selected="true"]::after { content:''; position:absolute; right:15px; top:19px; width:7px; height:7px; border-radius:50%; background:currentColor; }.select-popover .is-active,.select-popover [role="option"]:hover { background:var(--soft); }
.theme-field .select-trigger { background:var(--glass); color:var(--ink); min-width:145px; }
.lead-consent { display:flex; gap:10px; align-items:flex-start; margin-block:18px!important; font-size:0.6875rem!important; font-weight:400!important; line-height:1.6; color:var(--muted); }.lead-consent input { flex:0 0 18px; width:18px; height:18px; min-height:0; margin:3px 0 0; accent-color:var(--green); }.lead-consent a { text-decoration:underline; }.honeypot { position:absolute; left:-10000px; height:1px; width:1px; overflow:hidden; }.form-error { color:#b34235; font-size:0.75rem; margin-top:12px; }
.privacy-choice { position:fixed; bottom:22px; left:22px; width:min(500px,calc(100vw - 44px)); padding:20px; background:var(--glass); color:var(--ink); border:1px solid var(--line); backdrop-filter:blur(25px); -webkit-backdrop-filter:blur(25px); border-radius:19px; z-index:1100; box-shadow:0 16px 65px #0b30252a; }.privacy-choice strong { font-size:0.8125rem; }.privacy-choice p { margin-top:7px; font-size:0.6875rem; line-height:1.6; color:var(--muted); }.privacy-choice a { text-decoration:underline; }.privacy-actions { display:flex; gap:8px; margin-top:15px; }.privacy-actions button { flex:1; min-height:44px; background:var(--soft); border:1px solid var(--line); border-radius:10px; color:var(--ink); font-size:0.6875rem; padding:10px; }.privacy-actions button:last-child { background:var(--green); color:var(--on-green); }.privacy-choice[hidden] { display:none; }.privacy-settings { padding:0; border:0; background:transparent; color:inherit; font-size:0.6875rem; text-decoration:underline; }
.chat-launcher { position:fixed; right:24px; bottom:25px; z-index:900; background:var(--ink); color:var(--paper); border-radius:17px; padding:14px 18px; display:flex; align-items:center; gap:10px; font-size:0.75rem; box-shadow:0 6px 25px #071b2428,inset 0 1px #ffffff30; }.chat-launcher svg { width:23px; height:23px; stroke:currentColor; stroke-width:1.5; fill:none; stroke-linecap:round; }.chat-launcher:hover { transform:translateY(-3px); }.chat-intro { padding-top:32px; padding-bottom:43px; }.chat-intro .breadcrumb { margin:0 0 25px; padding:0; }.chat-intro h1 { font-size:clamp(2.625rem,5.7vw,4.9375rem); }.chat-intro>p { margin-top:18px; color:var(--muted); font-size:1.0625rem; }.chat-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:clamp(30px,5vw,75px); align-items:start; padding-bottom:100px; }.chat-workspace { background:var(--glass); border:1px solid var(--glass-edge); border-radius:24px; box-shadow:var(--glass-shadow); overflow:hidden; }.chat-top { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:23px 26px; border-bottom:1px solid var(--line); }.chat-top>div { position:relative; padding-left:31px; }.chat-top strong { display:block; font-size:0.875rem; }.chat-top small { color:var(--muted); display:block; font-size:0.625rem; }.guide-orb { position:absolute; left:0; top:8px; border:1px solid var(--green); border-radius:50%; width:18px; height:18px; box-shadow:inset 0 0 0 4px var(--glass); background:var(--green); }.chat-top .text-link { font-size:0.625rem; }.chat-welcome { padding:35px 30px 25px; }.chat-welcome>p:first-child { font-size:0.75rem; color:var(--green); margin-bottom:12px; }.chat-welcome h2 { font-size:clamp(1.9375rem,3.2vw,2.6875rem); line-height:1.13; }.chat-welcome>p:last-child { font-size:0.8125rem; color:var(--muted); margin-top:14px; }.chat-questions { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:0 30px 30px; }.chat-questions button { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:64px; padding:15px; text-align:left; background:var(--soft); color:var(--ink); border:1px solid var(--line); border-radius:13px; font-size:0.75rem; line-height:1.5; transition:background .25s,transform .25s; }.chat-questions button:hover { transform:translateY(-2px); border-color:var(--green); }.chat-questions button[aria-pressed="true"] { background:var(--leaf); border-color:var(--green); }.chat-questions button>span:last-child { font-size:1.125rem; color:var(--green); }.chat-turn { padding:0 30px 30px; }.chat-user { width:fit-content; max-width:88%; margin:0 0 20px auto; padding:13px 18px; border-radius:17px 17px 3px 17px; background:var(--ink); color:var(--paper); font-size:0.8125rem; }.chat-response { padding:22px; background:var(--soft); border-radius:3px 18px 18px 18px; }.chat-author { display:block; color:var(--green); font-size:0.625rem; margin-bottom:12px; font-weight:700; }.chat-response>p { font-size:0.875rem; line-height:1.8; }.chat-actions { display:flex; align-items:flex-start; flex-direction:column; gap:16px; margin-top:23px; }.chat-actions .text-link { font-size:0.75rem; }.chat-actions .button { padding:13px 18px; min-height:48px; }.chat-bottom { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; padding:19px 26px; border-top:1px solid var(--line); font-size:0.625rem; color:var(--muted); gap:10px; }.chat-bottom a { color:var(--green); text-decoration:underline; }.chat-advisor { position:sticky; top:110px; }.chat-advisor-photo { height:255px; background:var(--leaf); overflow:hidden; border-radius:90px 90px 15px 15px; margin-bottom:25px; }.chat-advisor-photo img { width:100%; height:100%; object-fit:contain; object-position:center bottom; padding-top:10px; }.chat-advisor h2 { font-size:2.375rem; margin-top:10px; }.chat-advisor>p:not(.section-label) { color:var(--muted); margin:20px 0; font-size:0.8125rem; }.chat-advisor>.button { padding:12px 17px; width:100%; justify-content:center; }.chat-purchase { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); display:grid; gap:15px; }.chat-purchase span { color:var(--muted); font-size:0.75rem; }.chat-purchase a { font-size:0.8125rem; font-weight:600; }.chat-purchase small { color:var(--muted); font-size:0.5625rem; }
.accessories-section .rail-controls { display:none; }.accessory-studio { border-top:1px solid var(--line); }.accessory-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; padding:20px 0; }.accessory-tabs button { padding:13px 8px; min-height:94px; display:flex; align-items:center; flex-direction:column; justify-content:center; gap:9px; background:transparent; border-radius:13px; border:1px solid transparent; color:var(--muted); font-size:0.6875rem; line-height:1.35; }.accessory-tabs button img { width:47px; height:47px; object-fit:contain; filter:drop-shadow(0 5px 7px #101e1718); }.accessory-tabs button[aria-selected="true"] { background:var(--glass); color:var(--ink); border-color:var(--line); box-shadow:var(--glass-shadow); }.accessory-tabs button:hover { color:var(--green); }.accessory-scene { display:grid; grid-template-columns:1.13fr 1fr; gap:clamp(30px,5vw,76px); align-items:center; padding-top:20px; }.accessory-scene[hidden] { display:none; }.accessory-display { position:relative; height:470px; display:grid; place-items:center; isolation:isolate; border-radius:24px; overflow:hidden; background:var(--soft); border:1px solid var(--glass-edge); }.accessory-display>img { position:relative; z-index:2; width:64%; height:69%; object-fit:contain; filter:drop-shadow(0 22px 18px #0b2d2425); transition:transform .6s var(--ease); }.accessory-display:hover>img { transform:translateY(-9px) rotate(-3deg); }.accessory-index { position:absolute; top:10px; left:22px; font-size:9.0625rem; letter-spacing:-.1em; line-height:1; font-weight:500; color:var(--line); z-index:0; }.accessory-orbit { position:absolute; width:87%; aspect-ratio:1.15; border:1px solid var(--line); border-radius:50%; transform:rotate(-30deg); z-index:1; }.accessory-caption { position:absolute; bottom:24px; left:25px; font-size:0.5rem; letter-spacing:.13em; color:var(--muted); }.accessory-editorial h3 { font-size:clamp(2rem,4vw,3.25rem); margin:15px 0 13px; font-weight:500; line-height:1.07; letter-spacing:-.06em; }.accessory-editorial>.accessory-idea { color:var(--green); font-size:1.125rem; margin-bottom:18px; }.accessory-editorial>p { font-size:0.875rem; color:var(--muted); line-height:1.8; max-width:420px; }.accessory-context { display:flex; flex-direction:column; border-left:2px solid var(--green); padding-left:16px; margin:25px 0; }.accessory-context span { font-size:0.6875rem; font-weight:700; }.accessory-context p { font-size:0.75rem; color:var(--muted); margin-top:5px; max-width:310px; }.accessory-cta { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }.accessory-cta .button { padding:12px 17px; }.accessory-cta .text-link { font-size:0.6875rem; }.accessory-cta .button span { font-size:1.1875rem; }
.compact-caption { position:absolute; z-index:5; top:22px; left:50%; transform:translateX(-50%); text-align:center; max-width:320px; width:90%; pointer-events:none; transition:opacity .2s,transform .3s; }.compact-caption strong { display:block; font-size:clamp(0.9375rem,1.65vw,1.4375rem); letter-spacing:-.035em; font-weight:500; }.compact-caption span { display:block; color:var(--muted); font-size:0.6875rem; margin-top:7px; }.compact-caption small { display:block; color:var(--green); font-size:0.625rem; margin-top:10px; }.assembly-started .compact-caption { opacity:0; transform:translate(-50%,-12px); }
.empty-editorial { padding:60px 0; }.empty-editorial h2 { font-size:2.25rem; }.empty-editorial p { margin:22px 0; color:var(--muted); }.raffle-public { padding:42px 0; border-bottom:1px solid var(--line); }.raffle-public h2 { font-size:2.25rem; margin:15px 0; }.raffle-public>.raffle-terms { max-width:760px; margin:25px 0; font-size:0.875rem; color:var(--muted); }.raffle-result { padding:20px; background:var(--soft); border-radius:16px; margin:24px 0; }.raffle-result small { display:block; color:var(--muted); margin-top:15px; }.research-date { color:var(--muted); font-size:0.6875rem; margin:14px 0 26px; }.instagram-permission { display:flex; flex-direction:column; align-items:flex-start; gap:15px; padding:30px; border:1px solid var(--line); border-radius:17px; }.instagram-permission p { font-size:0.75rem; color:var(--muted); max-width:560px; }.instagram-permission .button { padding:13px 18px; }.no-js-accessories { display:none; }
@media(max-width:1000px) { .chat-layout { grid-template-columns:minmax(0,1fr) 240px; gap:25px; }.chat-questions { grid-template-columns:1fr; }.accessory-display { height:400px; }.accessory-scene { gap:30px; } }
@media(max-width:760px) { .privacy-choice { left:12px; bottom:80px; width:calc(100vw - 24px); padding:16px; }.privacy-actions { gap:6px; }.privacy-actions button { font-size:0.625rem; }.chat-launcher { right:15px; bottom:80px; padding:13px; border-radius:50%; }.chat-launcher span { display:none; }.chat-intro { padding-top:22px; padding-bottom:27px; }.chat-intro h1 { font-size:2.6875rem; }.chat-intro>p { font-size:0.875rem; }.chat-layout { display:flex; flex-direction:column; gap:35px; padding-bottom:60px; }.chat-workspace { width:100%; border-radius:19px; }.chat-top { padding:18px 16px; }.chat-top strong { font-size:0.75rem; }.chat-top small { font-size:0.5625rem; }.chat-top .text-link { font-size:0.5625rem; }.chat-welcome { padding:25px 18px; }.chat-questions { padding:0 16px 22px; gap:8px; }.chat-questions button { min-height:57px; }.chat-turn { padding:0 16px 22px; }.chat-response { padding:18px 16px; }.chat-response>p { font-size:0.8125rem; }.chat-actions .button { width:100%; font-size:0.6875rem; justify-content:center; }.chat-bottom { padding:16px; }.chat-advisor { position:static; width:100%; max-width:400px; margin:auto; }.chat-advisor-photo { height:250px; width:230px; margin:0 auto 25px; }.chat-advisor h2 br { display:none; }.chat-advisor h2 { font-size:2.125rem; }.chat-advisor>.section-label { margin-top:15px; }.accessory-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:14px 0; }.accessory-tabs button { min-height:83px; font-size:0.625rem; }.accessory-tabs button img { width:40px; height:40px; }.accessory-scene { grid-template-columns:1fr; gap:25px; padding-top:6px; }.accessory-display { height:285px; border-radius:19px; }.accessory-index { font-size:5.9375rem; top:12px; }.accessory-caption { font-size:0.4375rem; bottom:18px; left:18px; }.accessory-display>img { height:73%; width:67%; }.accessory-editorial h3 { font-size:2.25rem; margin-top:10px; }.accessory-editorial>.accessory-idea { font-size:1rem; }.accessory-editorial>p { font-size:0.8125rem; }.accessory-context { margin:20px 0; }.accessory-cta { gap:20px; }.accessory-cta .button { font-size:0.75rem; }.compact-caption { top:10px; max-width:220px; }.compact-caption strong { font-size:1rem; }.compact-caption span { font-size:0.625rem; margin-top:5px; }.compact-caption small { font-size:0.5625rem; margin-top:5px; }.instagram-permission { padding:22px; }.select-trigger { font-size:0.8125rem; }.chat-intro .breadcrumb { font-size:0.625rem; } }
@media(max-width:360px) { .compact-caption { top:5px; }.compact-caption strong { font-size:0.875rem; }.chat-intro h1 { font-size:2.3125rem; }.chat-top { gap:8px; }.accessory-cta { flex-direction:column; align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { .compact-caption,.select-trigger,.select-trigger svg,.accessory-display>img,.chat-questions button { transition:none; }.accessory-display:hover>img,.chat-launcher:hover { transform:none; } }
.select-search { display:block; width:100%; min-height:46px; margin:0 0 6px; border:1px solid var(--line); border-radius:10px; padding:10px 12px; font-size:1rem; background:var(--paper); color:var(--ink); }
.select-empty { padding:12px; font-size:.9375rem; color:var(--muted); }
.select-trigger[aria-invalid="true"] { border-color:#b44838; }
