
.eco-visually-hidden{ position:absolute!important; width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0); white-space:nowrap; }
.eco-uploader,.eco-tagpicker{ font-family:'Nunito',system-ui,sans-serif; }
.eco-drop{ border:2px dashed #d9d0bd; border-radius:20px; padding:24px; text-align:center; background:#FBF7F0; }
.eco-drop-title{ font-family:'Playfair Display',serif; font-size:1.2rem; color:#243447; margin-bottom:4px; }
.eco-drop-sub{ font-size:1rem; color:#6b6152; margin:0 0 14px; line-height:1.5; }
.eco-drop-btns{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.eco-btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:48px; border-radius:999px;
  padding:0 20px; font:inherit; font-weight:800; font-size:1rem; cursor:pointer; border:2px solid #243447; background:#243447;
  color:#fff!important; -webkit-text-fill-color:#fff!important; }
.eco-btn--soft{ background:#fff; border-color:#e0d7c6; color:#243447!important; -webkit-text-fill-color:#243447!important; }
.eco-btn--sm{ min-height:44px; padding:0 16px; }
.eco-btn:focus-within,.eco-btn:focus-visible{ outline:3px solid #CF9E3F; outline-offset:3px; }
.eco-note{ font-size:.95rem; line-height:1.55; color:#6b6152; margin:10px 0 0; }
.eco-warn{ font-size:.95rem; line-height:1.55; color:#7a5f28; background:#FBF1DC; border-radius:12px; padding:10px 14px; margin:10px 0 0; }
.eco-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-top:12px; }
.eco-thumb{ border:1px solid #ece3d4; border-radius:14px; padding:8px; background:#fff; }
.eco-thumb img{ width:100%; aspect-ratio:1; object-fit:cover; border-radius:10px; display:block; }
.eco-prog,.eco-err{ padding:24px 8px; text-align:center; font-size:.95rem; color:#6b6152; }
.eco-err{ color:#8f4526; }
.eco-caprow{ display:flex; gap:6px; margin:8px 0; }
.eco-cap{ width:100%; box-sizing:border-box; min-height:40px; border:1.5px solid #e0d7c6; border-radius:10px; padding:0 10px; font:inherit; font-size:.95rem; margin-top:6px; }
.eco-cap:focus-visible{ outline:3px solid #CF9E3F; outline-offset:1px; }
.eco-chip{ background:#fff; border:1.5px solid #d9d0bd; border-radius:999px; padding:6px 12px; min-height:36px; font:inherit; font-weight:700; font-size:.9rem; cursor:pointer; color:#5A6374!important; -webkit-text-fill-color:#5A6374!important; }
.eco-chip.on{ background:#243447; border-color:#243447; color:#fff!important; -webkit-text-fill-color:#fff!important; }
.eco-taglabel{ display:block; font-weight:800; color:#243447 !important; -webkit-text-fill-color:#243447 !important; margin-bottom:6px; font-size:1rem !important; }
.eco-chips{ display:flex; gap:8px; flex-wrap:wrap; margin:8px 0; }
.eco-tagchip{ background:#DCE7DF; border-radius:999px; padding:6px 12px; font-size:.95rem; font-weight:700; color:#33502D; display:inline-flex; align-items:center; }
.eco-tagchip button{ background:none; border:none; font-size:1.1rem; cursor:pointer; color:#33502D; margin-left:2px; line-height:1; }
.eco-taglist{ list-style:none; margin:6px 0 0; padding:0; max-height:200px; overflow:auto; }
.eco-tagopt{ padding:10px 12px; border-radius:10px; cursor:pointer; }
.eco-tagopt:hover,.eco-tagopt:focus-visible{ background:#F2ECE1; outline:none; }
.eco-tagopt span{ font-size:.9rem; color:#8a8072; }
.eco-steps{ display:flex; gap:6px; justify-content:center; margin-bottom:14px; }
.eco-stepdot{ width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-size:.85rem; font-weight:800; background:#F2ECE1; color:#8a8072; }
.eco-stepdot.on{ background:#243447; color:#fff; } .eco-stepdot.done{ background:#7d9e77; color:#fff; }
.eco-h3{ font-family:'Playfair Display',serif; font-size:1.15rem; color:#243447; margin:6px 0 6px; }
.eco-lays,.eco-auds{ display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; }
.eco-lay,.eco-aud{ border:1.5px solid #e0d7c6; border-radius:14px; padding:14px; background:#fff; cursor:pointer; font:inherit; text-align:center; }
.eco-lay.on,.eco-aud.on{ border-color:#243447; box-shadow:0 0 0 2px #243447 inset; }
.eco-lay b,.eco-aud b{ display:block; color:#243447; } .eco-lay span,.eco-aud span{ font-size:.85rem; color:#8a8072; }
.eco-aud{ text-align:left; }
.eco-lay-shape{ display:block; margin:0 auto 8px; background:#DCE7DF; border:1px solid #b9cdb4; }
.s-square{ width:36px;height:36px;border-radius:6px;} .s-portrait{ width:30px;height:38px;border-radius:6px;} .s-story{ width:24px;height:42px;border-radius:6px;}
.s-insta,.s-facebook,.s-linkedin{ width:36px;height:36px;border-radius:6px;}
.eco-ssprev-img,.eco-review-img{ background:linear-gradient(135deg,#EAF1E4,#F2DDE2); border-radius:14px; aspect-ratio:1; max-width:220px; }
.eco-review{ display:flex; gap:14px; align-items:flex-start; } .eco-review-img{ width:120px; flex:none; }
.eco-review-img.s-story{ aspect-ratio:9/16; } .eco-review-img.s-portrait{ aspect-ratio:4/5; }
.eco-tagline{ color:#5E7E57!important; -webkit-text-fill-color:#5E7E57!important; font-weight:700; }
.eco-audnote{ background:#F2ECE1; border-radius:12px; padding:10px 14px; margin-top:10px; }
