/* ================= EDITOR APP ================= */
:root{
  --tangelo:#F26A21;--tangelo-2:#FF8C40;--tangelo-soft:#FFF1E6;
  --ink:#191A1D;--muted:#6E7178;--cream:#FDF9F3;--line:#E7DECF;--panel:#FFFFFF;
  --accent:#F26A21; /* live template accent, overridden per-site */
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:#EFE9E0;height:100vh;overflow:hidden}
img{display:block;max-width:100%}
img[hidden]{display:none}
input{font-family:inherit}

/* Buttons (editor chrome) */
.ebtn{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.85rem;
  padding:.6rem 1.1rem;border-radius:999px;border:0;cursor:pointer;transition:.18s;white-space:nowrap}
.ebtn--solid{background:var(--tangelo);color:#fff;box-shadow:0 8px 18px -9px rgba(242,106,33,.8)}
.ebtn--solid:hover{background:#e05c14}
.ebtn--outline{background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.ebtn--outline:hover{border-color:var(--tangelo);color:var(--tangelo)}
.ebtn--block{width:100%;justify-content:center}

/* Top bar */
.ed-bar{
  height:58px;display:flex;align-items:center;gap:1rem;padding:0 1rem;
  background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10;
}
.ed-back{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink);text-decoration:none;
  font-weight:600;font-size:.85rem;padding:.5rem .7rem;border-radius:8px}
.ed-back:hover{background:#F3ECE1;color:var(--tangelo)}
.ed-meta{display:flex;align-items:center;gap:.55rem;padding-left:.4rem;border-left:1px solid var(--line);min-width:0}
.ed-brandmark{display:grid;place-items:center}
.ed-tname{font-family:'Anton',sans-serif;font-size:1rem;text-transform:uppercase;letter-spacing:.4px}
.ed-state{font-size:.74rem;color:var(--muted);background:#F3ECE1;padding:.2rem .6rem;border-radius:999px;white-space:nowrap}
.ed-state.saved{color:#0F6E56;background:#E1F5EE}
.ed-devices{margin-left:auto;display:flex;background:#F3ECE1;border-radius:999px;padding:3px}
.ed-devices button{border:0;background:transparent;font-weight:600;font-size:.78rem;color:var(--muted);
  padding:.4rem .9rem;border-radius:999px;cursor:pointer}
.ed-devices button.is-on{background:#fff;color:var(--ink);box-shadow:0 2px 6px -3px rgba(0,0,0,.3)}
.ed-actions{display:flex;gap:.6rem}

/* Shell = canvas + panel */
.ed-shell{display:grid;grid-template-columns:1fr 320px;height:calc(100vh - 58px)}
.ed-canvas{overflow:auto;padding:26px;display:flex;justify-content:center;align-items:flex-start}
.ed-canvas.mobile .site{max-width:400px}

/* Settings panel */
.ed-panel{background:var(--panel);border-left:1px solid var(--line);overflow:auto;padding:1.3rem 1.2rem}
.ed-hint{font-size:.8rem;color:var(--muted);background:var(--tangelo-soft);border-radius:10px;padding:.7rem .8rem;line-height:1.5;margin-bottom:1.1rem}
.ed-hint b{color:var(--ink)}
.ed-field{margin-bottom:1rem;display:flex;flex-direction:column;gap:.35rem}
.ed-field label{font-size:.78rem;font-weight:600;color:var(--muted)}
.ed-field input[type=text],.ed-field input[type=url],.ed-field input[type=email],.minput{
  border:1px solid var(--line);border-radius:9px;padding:.55rem .7rem;font-size:.85rem;background:#fff;color:var(--ink)}
.ed-field input:focus,.minput:focus,.ed-soc input:focus{outline:2px solid var(--tangelo);outline-offset:-1px;border-color:var(--tangelo)}
.ed-field--row{flex-direction:row;align-items:center;justify-content:space-between}
.ed-field--row input[type=color]{width:44px;height:32px;border:1px solid var(--line);border-radius:8px;padding:2px;background:#fff;cursor:pointer}
.ed-sec{border-top:1px solid var(--line);padding-top:1rem;margin-top:.4rem}
.ed-sec h3{font-size:.95rem;margin-bottom:.25rem}
.ed-subhint{font-size:.74rem;color:var(--muted);margin-bottom:.7rem;line-height:1.45}
.ed-soc{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.ed-soc__k{font-size:.74rem;font-weight:600;color:var(--muted);width:66px;flex:0 0 auto}
.ed-soc input{flex:1;border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;font-size:.78rem;min-width:0}
.ed-free{margin-top:1.2rem;text-align:center;font-size:.78rem;color:var(--muted);background:#F3ECE1;border-radius:10px;padding:.6rem}
.ed-free b{color:var(--tangelo)}

/* ================= EDITABLE SITE (canvas) ================= */
.site{
  width:100%;max-width:1000px;background:#fff;border-radius:12px;overflow:hidden;
  box-shadow:0 24px 60px -30px rgba(30,20,10,.5);font-size:15px;transition:max-width .25s ease;
  --accent:var(--accent);
}
[data-edit]{outline:1.5px dashed transparent;outline-offset:3px;border-radius:3px;transition:outline-color .15s;cursor:text}
[data-edit]:hover{outline-color:rgba(242,106,33,.4)}
[data-edit]:focus{outline:1.5px solid var(--accent);background:rgba(242,106,33,.05)}

.s-nav{display:flex;align-items:center;gap:1rem;padding:1rem 1.6rem;border-bottom:1px solid #EFE7DB}
.s-logo{font-family:'Anton',sans-serif;font-size:1.15rem;text-transform:uppercase;letter-spacing:.5px;color:var(--accent)}
.s-menu{margin-left:auto;display:flex;gap:1.1rem}
.s-menu a{font-size:.82rem;color:var(--muted);text-decoration:none}
.s-navcta{background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;padding:.5rem 1rem;border-radius:999px}

.s-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:1.4rem;padding:2.4rem 1.6rem;align-items:center}
.s-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--accent);margin-bottom:.7rem}
.s-title{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;line-height:1;font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:.9rem}
.s-lede{color:var(--muted);font-size:.95rem;margin-bottom:1.3rem;max-width:40ch}
.s-btn{display:inline-block;background:var(--accent);color:#fff;font-weight:600;font-size:.88rem;padding:.75rem 1.5rem;border-radius:999px;text-decoration:none;cursor:text}
.s-hero__img{position:relative;border:0;padding:0;cursor:pointer;border-radius:14px;overflow:hidden;
  aspect-ratio:4/3;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,#fff),color-mix(in srgb,var(--accent) 55%,#fff));
  display:grid;place-items:center;min-height:210px}
.s-hero__img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.s-hero__ph{color:#fff;font-weight:600;font-size:.9rem;text-shadow:0 1px 6px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;gap:.3rem}
.s-hero__ph b{font-size:1.8rem;line-height:1}
.s-hero__replace{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);opacity:0;transition:.15s;
  background:rgba(0,0,0,.6);color:#fff;font-size:.72rem;font-weight:600;padding:.35rem .8rem;border-radius:999px;white-space:nowrap}
.s-hero__img.has-img .s-hero__ph{display:none}
.s-hero__img:hover .s-hero__replace{opacity:1}

.s-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.4rem 1.6rem 2.4rem}
.s-feat{border:1px solid #EFE7DB;border-radius:12px;padding:1.2rem}
.s-feat__ic{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;font-size:1.1rem;margin-bottom:.7rem}
.s-feat h3{font-size:1rem;margin-bottom:.35rem}
.s-feat p{font-size:.82rem;color:var(--muted);line-height:1.5}

.s-foot{background:#191A1D;color:#fff;padding:1.8rem 1.6rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.s-foot .s-logo{color:#fff}
.s-foot__tag{color:rgba(255,255,255,.7);font-size:.85rem}
.s-socials{display:flex;gap:.6rem;margin-top:.5rem;min-height:34px}
.s-socials a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;transition:.15s}
.s-socials a:hover{background:var(--accent)}
.s-socials svg{width:17px;height:17px}
.s-socials__empty{color:rgba(255,255,255,.45);font-size:.75rem;align-self:center}

/* mobile preview tweaks */
.ed-canvas.mobile .s-hero,.ed-canvas.mobile .s-feats{grid-template-columns:1fr}
.ed-canvas.mobile .s-menu{display:none}

/* ================= MODALS ================= */
.modal{position:fixed;inset:0;background:rgba(20,12,6,.55);display:grid;place-items:center;z-index:50;padding:1.2rem;backdrop-filter:blur(3px)}
.modal[hidden]{display:none}
.modal__box{background:#fff;border-radius:18px;padding:1.8rem;width:100%;max-width:400px;position:relative;box-shadow:0 30px 80px -30px rgba(0,0,0,.6);animation:pop .18s ease}
.modal__box--wide{max-width:520px}
@keyframes pop{from{transform:translateY(10px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.modal__x{position:absolute;top:.9rem;right:1rem;border:0;background:transparent;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer}
.modal__x:hover{color:var(--ink)}
.modal__h{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.5rem;letter-spacing:.4px;margin-bottom:.4rem}
.modal__sub{color:var(--muted);font-size:.88rem;margin-bottom:1.2rem;line-height:1.5}
.prov{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;border:1.5px solid var(--line);
  background:#fff;border-radius:999px;padding:.75rem;font-weight:600;font-size:.9rem;cursor:pointer}
.prov:hover{background:#faf6ef}
.prov__g{font-family:'Anton',sans-serif;color:#4285F4;font-size:1.1rem}
.or{display:flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.75rem;margin:1rem 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.mlabel{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}
.minput{width:100%;margin-bottom:1rem}
.demo-note{font-size:.72rem;color:var(--muted);text-align:center;margin-top:.9rem;font-style:italic}
.auth-err{color:#993C1D;background:#FAECE7;border-radius:8px;padding:.5rem .7rem;font-size:.8rem;margin-bottom:.8rem}
.auth-switch{text-align:center;font-size:.82rem;color:var(--muted);margin-top:.9rem}
.auth-switch button{border:0;background:transparent;color:var(--tangelo);font-weight:600;cursor:pointer;font-size:.82rem;padding:0}
.auth-switch button:hover{text-decoration:underline}
.market-pick{display:flex;align-items:center;gap:.6rem;justify-content:center;margin:.2rem 0 1rem}
.market-pick label{font-size:.8rem;color:var(--muted);font-weight:600}
.market-pick select{padding:.5rem .7rem;border:1px solid var(--line,#e6ded9);border-radius:8px;background:#fff;font:inherit;font-size:.85rem;cursor:pointer;max-width:60%}

/* Checkout plans */
.plans3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.2rem}
.p3{cursor:pointer}
.p3 input{position:absolute;opacity:0;pointer-events:none}
.p3__box{position:relative;display:flex;flex-direction:column;gap:.15rem;border:1.5px solid var(--line);border-radius:12px;padding:.8rem .6rem;text-align:center;transition:.15s}
.p3__box b{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.p3__box em{font-family:'Anton',sans-serif;font-style:normal;font-size:1rem;color:var(--ink)}
.p3__box em i{font-style:normal;font-size:.62rem;color:var(--muted)}
.p3__box small{font-size:.66rem;color:var(--muted)}
.p3 input:checked + .p3__box{border-color:var(--tangelo);background:var(--tangelo-soft);box-shadow:0 0 0 1px var(--tangelo) inset}
.p3__tag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--tangelo);color:#fff;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:999px}
.pay-card{border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:1.1rem}
.pay-card .ed-field{margin-bottom:.7rem}
.pay-card .ed-field:last-child{margin-bottom:0}
.pay-card__row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}

/* Success */
.done-check{width:60px;height:60px;border-radius:50%;background:#1D9E75;color:#fff;font-size:1.9rem;display:grid;place-items:center;margin:0 auto 1rem}
.live-url{display:block;text-align:center;font-weight:700;color:var(--tangelo);background:var(--tangelo-soft);
  border-radius:10px;padding:.7rem;margin-bottom:1.1rem;text-decoration:none;word-break:break-all}
.live-url:hover{text-decoration:underline}
.done-actions{display:flex;flex-direction:column;gap:.6rem}
.done-actions .ebtn{text-decoration:none}

/* Toast */
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:#fff;padding:.7rem 1.2rem;border-radius:999px;font-size:.85rem;font-weight:500;
  z-index:60;opacity:0;transition:.25s;pointer-events:none;box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}
.toast[hidden]{display:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast b{color:#FFB47A}

/* ================= PAGES MANAGER (panel) ================= */
.ed-sec--pages{border-top:0;padding-top:0;margin-top:0}
.pages-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.pages-head h3{font-size:.95rem}
.pages-count{font-size:.68rem;font-weight:600;color:var(--muted);background:#F3ECE1;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}
.pages-count.at-limit{color:#993C1D;background:#FAECE7}
.pages-list{list-style:none;display:flex;flex-direction:column;gap:.35rem;margin-bottom:.6rem}
.pg{display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:9px;padding:.3rem .4rem .3rem .55rem;background:#fff;transition:.15s}
.pg.is-current{border-color:var(--tangelo);background:var(--tangelo-soft)}
.pg__dot{width:7px;height:7px;border-radius:50%;background:var(--line);flex:0 0 auto}
.pg.is-current .pg__dot{background:var(--tangelo)}
.pg__name{flex:1;min-width:0;border:0;background:transparent;font-size:.85rem;font-weight:600;color:var(--ink);padding:.2rem}
.pg__name:focus{outline:0}
.pg__ops{display:flex;gap:1px;opacity:.35;transition:.15s}
.pg:hover .pg__ops,.pg.is-current .pg__ops{opacity:1}
.pg__ops button{border:0;background:transparent;width:22px;height:22px;border-radius:6px;cursor:pointer;color:var(--muted);font-size:.75rem}
.pg__ops button:hover{background:rgba(0,0,0,.06);color:var(--ink)}
.ed-add{width:100%;border:1.5px dashed var(--line);background:#fff;color:var(--tangelo);font-weight:600;font-size:.82rem;padding:.55rem;border-radius:9px;cursor:pointer;transition:.15s}
.ed-add:hover{border-color:var(--tangelo);background:var(--tangelo-soft)}

/* ================= SECTION CONTROLS (canvas) ================= */
.s-sec{position:relative}
.s-sec:hover{outline:2px solid rgba(242,106,33,.28);outline-offset:-2px}
.secbar{position:absolute;top:8px;right:8px;z-index:6;display:flex;gap:2px;background:#fff;border:1px solid var(--line);
  border-radius:9px;padding:3px;box-shadow:0 8px 20px -10px rgba(0,0,0,.45);opacity:0;transform:translateY(-3px);transition:.15s}
.s-sec:hover .secbar{opacity:1;transform:none}
.secbar button{border:0;background:transparent;width:28px;height:28px;border-radius:6px;cursor:pointer;color:var(--muted);font-size:.9rem}
.secbar button:hover{background:#F3ECE1;color:var(--ink)}
.addsec-rail{display:flex;justify-content:center;padding:2px 0;position:relative}
.addsec-rail::before{content:"";position:absolute;top:50%;left:1.6rem;right:1.6rem;height:1px;background:var(--line);opacity:.7}
.addsec{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;padding:3px 0;opacity:.28;transition:.15s}
.addsec-rail:hover .addsec,.addsec:focus{opacity:1}
.addsec span{background:var(--tangelo-soft);border:1px dashed var(--tangelo);color:var(--tangelo);font-weight:600;font-size:.76rem;padding:.28rem .9rem;border-radius:999px}

/* ================= SECTION TYPES ================= */
.s-block{padding:2rem 1.6rem}
.s-h2{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.4px;font-size:1.5rem;margin-bottom:1rem;color:var(--ink)}
.s-text .s-body,.s-contact .s-body{color:var(--muted);font-size:.95rem;line-height:1.65;max-width:62ch}
.s-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.s-gal__cell{position:relative;border:0;padding:0;aspect-ratio:4/3;border-radius:10px;overflow:hidden;cursor:pointer;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,#fff),color-mix(in srgb,var(--accent) 42%,#fff));display:grid;place-items:center}
.s-gal__cell img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.s-gal__ph{color:#fff;font-size:1.6rem;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.s-gal__cell.has-img .s-gal__ph{display:none}
.s-ctaband{background:var(--accent);color:#fff;text-align:center;padding:2.6rem 1.6rem}
.s-cta__h{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.6rem;letter-spacing:.4px;margin-bottom:1.1rem}
.s-btn--light{background:#fff;color:var(--ink)}
.s-contact__list{list-style:none;margin-top:1.1rem;display:grid;gap:.6rem}
.s-contact__list li{display:flex;align-items:center;gap:.6rem;font-size:.92rem}
.s-contact__ic{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:.8rem;flex:0 0 auto}
.s-navlink{cursor:pointer}
.s-navlink.is-here{color:var(--accent);font-weight:600}

/* ================= INDUSTRY SECTIONS: PROPERTIES ================= */
.s-props{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.s-prop{border:1px solid #EFE7DB;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.s-prop__media{position:relative;aspect-ratio:4/3}
.s-imgph{color:#fff;font-size:1.7rem;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.s-prop__img,.s-mitem__img{border:0;padding:0;cursor:pointer;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,#fff),color-mix(in srgb,var(--accent) 42%,#fff))}
.s-prop__img{position:absolute;inset:0;width:100%;height:100%}
.s-prop__img img,.s-mitem__img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.s-prop__img.has-img .s-imgph,.s-mitem__img.has-img .s-imgph{display:none}
.s-prop__status{position:absolute;top:8px;left:8px;z-index:2;background:var(--accent);color:#fff;font-size:.64rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;padding:.25rem .6rem;border-radius:999px}
.s-itemdel{position:absolute;top:8px;right:8px;z-index:3;width:24px;height:24px;border-radius:50%;border:0;
  background:rgba(0,0,0,.55);color:#fff;cursor:pointer;font-size:.72rem;line-height:1;opacity:0;transition:.15s}
.s-prop:hover .s-itemdel,.s-mitem:hover .s-itemdel{opacity:1}
.s-itemdel:hover{background:#993C1D}
.s-prop__body{padding:.9rem 1rem 1.1rem}
.s-prop__title{font-size:1rem;margin-bottom:.2rem}
.s-prop__price{font-family:'Anton',sans-serif;color:var(--accent);font-size:1.15rem;margin-bottom:.55rem}
.s-prop__meta{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin-bottom:.4rem}
.s-prop__loc{font-size:.78rem;color:var(--muted)}
.s-additem{margin-top:1rem;border:1.5px dashed var(--line);background:#fff;color:var(--accent);font-weight:600;font-size:.82rem;padding:.6rem 1.1rem;border-radius:9px;cursor:pointer;transition:.15s}
.s-additem:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff)}

/* ================= INDUSTRY SECTIONS: MENU ================= */
.s-menu{display:flex;flex-direction:column;gap:.8rem}
.s-mitem{position:relative;display:flex;gap:1rem;align-items:center;border:1px solid #EFE7DB;border-radius:12px;padding:.7rem;background:#fff}
.s-mitem__img{width:78px;height:78px;flex:0 0 auto;border-radius:10px;position:relative}
.s-mitem__img .s-imgph{font-size:1.3rem}
.s-mitem__body{flex:1;min-width:0}
.s-mitem__top{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}
.s-mitem__name{font-size:.98rem}
.s-mitem__price{font-family:'Anton',sans-serif;color:var(--accent);font-size:1rem;flex:0 0 auto}
.s-mitem__desc{font-size:.82rem;color:var(--muted);margin-top:.25rem;line-height:1.5}
.s-mitem .s-itemdel{opacity:0}

/* ================= SERVICES (wellness) ================= */
.s-svcs{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.s-svc{position:relative;border:1px solid #EFE7DB;border-radius:12px;padding:1.1rem 1.2rem;background:#fff}
.s-svc__top{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}
.s-svc__name{font-size:1rem}
.s-svc__price{font-family:'Anton',sans-serif;color:var(--accent);font-size:1.05rem;flex:0 0 auto}
.s-svc__dur{font-size:.74rem;color:var(--muted);margin:.2rem 0 .5rem}
.s-svc__desc{font-size:.84rem;color:var(--muted);line-height:1.55}

/* ================= PRODUCTS (e-commerce) ================= */
.s-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.s-prod{border:1px solid #EFE7DB;border-radius:12px;overflow:hidden;background:#fff}
.s-prod__media{position:relative;aspect-ratio:1/1}
.s-prod__img{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,#fff),color-mix(in srgb,var(--accent) 42%,#fff))}
.s-prod__img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.s-prod__img.has-img .s-imgph{display:none}
.s-prod__body{padding:.7rem .8rem .9rem}
.s-prod__name{font-size:.88rem;margin-bottom:.35rem}
.s-prod__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.s-prod__price{font-family:'Anton',sans-serif;color:var(--accent);font-size:1rem}
.s-prod__cart{background:var(--accent);color:#fff;font-size:.64rem;font-weight:700;padding:.3rem .6rem;border-radius:999px;white-space:nowrap}

/* ================= TEAM (law / general) ================= */
.s-teams{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.s-team{position:relative;border:1px solid #EFE7DB;border-radius:12px;overflow:hidden;background:#fff;text-align:center;padding-bottom:1.1rem}
.s-team__media{position:relative;aspect-ratio:1/1}
.s-team__img{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,#fff),color-mix(in srgb,var(--accent) 42%,#fff))}
.s-team__img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.s-team__img.has-img .s-imgph{display:none}
.s-team__name{font-size:1rem;margin:.9rem 1rem 0}
.s-team__role{font-size:.78rem;font-weight:600;color:var(--accent);margin:.15rem 1rem .4rem}
.s-team__bio{font-size:.8rem;color:var(--muted);margin:0 1rem;line-height:1.5}

/* ================= PRICING (SaaS) ================= */
.s-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}
.s-plan{position:relative;border:1px solid #EFE7DB;border-radius:14px;padding:1.4rem 1.3rem;background:#fff}
.s-plan.is-featured{border-color:var(--accent);box-shadow:0 16px 36px -22px rgba(0,0,0,.4)}
.s-plan__name{font-size:.86rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.4rem}
.s-plan__price{font-family:'Anton',sans-serif;font-size:1.7rem;color:var(--ink);margin-bottom:.9rem}
.s-plan__price em{font-family:'Poppins',sans-serif;font-style:normal;font-size:.72rem;color:var(--muted);margin-left:.2rem}
.s-plan__feats{list-style:none;display:grid;gap:.5rem;margin-bottom:1.1rem}
.s-plan__feats li{position:relative;padding-left:1.5rem;font-size:.82rem}
.s-plan__feats li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,#fff)}
.s-plan__feats li::after{content:"";position:absolute;left:5px;top:6px;width:5px;height:8px;border:solid var(--accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.s-plan__cta{display:block;text-align:center;width:100%}

/* ================= PORTFOLIO (creative) ================= */
.s-works{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.s-work{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.s-work__img{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,#fff),color-mix(in srgb,var(--accent) 50%,#fff))}
.s-work__img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.s-work__img.has-img .s-imgph{display:none}
.s-work__cap{position:absolute;inset:auto 0 0 0;z-index:2;padding:1rem;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72));pointer-events:none}
.s-work__cap [data-edit]{pointer-events:auto}
.s-work__cat{display:inline-block;background:var(--accent);color:#fff;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .55rem;border-radius:999px;margin-bottom:.4rem}
.s-work__title{display:block;font-size:1.05rem;line-height:1.2}

/* ================= CTA BUTTON LINKS ================= */
.s-btnwrap{display:inline-flex;align-items:center;gap:.4rem;position:relative;vertical-align:middle}
.s-btnwrap--nav{gap:.3rem}
.s-linkedit{border:1px solid var(--line);background:#fff;width:30px;height:30px;border-radius:8px;cursor:pointer;
  color:var(--muted);display:grid;place-items:center;opacity:0;transform:scale(.9);transition:.15s;flex:0 0 auto}
.s-btnwrap:hover .s-linkedit,.s-sec:hover .s-btnwrap .s-linkedit,.s-nav:hover .s-linkedit{opacity:1;transform:none}
.s-linkedit:hover{border-color:var(--accent);color:var(--accent)}
.s-linkedit svg{width:15px;height:15px}
.s-linknote{display:block;margin-top:.6rem;font-size:.74rem;color:var(--muted)}
.s-linknote::before{content:"\1F517  "}
.s-ctaband .s-linknote{color:rgba(255,255,255,.85)}

/* ================= LINK MODAL ================= */
.linktabs{display:flex;gap:.35rem;background:#F3ECE1;padding:4px;border-radius:10px;margin-bottom:1rem}
.linktabs button{flex:1;border:0;background:transparent;padding:.5rem .3rem;border-radius:7px;font-weight:600;font-size:.78rem;color:var(--muted);cursor:pointer;transition:.15s;white-space:nowrap}
.linktabs button.is-on{background:#fff;color:var(--ink);box-shadow:0 2px 6px -3px rgba(0,0,0,.3)}
.linkfield{margin-bottom:1rem}
.linkfield label{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}
.linkfield input{width:100%;border:1px solid var(--line);border-radius:9px;padding:.6rem .7rem;font-size:.9rem}
.linkfield input:focus{outline:2px solid var(--tangelo);outline-offset:-1px;border-color:var(--tangelo)}
.lk-msg-label{margin-top:.8rem}
.lk-preview{font-size:.76rem;color:var(--muted);word-break:break-all;margin-bottom:.9rem;min-height:1.1em}
.lk-preview b{color:var(--tangelo);font-weight:600}
.lk-remove{display:block;width:100%;border:0;background:transparent;color:#993C1D;font-weight:600;font-size:.83rem;padding:.65rem;margin-top:.4rem;cursor:pointer}
.lk-remove:hover{text-decoration:underline}

/* ================= SECTION PICKER ================= */
.secpick{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.secpick button{position:relative;border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;text-align:left;cursor:pointer;background:#fff;transition:.15s}
.secpick button:hover{border-color:var(--tangelo);background:var(--tangelo-soft)}
.secpick button.is-rec{border-color:var(--tangelo);background:var(--tangelo-soft)}
.secpick b{display:block;font-size:.92rem;margin-bottom:.15rem}
.secpick span{font-size:.74rem;color:var(--muted)}
.secpick__tag{position:absolute;top:8px;right:8px;background:var(--tangelo);color:#fff;font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:999px}

/* ================= UPSELL ================= */
.up-badge{width:52px;height:52px;border-radius:50%;background:var(--tangelo-soft);color:var(--tangelo);font-size:1.1rem;display:grid;place-items:center;margin:0 auto 1rem}
.up-gap{margin-top:.55rem}
.up-later{display:block;width:100%;border:0;background:transparent;color:var(--muted);font-weight:600;font-size:.85rem;padding:.7rem;margin-top:.4rem;cursor:pointer}
.up-later:hover{color:var(--ink)}

/* ================= Responsive ================= */
@media (max-width:820px){
  body{overflow:auto;height:auto}
  .ed-shell{grid-template-columns:1fr;height:auto}
  .ed-panel{border-left:0;border-top:1px solid var(--line)}
  .ed-devices{display:none}
  .secpick{grid-template-columns:1fr}
}
.ed-canvas.mobile .s-props,.ed-canvas.mobile .s-svcs,.ed-canvas.mobile .s-prods,.ed-canvas.mobile .s-teams,.ed-canvas.mobile .s-plans,.ed-canvas.mobile .s-works{grid-template-columns:1fr}
.ed-canvas.mobile .s-prods{grid-template-columns:repeat(2,1fr)}
@media (max-width:640px){
  .s-props,.s-svcs,.s-teams,.s-plans,.s-works{grid-template-columns:1fr}
  .s-prods{grid-template-columns:repeat(2,1fr)}
}
