:root{font-family:Arial,sans-serif;color:#302a31;background:#faf7f7}*{box-sizing:border-box}body{margin:0}.wrap{max-width:1120px;margin:auto;padding:26px 18px 60px}header{text-align:center;padding:25px 0}h1{font-family:Georgia,serif;font-size:clamp(30px,5vw,50px);margin:5px}p{color:#746b72;line-height:1.55}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:white;padding:25px;border:1px solid #eee5e9;border-radius:20px;box-shadow:0 7px 24px #4630400a}h2{font-size:18px;margin:0 0 16px}.wheel{position:relative;width:min(100%,360px);aspect-ratio:1;margin:18px auto;border-radius:50%;background:conic-gradient(from 0deg,red,yellow,lime,cyan,blue,magenta,red);cursor:crosshair;touch-action:none}.wheel:before{content:'';position:absolute;inset:19%;border-radius:50%;background:#fff}.wheel .center{position:absolute;inset:26%;border-radius:50%;display:grid;place-content:center;text-align:center;background:#db7093;color:white;box-shadow:0 2px 12px #0002}.dot{position:absolute;width:21px;height:21px;border:4px solid white;border-radius:50%;box-shadow:0 0 0 2px #34252d,0 2px 8px #0003;transform:translate(-50%,-50%);pointer-events:none}label{display:block;font-size:13px;font-weight:bold;margin:20px 0 8px}select,input[type=range],button{width:100%}select{border:1px solid #dfd4db;border-radius:10px;padding:13px;background:white;color:#302a31}input[type=range]{accent-color:#8e456b}button{background:#713b5d;border:0;border-radius:11px;color:white;padding:14px;cursor:pointer;font-weight:bold;margin-top:14px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid #e7dce3;border-radius:99px;padding:9px 12px;background:white;cursor:pointer;font-size:13px}.chip.active{background:#713b5d;color:white}.swatches{display:flex;gap:10px;margin:18px 0}.swatch{flex:1;min-width:0}.swatch .color{height:100px;border-radius:12px}.swatch small{display:block;margin-top:8px;color:#756a72;font-size:11px;overflow-wrap:anywhere}.preview{border-radius:17px;overflow:hidden;background:#f6f0ec;padding:20px;min-height:240px;display:flex;align-items:center;justify-content:center;gap:18px}.dress{width:80px;height:160px;clip-path:polygon(36% 0,64% 0,79% 16%,66% 39%,96% 100%,4% 100%,34% 39%,21% 16%);filter:drop-shadow(0 3px 3px #0003)}.tabletop{width:190px;height:110px;border-radius:50%;box-shadow:0 13px 0 #c4aaa2,0 22px 15px #0002;position:relative;display:flex;justify-content:center;align-items:center;gap:8px}.plate{width:38px;height:38px;border-radius:50%;border:7px solid #fdfaf4;box-shadow:0 0 0 2px #c6aa79}.flower{position:absolute;top:15px;left:calc(50% - 15px);width:30px;height:30px;border-radius:50%;box-shadow:15px 3px 0 -4px #c4a07d,-14px 2px 0 -4px #b8a1a8}.note{font-size:12px;color:#867d83}.row{display:flex;gap:12px}.row>*{flex:1}@media(max-width:750px){.grid{grid-template-columns:1fr}.panel{padding:19px}.swatch .color{height:75px}.preview{gap:10px}.dress{width:65px}}.assignments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.assignments label{margin:0;font-size:12px}.assignments select{font-size:12px;padding:9px 3px}@media(max-width:500px){.assignments{grid-template-columns:1fr}}.scene{border-radius:16px;overflow:hidden;background:#e8d8cb;margin-top:12px}.scene svg{display:block;width:100%;height:auto}.legend{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.legend span{font-size:12px;display:flex;align-items:center;gap:5px}.legend i{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid #ccc}.wheel{touch-action:none;user-select:none}@media(max-width:750px){.scene{margin-left:-8px;margin-right:-8px}} 
header{padding:10px 0 20px}header p{max-width:550px;margin:10px auto}.wrap{max-width:1240px}.grid{grid-template-columns:minmax(280px,.85fr) minmax(0,1.25fr);align-items:start;gap:18px}.wheel{width:min(100%,285px)}.panel{padding:22px}.visual-panel{background:#fffdfb}.visual-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.visual-heading h2{font-family:Georgia,serif;font-size:27px}.tag{font-size:11px;background:#f4e8ed;border-radius:20px;padding:7px 10px;color:#713b5d;white-space:nowrap}.presets{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.presets button,.quick-actions button{width:auto;margin:0;background:#f5eff2;color:#713b5d;padding:9px 12px;font-size:12px}.quick-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.secondary-action{background:#f5eff2;color:#713b5d;border:1px solid #d7becd}.scene{margin-top:10px}.scene svg{max-height:520px}.assignments{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0}.assignments select{padding:11px 6px}.visual-panel>.note{margin:8px 0}.visual-panel .swatches .color{height:60px}.visual-panel h2:not(.visual-heading h2){margin-top:20px}@media(max-width:760px){.grid{grid-template-columns:1fr}.wheel{width:min(100%,260px)}.visual-panel{padding:14px}.scene{margin-left:0;margin-right:0}.visual-heading h2{font-size:24px}.assignments{grid-template-columns:1fr}.visual-panel .assignments label{margin:5px 0}.wrap{padding:14px 12px 85px}header h1{font-size:35px}}
.tone-controls{background:#faf6f8;border-radius:12px;padding:12px;margin:10px 0}.tone-controls label{margin:8px 0}.tone-controls output{float:right;font-weight:normal}.tone-controls input[type=color]{height:45px;width:75px;border:0;background:transparent;vertical-align:middle}.tone-controls #exactHex{font-size:13px;font-weight:600;margin-left:12px}
.canva-picker{border:1px solid #e7dde3;border-radius:17px;padding:15px;margin:18px 0 12px;background:#fff;box-shadow:0 4px 14px #00000009}.picker-heading{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;margin-bottom:12px}.selected-chip{width:30px;height:30px;border-radius:9px;border:1px solid #ddd}.sv-square{height:230px;position:relative;border-radius:12px;cursor:crosshair;touch-action:none;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent);overflow:hidden}.sv-cross{position:absolute;width:18px;height:18px;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #333,0 2px 5px #0007;transform:translate(-50%,-50%);pointer-events:none}.hue-track{height:21px;border-radius:30px;margin:23px 8px 18px;position:relative;touch-action:none;cursor:pointer;background:linear-gradient(to right,red,#ff0,lime,cyan,blue,magenta,red)}.hue-thumb{position:absolute;top:50%;width:24px;height:30px;background:white;border:3px solid white;box-shadow:0 0 0 1px #555,0 2px 5px #0005;border-radius:8px;transform:translate(-50%,-50%);pointer-events:none}.hex-row{display:flex;gap:8px;align-items:center}.hex-row span{height:40px;width:40px;flex:none;border-radius:9px;border:1px solid #ddd}.hex-row label{margin:0}.hex-row input{width:100%;min-width:0;padding:10px;border:1px solid #ddd;border-radius:9px;font-size:15px;text-transform:uppercase}.hex-row button{width:auto;margin:0;padding:12px;background:#f4edf1;color:#713b5d}
.application{margin:18px 0}.application-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.application-card{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #eadde4;border-radius:12px;background:#fff}.application-color{height:48px;width:48px;flex-shrink:0;border:1px solid #ddd;border-radius:9px}.application-card strong{display:block;font-size:13px}.application-card small{display:block;font-size:11px;margin-top:4px;color:#756e75}@media(max-width:430px){.application-grid{grid-template-columns:1fr}} .custom-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.custom-colors label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:6px}.custom-colors input[type=color]{width:100%;height:43px;border:1px solid #ded2da;border-radius:10px;background:white;padding:3px;cursor:pointer}.custom-colors small{font-weight:400;color:#756e75}.custom-colors .warning{grid-column:1/-1;color:#9b3553;font-size:12px;min-height:18px}@media(max-width:430px){.custom-colors{gap:6px}} .swap-below-image{margin:12px 0 18px}.swap-below-image button{margin:0}.site-nav{height:76px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px max(20px,calc((100vw - 1120px)/2));border-bottom:1px solid #eadfe5;gap:20px}.brand{display:flex;align-items:center;height:100%}.brand img{height:65px;width:65px;object-fit:contain}.desktop-links{display:flex;align-items:center;gap:26px}.desktop-links a,.mobile-menu a{text-decoration:none;color:#513d4b;font-size:14px;font-weight:600}.desktop-links a:hover,.mobile-menu a:hover{color:#995e7f}.menu-toggle{border:1px solid #d8c6d0;background:#fff;border-radius:10px;padding:11px 14px;color:#693d56;font-weight:600;cursor:pointer;display:none}.mobile-menu{background:white;padding:8px 24px 20px;border-bottom:1px solid #e5d8df}.mobile-menu:not([hidden]){display:grid;gap:0}.mobile-menu a{padding:13px 6px;border-bottom:1px solid #f1e8ed}.mobile-menu a:last-child{border:0}@media(max-width:760px){.site-nav{height:70px;padding:6px 18px}.brand img{height:58px;width:58px}.desktop-links{display:none}.menu-toggle{display:block}}
/* v20 — mobile-first visual configurator */
.wrap{max-width:1240px}.wrap>header{text-align:left;padding:16px 0 24px}.wrap>header h1{margin:8px 0}.grid{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start}.visual-panel{position:relative}.visual-heading{align-items:center}.visual-panel>.note.intro-note{display:none}.scene{position:relative;overflow:hidden;border-radius:22px;box-shadow:0 12px 28px #5944361a}.scene svg{width:100%}.scene-target{position:absolute;display:block;z-index:2;border:1px solid #fff8;background:#fffef0d9;box-shadow:0 2px 10px #382a2533;color:#4b3342;font-size:12px;font-weight:700;width:auto;margin:0;padding:8px 11px;border-radius:99px;backdrop-filter:blur(8px)}.scene-target:focus-visible{outline:3px solid #9b5d81}.target-cloth{left:46%;top:70%}.target-flowers{left:49%;top:39%}.target-napkins{left:73%;top:52%}.visual-guide{font-size:13px;color:#73646c;margin:10px 0 4px}.visual-toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:10px}.visual-toolbar button{margin:0;flex:1;min-width:130px}.visual-toolbar .secondary-action{padding:12px}.palette-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:13px 0 4px}.palette-strip span{font-size:13px;font-weight:700;margin-right:auto}.palette-strip i{display:inline-block;width:32px;height:32px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #d9ced4}.flow-steps{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 18px}.flow-steps span{background:#f3e9ed;border-radius:30px;padding:8px 12px;font-size:12px;color:#684358}.accordion-details{margin-top:18px;border:1px solid #eadfe5;border-radius:14px;padding:12px 15px}.accordion-details summary{cursor:pointer;font-weight:700;color:#673c58}.accordion-details[open] summary{margin-bottom:14px}.action-save{background:#713b5d}.cta-quote{background:#305c4f}.compare-card{border:1px solid #e4d4dd;background:#fcf8fa;border-radius:15px;padding:13px;margin-top:13px}.compare-card[hidden]{display:none}.compare-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-sample{display:flex;gap:4px;margin:8px 0}.compare-sample i{height:45px;flex:1;border-radius:6px}.compare-card button{margin-top:6px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.grid{display:flex;flex-direction:column}.visual-panel{order:0;width:100%}.config-panel{order:1;width:100%}.wrap{padding:10px 12px 45px}.panel{padding:16px;border-radius:17px}.wrap>header{padding:12px 4px}.wrap>header h1{font-size:32px}.scene-target{font-size:11px;padding:6px 8px}.visual-toolbar button{min-width:0}.visual-panel .visual-heading h2{font-size:22px}.visual-guide{margin-top:12px}.scene{margin-top:8px}}
@media(max-width:420px){.scene-target{font-size:10px;padding:5px 7px}.target-flowers{top:35%;left:46%}.target-napkins{top:51%;left:72%}.target-cloth{top:71%;left:43%}.flow-steps span{font-size:11px;padding:7px 9px}}
.target-dress{top:58%;left:5%;z-index:4}.target-dress:focus-visible{outline:3px solid #7d315b;outline-offset:3px}@media(max-width:420px){.target-dress{top:58%;left:3%;font-size:10px;padding:5px 7px}}

/* v28 — cinco cores fixas de iluminação */
.scene{isolation:isolate;--lighting-tint:rgba(255,183,85,.24)}
.scene::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,var(--lighting-tint) 0%,transparent 72%);mix-blend-mode:multiply;opacity:.7;transition:background .25s ease}
.scene svg{transition:filter .25s ease}
.scene[data-lighting="amber"] svg{filter:sepia(.09) saturate(1.08)}
.scene[data-lighting="blue"] svg{filter:brightness(.98) saturate(1.04)}
.scene[data-lighting="pink"] svg{filter:brightness(1.02) saturate(1.05)}
.scene[data-lighting="lilac"] svg{filter:brightness(.99) saturate(1.05)}
.scene[data-lighting="green"] svg{filter:brightness(.99) saturate(1.04)}

/* Presets de trajes: cores rápidas e legíveis em telas pequenas */
#decorPresets{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}
#decorPresets button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;min-height:43px;padding:9px 12px}
#decorPresets .preset-color-dot{display:inline-block;width:17px;height:17px;border-radius:50%;border:1px solid rgba(0,0,0,.16);flex:none}

.assignments[hidden]{display:none!important}
.decor-edit-grid{margin-top:14px}
/* V35 — personagens ampliados, noivo e noiva com altura visual equivalente */
.scene.wedding-active .wedding-edit-pais{left:3%;top:16%}
.scene.wedding-active .wedding-edit-maes{left:11%;top:33%}
.scene.wedding-active .wedding-edit-padrinhos{left:24%;top:15%}
.scene.wedding-active .wedding-edit-madrinhas{left:32%;top:33%}
.scene.wedding-active .wedding-edit-noivo{left:76%;top:32%}
.scene.wedding-active .target-dress{left:88%;top:58%}
@media(max-width:600px){
 .scene.wedding-active .wedding-edit-pais{left:2%;top:15%}
 .scene.wedding-active .wedding-edit-maes{left:11%;top:32%}
 .scene.wedding-active .wedding-edit-padrinhos{left:23%;top:14%}
 .scene.wedding-active .wedding-edit-madrinhas{left:32%;top:32%}
 .scene.wedding-active .wedding-edit-noivo{left:75%;top:31%}
 .scene.wedding-active .target-dress{left:88%;top:57%}
}

.decor-edit-grid{display:grid;gap:9px;margin:14px 0}.decor-edit{margin:0;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;color:#302a31;border:1px solid #e4d6df;padding:10px 12px}.decor-edit>span:nth-child(2){flex:1;font-size:13px;font-weight:700}.decor-edit>span:last-child{font-size:12px;color:#713b5d}.decor-edit small{display:block;color:#80747b;margin-top:3px}.decor-dot{width:35px;height:35px;border-radius:9px;border:1px solid #ddd}.picker-overlay[hidden]{display:none}.picker-overlay{position:fixed;inset:0;background:#231822a8;z-index:99;display:flex;justify-content:center;align-items:center;padding:15px}.picker-dialog{background:#fff;width:min(100%,430px);max-height:94dvh;overflow:auto;border-radius:20px;padding:17px;box-shadow:0 15px 60px #0004}.picker-dialog-head{display:flex;align-items:center;justify-content:space-between}.picker-dialog-head button{width:38px;height:38px;margin:0;padding:0;background:#f5eff2;color:#713b5d}.picker-dialog .canva-picker{margin:12px 0}.picker-dialog .sv-square{height:190px}.picker-actions{display:flex;gap:10px}.picker-actions button{flex:1;margin-top:12px}.warning{font-size:12px;color:#a42d50;min-height:16px}
.ai-handoff{margin:24px 0 18px;padding:20px;border:1px solid #e3cfda;border-radius:20px;background:linear-gradient(135deg,#fff9fc,#f7f0f5)}.ai-handoff h2{margin:6px 0 8px}.ai-handoff p{line-height:1.55}.ai-kicker{font-size:12px;letter-spacing:.09em;font-weight:800;color:#8a426b}.ai-colors{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.ai-color{display:flex;align-items:center;gap:7px;background:white;padding:7px 9px;border:1px solid #e7dce2;border-radius:30px;font-size:12px}.ai-color i{width:20px;height:20px;border-radius:50%;border:1px solid #ddd}.ai-primary{width:100%;background:#743657;color:#fff;padding:16px;border-radius:13px;font-weight:700}.ai-help{font-size:12px;color:#6d6269}.ai-details{margin-top:13px}.ai-details summary{cursor:pointer;font-weight:600}.ai-details textarea{width:100%;margin:12px 0 8px;padding:12px;border:1px solid #dbcbd4;border-radius:12px;resize:vertical;background:white;color:#342a30;font-size:13px}.ai-details button{width:100%}@media(max-width:500px){.ai-handoff{padding:15px}.ai-color{font-size:11px}}

/* Ki Festa v26 — experiência mobile-first */
.ux-controlbar{background:#faf6f8;border:1px solid #eee4e8;border-radius:18px;padding:15px;margin:14px 0 18px}
.ux-label{font-size:13px;font-weight:700;color:#694357;margin-bottom:10px}
.ux-controlbar .chips{margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px}
.ux-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ux-field{min-width:0}.ux-field label{display:block;font-size:13px;font-weight:700;margin:0 0 7px;color:#55424b}
.ux-field select{width:100%;min-width:0;padding:12px 8px;border:1px solid #ded3d9;border-radius:12px;background:white;color:#3b3037;font-size:13px}
.ux-hidden-config{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;pointer-events:none!important;padding:0!important;border:0!important;margin:0!important}
.visual-panel{order:-1}.visual-panel .visual-heading h2{font-size:clamp(23px,4vw,31px)}
.visual-guide{font-size:14px;margin:6px 0 14px}
.scene-target{font-size:clamp(10px,2vw,13px)!important;padding:7px 9px!important;opacity:.92;box-shadow:0 2px 8px #0002}
.ux-experiment{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 18px}
.ux-minibutton{border:1px solid #e2d4db;background:#fff;border-radius:12px;padding:12px 6px;color:#71435b;font-weight:600;font-size:13px;cursor:pointer}
.scene[data-lighting="day"] svg{filter:brightness(1.12) saturate(.94)}
.scene[data-lighting="night"] svg{filter:brightness(.73) saturate(1.14)}
.scene[data-lighting="amber"] svg{filter:none}
.ux-bottom-actions{display:none}
@media(max-width:700px){.wrap{padding:14px 12px 110px!important}.panel{padding:16px!important}.ux-controlbar{padding:12px}.ux-bottom-actions{position:fixed;display:grid;grid-template-columns:1fr 1fr;gap:8px;bottom:0;left:0;right:0;z-index:50;padding:10px 12px max(12px,env(safe-area-inset-bottom));background:#fffdfdf5;box-shadow:0 -3px 18px #28121c22;border-top:1px solid #eee5e9}.ux-bottom-actions button{padding:14px 7px;border:1px solid #cfb3c3;border-radius:12px;background:#f7edf2;color:#6c3c55;font-size:13px;font-weight:700}.ux-bottom-actions button:last-child{background:#753e5d;color:white}.scene-target{padding:5px 7px!important}.visual-panel .tag{font-size:11px}.ux-two{gap:7px}}


.wedding-planner[hidden]{display:none!important}.wedding-planner{margin:14px 0 18px;border:1px solid #e7d9e1;background:#fffafc;border-radius:17px;padding:16px}.wedding-planner h3{margin:0 0 6px;font-size:17px}.wedding-planner p{margin:0 0 13px;font-size:12px;color:#756672;line-height:1.5}.wedding-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wedding-color{border:1px solid #e4d6df;background:white;color:#332733;border-radius:12px;padding:10px;text-align:left;display:flex;align-items:center;gap:9px;min-width:0;cursor:pointer}.wedding-color .wedding-dot{width:33px;height:33px;flex:none;border-radius:9px;border:1px solid #d9d0d5}.wedding-color strong{display:block;font-size:12px}.wedding-color small{display:block;color:#756a71;font-size:11px;margin-top:3px}.wedding-actions{display:flex;gap:8px;margin-top:13px;align-items:center}.wedding-actions button{margin:0;flex:1;padding:12px 10px}.wedding-hint{font-size:11px;color:#776874;margin-top:9px!important}@media(max-width:460px){.wedding-colors{grid-template-columns:1fr}.wedding-planner{padding:13px}}

.wedding-lineup[hidden]{display:none!important}.wedding-lineup{margin:14px 0 18px;border:1px solid #e9dce3;border-radius:17px;padding:14px;background:linear-gradient(180deg,#fffafc,#f7f1ee)}.lineup-heading{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px}.lineup-heading strong{font-size:15px;color:#47313e}.lineup-heading small{font-size:12px;color:#7c6b75}.lineup-people{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.lineup-person{border:1px solid #e7dce2;background:#fff;border-radius:12px;padding:7px 2px 9px;cursor:pointer;min-width:0;color:#48343f}.lineup-person svg{display:block;width:100%;height:auto;max-height:124px}.lineup-person span{display:block;font-size:10px;font-weight:600;line-height:1.2;margin-top:4px}.lineup-person small{display:block;font-size:9px;color:#776772;margin-top:2px}.lineup-person:focus-visible{outline:3px solid #713b5d;outline-offset:2px}@media(max-width:550px){.lineup-people{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.lineup-person svg{max-height:130px}.lineup-person span{font-size:11px}}


#weddingScenePeople{pointer-events:none}.wedding-scene-edit{display:none!important;z-index:5!important;font-size:clamp(8px,1.35vw,11px)!important;padding:5px 7px!important;white-space:nowrap}
.scene.wedding-active .wedding-scene-edit{display:block!important}.scene.wedding-active .target-dress{top:58%;left:2%}
.wedding-edit-pais{left:14%;top:16%}.wedding-edit-maes{left:24%;top:29%}.wedding-edit-padrinhos{left:35%;top:12%}.wedding-edit-madrinhas{left:48%;top:26%}.wedding-edit-noivo{left:62%;top:15%}
#weddingLineup{display:none!important}
@media(max-width:600px){.wedding-scene-edit{font-size:8px!important;padding:4px 5px!important}.wedding-edit-pais{left:12%;top:14%}.wedding-edit-maes{left:22%;top:28%}.wedding-edit-padrinhos{left:34%;top:11%}.wedding-edit-madrinhas{left:47%;top:26%}.wedding-edit-noivo{left:63%;top:13%}}

/* V34: composição horizontal por casais, sem sobreposição da mesa */
.scene.wedding-active{overflow:hidden}
.scene.wedding-active .wedding-scene-edit{font-size:clamp(9px,1.1vw,12px)!important;padding:5px 7px!important;max-width:19%;white-space:nowrap}
.scene.wedding-active .wedding-edit-pais{left:5%;top:23%}
.scene.wedding-active .wedding-edit-maes{left:11%;top:37%}
.scene.wedding-active .wedding-edit-padrinhos{left:19%;top:21%}
.scene.wedding-active .wedding-edit-madrinhas{left:25%;top:35%}
.scene.wedding-active .wedding-edit-noivo{left:77%;top:23%}
.scene.wedding-active .target-dress{left:87%;top:57%}
.scene.wedding-active .target-flowers{left:49%;top:32%}
.scene.wedding-active .target-napkins{left:65%;top:46%}
.scene.wedding-active .target-cloth{left:49%;top:71%}
@media(max-width:600px){.scene.wedding-active .wedding-scene-edit{font-size:8px!important;padding:4px!important}.scene.wedding-active .scene-target{font-size:9px;padding:5px 6px}.scene.wedding-active .wedding-edit-pais{left:3%;top:19%}.scene.wedding-active .wedding-edit-maes{left:10%;top:37%}.scene.wedding-active .wedding-edit-padrinhos{left:18%;top:18%}.scene.wedding-active .wedding-edit-madrinhas{left:26%;top:36%}.scene.wedding-active .wedding-edit-noivo{left:77%;top:19%}.scene.wedding-active .target-dress{left:87%;top:56%}}

/* v36: controles fora da composição, sem obstruir pessoas ou decoração */.scene-target{display:none!important}.edit-below-scene{margin:12px 0 16px}.edit-below-scene p{margin:0 0 9px;font-size:13px;font-weight:700;color:#655460}.edit-scene-grid{display:flex;flex-wrap:wrap;gap:8px}.edit-scene-grid button{width:auto;margin:0;padding:9px 12px;border:1px solid #dfcbd7;border-radius:99px;background:#fff;color:#713b5d;font-size:12px;font-weight:650}.edit-scene-grid button:focus-visible{outline:3px solid #956384}.edit-scene-grid .wedding-extra{display:none}body:has(.wedding-scene-edit[style*="block"]) .edit-scene-grid .wedding-extra{display:inline-flex}@media(max-width:500px){.edit-scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.edit-scene-grid button{padding:10px 5px;font-size:11px}}

/* v37: mobile-first visualization modes and compact actions */
.wedding-view-modes[hidden]{display:none!important}
.wedding-view-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0 9px;padding:5px;background:#f4edf0;border-radius:14px}
.wedding-view-modes button{margin:0;padding:11px 4px;background:transparent;color:#624356;border-radius:10px;font-size:13px;font-weight:600}
.wedding-view-modes button[aria-pressed="true"]{background:#713b5d;color:#fff;box-shadow:0 2px 7px #43233624}
.visual-panel[data-wedding-view="outfits"] .scene{display:none!important}
.visual-panel[data-wedding-view="outfits"] #weddingLineup{display:block!important}
.visual-panel[data-wedding-view="decor"] #weddingLineup,.visual-panel[data-wedding-view="full"] #weddingLineup{display:none!important}
.visual-panel[data-wedding-view="outfits"] .visual-guide{display:none}
.visual-panel[data-wedding-view="outfits"] .edit-below-scene{display:none}
.visual-panel[data-wedding-view="decor"] .scene svg{max-height:600px}
.ux-secondary-actions{border:1px solid #e7dce3;border-radius:14px;padding:13px;margin:18px 0}
.ux-secondary-actions summary{font-weight:600;color:#713b5d;cursor:pointer}
.ux-secondary-actions[open] summary{margin-bottom:14px}
.ux-secondary-actions button{min-height:43px}
.edit-below-scene button{min-height:44px}
@media(max-width:700px){.wedding-view-modes{position:relative}.visual-panel{overflow:visible}.wedding-lineup .lineup-people{grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-lineup .lineup-person svg{max-height:190px}.wedding-lineup .lineup-person span{font-size:12px}.wedding-planner .wedding-colors{grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-color{padding:8px 5px;gap:5px}.wedding-color strong{font-size:11px}.wedding-color .wedding-dot{width:25px;height:25px}.swap-below-image{display:none!important}}
@media(min-width:701px){.ux-bottom-actions{display:none!important}}


/* v38: marcador das madrinhas acima da cabeça, sem cobrir o vestido */
.scene.wedding-active .wedding-edit-madrinhas{left:25%!important;top:7%!important;transform:translateX(-15%)}
@media(max-width:600px){.scene.wedding-active .wedding-edit-madrinhas{left:25%!important;top:6%!important;transform:translateX(-15%)}}


/* v40 — opções de centros de mesa e cenografia de cerimônia */
.kf-config{border:1px solid #e5d9df;border-radius:18px;padding:17px;margin:16px 0;background:#fffafc}
.kf-config h3{margin:0 0 8px;font-size:19px;color:#56364a}.kf-config p{margin:4px 0 14px;color:#776b74;font-size:14px}
.kf-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kf-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#573d50}.kf-fields select{min-width:0;width:100%;padding:12px 9px;border:1px solid #d8cbd2;border-radius:12px;background:white;color:#3d333b;font:inherit;font-size:14px}
#kfCeremony{display:none}.visual-panel[data-wedding-view="full"] #kfCeremony{display:block}.visual-panel[data-wedding-view="full"] .scene{display:none!important}.visual-panel[data-wedding-view="full"] .edit-below-scene{display:none}
.kf-ceremony-frame{border-radius:22px;overflow:hidden;background:#eee4dc;position:relative}.kf-ceremony-frame svg{display:block;width:100%;height:auto}.kf-ceremony-caption{font-size:13px;color:#746770;margin:10px 0 0}
.kf-center-controls{margin:14px 0}.kf-center-controls .kf-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:550px){.kf-fields{grid-template-columns:1fr}.kf-center-controls .kf-fields{grid-template-columns:1fr}.kf-config{padding:13px}}

 .kf-visual-reference{margin:12px 0 16px;border-radius:18px;overflow:hidden;background:#fff8f3;border:1px solid #e9ded8}.kf-visual-reference[hidden]{display:none!important}.kf-visual-reference img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.kf-visual-reference p{margin:0;padding:10px 12px;font-size:12px;color:#695a61}.visual-panel[data-wedding-view="outfits"] #kfVisualReference{display:block!important}.visual-panel[data-wedding-view="outfits"] #weddingLineup{display:none!important}@media(max-width:700px){.kf-visual-reference img{aspect-ratio:auto;object-fit:contain;object-position:center}} 

.visual-panel[data-wedding-view="decor"] #kfVisualReference{display:block!important}
.visual-panel[data-wedding-view="decor"] .scene{display:none!important}
.visual-panel[data-wedding-view="full"] #kfVisualReference{display:none!important}
.visual-panel[data-wedding-view="full"] .scene{display:block!important}
.wedding-view-modes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.kf-visual-reference{margin:8px 0 18px}
.kf-visual-reference img{width:100%;height:auto;display:block;object-fit:contain}
.wedding-view-modes{display:none!important} .visual-panel[data-wedding-view="full"] .scene{display:block!important} .visual-panel[data-wedding-view="full"] #kfVisualReference{display:none!important}
/* Page-local integration: other Site pages never load the palette stylesheet. */
.palette-topline{background:#123c30;color:#e8ecdf;padding:7px 4%;font:10px/1.4 Arial,sans-serif;letter-spacing:1.8px}
.palette-site-header{display:flex;align-items:center;gap:22px;padding:12px 4%;min-height:90px;margin:0;background:#fff;border-bottom:1px solid #d8dfd6;text-align:left;position:relative;z-index:70}
.palette-site-header .brand{display:flex;flex:none;height:auto}.palette-site-header .brand img{width:110px;height:70px;object-fit:contain}
.palette-site-cta{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;color:#fff;background:#123c30;text-decoration:none;font-size:13px;white-space:nowrap}
.palette-site-header .kf-mobile-menu>nav{right:0;left:auto;transform:none;max-height:calc(100dvh - 135px)}
.palette-skip{position:absolute;top:-100px;left:12px;background:#fff;color:#123c30;padding:12px;z-index:110}.palette-skip:focus{top:12px}
.palette-noscript{margin:20px;padding:20px;background:#fff;border:1px solid #e7dce3}
.chips button.chip{width:auto;margin:0;font-weight:400;min-height:44px;font-family:inherit;color:#513d4b}.chips button.chip.active{color:#fff}
.palette-site-header a:focus-visible,.palette-site-header summary:focus-visible,.chip:focus-visible{outline:3px solid #906d2f;outline-offset:3px}
.grid{grid-template-columns:minmax(0,1fr)}.visual-panel{min-width:0;width:100%;max-width:980px;margin:0 auto}.wrap{max-width:1020px}
.ux-hidden-config,.church-seats-hint[hidden]{display:none!important}
.scene.wedding-active .scene-target,.scene .scene-target{display:none!important}
.edit-scene-grid [data-scene-trigger="0"],.edit-scene-grid [data-scene-trigger="1"],.edit-scene-grid [data-scene-trigger="2"],.edit-scene-grid .wedding-extra{display:none!important}
.edit-scene-grid{display:flex}.edit-scene-grid [data-scene-trigger="3"]{min-width:150px}
.accordion-details[hidden]{display:none!important}.ux-bottom-actions button{margin:0}.visual-panel .tag{white-space:normal;text-align:center}
.picker-overlay{z-index:100;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.picker-dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain}.picker-actions{position:sticky;bottom:-17px;background:white;padding-bottom:12px;z-index:2}.picker-dialog input{font-size:16px}
.picker-dialog .sv-square:focus-visible,.picker-dialog .hue-track:focus-visible{outline:3px solid #713b5d;outline-offset:3px}
.decor-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.decor-edit{flex-wrap:wrap;gap:9px;min-width:0}.decor-edit>span:nth-child(2){min-width:100px}.decor-edit>span:last-child{margin-left:auto}.decor-edit small{overflow-wrap:anywhere}
.visual-panel[data-wedding-view="full"] .edit-below-scene{display:block}.visual-panel[data-wedding-view="full"] .edit-below-scene p{display:none}
@media(max-width:1400px){.palette-site-header .kf-desktop-nav{display:none}.palette-site-header .kf-mobile-menu{display:block}}
@media(max-width:700px){.palette-topline{padding:6px 16px}.palette-site-header{padding:10px 16px;gap:12px;min-height:78px}.palette-site-header .brand img{width:82px;height:56px}.palette-site-cta{padding:10px;font-size:12px}.palette-site-header .kf-mobile-menu>nav{position:fixed;top:112px;left:12px;right:12px;width:auto;max-width:none;transform:none}.decor-edit-grid{grid-template-columns:1fr}.visual-heading{flex-wrap:wrap}.ux-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ux-field select{font-size:12px}.kf-fields select{font-size:14px}.scene svg{max-height:none}.wrap>header h1{font-size:32px}.ux-bottom-actions{padding-bottom:max(10px,env(safe-area-inset-bottom))}}
@media(max-width:360px){.ux-two{grid-template-columns:1fr}.palette-site-header{gap:8px}.palette-site-cta{font-size:11px;padding:10px 8px}.visual-heading h2{max-width:100%}.visual-panel .tag{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
