/* Photo-aware movement ideas (studio and order page). */
html:not([data-ai="on"]) .ai-on{display:none!important}
html[data-ai="on"] .ai-off{display:none!important}
.idea-list,.idea-loading,.order-ideas{display:grid;gap:9px}
.idea-skeleton{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid #dce4de;border-radius:10px;background:#fbfcfa}
.skeleton-lines{flex:1;display:grid;gap:8px}
.skeleton-lines i{display:block;height:11px;border-radius:6px;background:linear-gradient(90deg,#e6ece5 0%,#f5f8f3 50%,#e6ece5 100%);background-size:200% 100%;animation:idea-shimmer 1.3s ease-in-out infinite}
.skeleton-lines i:first-child{width:45%;height:13px}
.skeleton-lines i:last-child{width:82%}
@keyframes idea-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.idea-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 6px}
.idea-chips button{border:1px solid #c9d8c9;background:#f6f9f4;color:#2f5340;border-radius:20px;min-height:40px;padding:8px 14px;font:500 13px 'DM Sans',sans-serif;cursor:pointer}
.idea-chips button:hover{border-color:#80a186}
.idea-chips button[aria-pressed="true"]{background:#25644c;border-color:#25644c;color:#fff}
.ideas-warning{color:#8a4b1f!important}
.ideas-promise{display:flex;gap:8px;align-items:center;justify-content:center;font-size:13px;color:#46664f;margin:10px 0 0;text-align:center}
.ideas-promise .icon{width:16px;height:16px;color:#a36b27}
.order-ideas .order-choice{margin:0}
.best-match{font-size:9px;letter-spacing:.06em;font-weight:700;background:#dfeadb;color:#3c6844;border-radius:4px;padding:3px 5px;margin-left:6px;vertical-align:middle}
#order-ideas-note{margin:0 0 10px}
.ai-note{display:block;font-size:11px;color:#5d7064;margin-top:2px}
.order-custom-choice{margin-top:8px!important;border-style:dashed!important}
@media(prefers-reduced-motion:reduce){.skeleton-lines i{animation:none}}
@media(max-width:760px){.idea-chips button{flex:1 1 calc(50% - 7px)}}
.ideas-tip{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.55;color:#7a4a1c;background:#fbf4e6;border:1px solid #ecdcb8;border-radius:9px;padding:10px 12px;margin:2px 0 0}
.ideas-tip .icon{width:16px;height:16px;flex:none;margin-top:2px}

/* Waiting for ideas: ring that fills over 15 s, countdown, three steps. */
.idea-wait{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:22px 20px;border:1.5px solid #9fc0a6;border-radius:14px;background:linear-gradient(135deg,#f3f8f1,#fbfcf9);box-shadow:0 6px 22px #25644c14}
.idea-wait-ring{position:relative;width:84px;height:84px;flex:none}
.idea-wait-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.idea-wait-ring circle{fill:none;stroke-width:6}
.idea-wait-ring .track{stroke:#dfe9dc}
.idea-wait-ring .arc{stroke:#25644c;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--progress,0));transition:stroke-dashoffset .25s linear}
.idea-wait.overtime .idea-wait-ring svg{animation:idea-spin 1.1s linear infinite}
.idea-wait.overtime .arc{animation:none;stroke-dashoffset:72}
.idea-wait-count{position:absolute;inset:0;display:grid;place-items:center;font:600 30px/1 'Lora',Georgia,serif;color:#183e35;font-variant-numeric:tabular-nums}
.idea-wait-copy strong{display:block;font-size:16px;color:#183e35;margin-bottom:3px}
.idea-wait-copy>span{display:block;font-size:13px;color:#4f6a57}
.idea-wait-steps{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px;font-size:12px;color:#8a978c}
.idea-wait-steps li{display:flex;align-items:center;gap:7px}
.idea-wait-steps li::before{content:'';width:8px;height:8px;border-radius:50%;border:1.5px solid #b6c8b9;flex:none}
.idea-wait-steps li.done{color:#3d6b4c}
.idea-wait-steps li.done::before{background:#25644c;border-color:#25644c}
.idea-wait-steps li.active{color:#183e35;font-weight:600}
.idea-wait-steps li.active::before{border-color:#25644c;animation:idea-pulse 1s ease-in-out infinite}
@keyframes idea-spin{to{transform:rotate(270deg)}}
@keyframes idea-pulse{50%{background:#25644c66}}
/* The photo shows it is being looked at. */
.photo-stage[data-analyzing="true"]::after,.upload-box[data-analyzing="true"]::after{content:'';position:absolute;left:0;right:0;top:0;height:28%;background:linear-gradient(180deg,transparent,#ffffff55 70%,#c6f0d2aa 98%,transparent);animation:idea-scan 2.2s ease-in-out infinite;pointer-events:none}
.upload-box{position:relative;overflow:hidden}
@keyframes idea-scan{0%{transform:translateY(-100%)}100%{transform:translateY(360%)}}
.analyzing-badge{position:absolute;right:15px;top:14px;z-index:2;display:flex;align-items:center;gap:6px;background:#183e35e6;color:#fff;border-radius:20px;padding:6px 11px;font-size:12px;font-weight:600}
.analyzing-badge i{width:9px;height:9px;border-radius:50%;background:#9be3b0;animation:idea-pulse 1s infinite}
/* Ideas arrive with a short, gentle entrance. */
.ideas-arrived .movement,.ideas-arrived .order-choice{animation:idea-arrive .45s ease-out both}
.ideas-arrived .movement:nth-child(2),.ideas-arrived .order-choice:nth-child(2){animation-delay:.08s}
.ideas-arrived .movement:nth-child(3),.ideas-arrived .order-choice:nth-child(3){animation-delay:.16s}
@keyframes idea-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.idea-wait-ring .arc{transition:none}.idea-wait.overtime .idea-wait-ring svg,.photo-stage[data-analyzing="true"]::after,.upload-box[data-analyzing="true"]::after,.ideas-arrived .movement,.ideas-arrived .order-choice,.idea-wait-steps li.active::before{animation:none}}
@media(max-width:760px){.idea-wait{grid-template-columns:1fr;justify-items:center;text-align:center}.idea-wait-steps{justify-items:center}}
