
:root{--ink:#0b1830;--ink2:#152642;--blue:#195ce6;--cyan:#31c5d8;--mint:#67d7a6;--cream:#fff8ed;--soft:#f5f8fc;--line:#dfe7f1;--muted:#627089;--white:#fff;--shadow:0 22px 70px rgba(11,24,48,.12);--radius:24px;--container:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.container{width:min(var(--container),calc(100% - 40px));margin:auto}.narrow{max-width:820px}.announcement{background:var(--ink);color:#d9e6f7;font-size:13px}.announcement-inner{height:38px;display:flex;align-items:center;justify-content:space-between}.header{height:78px;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,231,241,.85);transition:.25s}.header.scrolled{box-shadow:0 10px 35px rgba(11,24,48,.08)}.nav{height:100%;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope;font-weight:800;font-size:21px;letter-spacing:-.04em;margin-right:auto}.brand b{color:var(--blue)}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--blue),var(--cyan));box-shadow:0 9px 23px rgba(25,92,230,.25)}.nav-links{display:flex;gap:28px;color:#394960;font-weight:700;font-size:14px}.nav-links a:hover{color:var(--blue)}.nav-actions{display:flex;align-items:center;gap:10px}.nav-icon{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;font-size:25px}.menu-btn{display:none;border:0;background:none;font-size:24px}.btn{border:0;border-radius:13px;padding:15px 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;transition:.22s}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--blue),#1245b0);box-shadow:0 13px 28px rgba(25,92,230,.24)}.btn-secondary{background:#fff;border:1px solid var(--line)}.btn-dark{background:var(--ink);color:#fff}.btn-light{background:#fff;color:var(--ink)}.btn-sm{padding:11px 16px}.btn-wide{width:100%}.hero{overflow:hidden;padding:88px 0 72px;background:radial-gradient(circle at 85% 20%,rgba(49,197,216,.17),transparent 25%),linear-gradient(180deg,#f8fbff,#fff)}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:55px}.pill,.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);font-weight:800}.pill{display:inline-flex;border:1px solid #cfe0ff;background:#edf4ff;border-radius:999px;padding:8px 13px}.hero h1,.page-hero h1,.product-detail h1{font:800 clamp(45px,6vw,76px)/1.02 Manrope;letter-spacing:-.055em;margin:18px 0 22px}.hero h1 em{font-style:normal;color:var(--blue)}.hero-copy>p{font-size:19px;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;margin:30px 0}.trust-row{display:flex;align-items:center;gap:14px;margin-top:28px}.trust-row>div:last-child{display:flex;flex-direction:column;font-size:13px}.trust-row span{color:var(--muted)}.avatars{display:flex}.avatars i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dce9fa;border:3px solid #fff;margin-left:-7px;font-style:normal;font-weight:800}.hero-art{height:535px;position:relative;border-radius:40px;background:linear-gradient(145deg,#0c2342,#0e5d99);box-shadow:0 36px 80px rgba(11,24,48,.23);overflow:hidden}.art-orbit{position:absolute;border-radius:50%;border:55px solid rgba(255,255,255,.05)}.orbit-one{width:300px;height:300px;right:-80px;top:-70px}.orbit-two{width:260px;height:260px;left:-100px;bottom:-100px}.mock-card{position:absolute;background:#fff;box-shadow:0 25px 55px rgba(0,0,0,.25)}.mock-main{width:310px;height:390px;border-radius:22px;left:72px;top:70px;padding:55px 35px;transform:rotate(-6deg);background:linear-gradient(150deg,#fff8e8,#fff)}.mock-main:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:linear-gradient(145deg,var(--blue),var(--cyan));right:-26px;bottom:35px}.mock-main strong{font:800 45px/1 Manrope;letter-spacing:-.05em}.mock-main small{position:absolute;bottom:30px;left:35px}.mock-label{display:block;color:var(--blue);font-weight:800;font-size:11px;letter-spacing:.15em;margin-bottom:55px}.mock-small{right:42px;top:55px;width:180px;height:112px;border-radius:16px;padding:20px;transform:rotate(8deg);display:flex;flex-direction:column}.mock-small b{font:800 28px Manrope;color:var(--blue)}.mock-small span{font-size:12px;color:var(--muted)}.mock-cup{position:absolute;width:100px;height:210px;right:72px;bottom:48px;background:linear-gradient(90deg,#e5eef4,#fff,#b7cddd);border-radius:23px 23px 32px 32px;transform:rotate(8deg);display:grid;place-items:center;box-shadow:0 22px 35px rgba(0,0,0,.25)}.mock-cup b{font:800 36px Manrope;color:var(--blue)}.floating-note{position:absolute;background:#fff;padding:12px 16px;border-radius:13px;font-weight:800;font-size:13px;box-shadow:var(--shadow)}.note-one{left:18px;top:28px}.note-two{right:18px;bottom:18px}.logo-strip{border-block:1px solid var(--line)}.logo-strip .container{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#9aa7b9;font-size:13px;letter-spacing:.14em}.logo-strip span{color:var(--muted);letter-spacing:0}.section{padding:95px 0}.soft{background:var(--soft)}.pt-small{padding-top:45px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:38px}.section h2,.cta h2{font:800 clamp(33px,4vw,52px)/1.08 Manrope;letter-spacing:-.045em;margin:10px 0}.text-link{color:var(--blue);font-weight:800}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.category-card h3,.product-card h3,.template-card h3{font:800 20px Manrope;margin:16px 0 5px}.category-card p,.product-meta p{color:var(--muted);margin:0}.category-image{height:230px;border-radius:22px;overflow:hidden;background:linear-gradient(145deg,#eaf2ff,#f8fbff);position:relative;display:grid;place-items:center}.category-image img{width:100%;height:100%;object-fit:cover;transition:.4s}.category-image>span{font:800 60px Manrope;color:var(--blue)}.category-image i,.template-preview i{position:absolute;right:14px;bottom:14px;background:#fff;padding:9px 12px;border-radius:10px;font-style:normal;font-size:12px;font-weight:800;opacity:0;transform:translateY(8px);transition:.25s}.category-card:hover img{transform:scale(1.06)}.category-card:hover i,.template-card:hover i{opacity:1;transform:none}.process-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.process-copy>p{color:var(--muted);font-size:18px;margin-bottom:25px}.steps{display:grid;gap:16px}.steps article{display:flex;gap:24px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px}.steps article>b{font:800 26px Manrope;color:var(--blue)}.steps h3{margin:0 0 6px;font:800 20px Manrope}.steps p{margin:0;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;transition:.25s}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-image{height:260px;background:#f2f6fb;position:relative;display:grid;place-items:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.product-image>span{font:800 55px Manrope;color:var(--blue)}.product-image button{position:absolute;bottom:14px;left:14px;right:14px;border:0;border-radius:11px;padding:11px;background:#fff;font-weight:800;opacity:0;transform:translateY(8px);transition:.25s}.product-card:hover button{opacity:1;transform:none}.product-meta{padding:19px}.product-meta small{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.product-meta h3{margin-top:7px}.product-meta>div{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.product-meta>div span,.stars{color:#f5a623}.review-section{background:#0b1830;color:#fff}.review-section .kicker{color:#75deec}.review-intro{display:grid;grid-template-columns:1fr 1.1fr .5fr;align-items:end;gap:35px}.review-intro h2{color:#fff}.rating{display:flex;align-items:center;gap:12px}.rating strong{font:800 48px Manrope}.rating span{color:#ffc857}.rating small{display:block;color:#b5c4d9;font-size:11px}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.reviews blockquote{margin:0;padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.05)}.reviews blockquote>span{color:#ffc857}.reviews p{font-size:17px}.reviews footer{color:#aebdd1}.cta{padding:60px 0;background:linear-gradient(120deg,var(--blue),#0c9db2);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between}.cta h2{margin:5px 0}.footer{background:#071226;color:#b8c5d8;padding:70px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:45px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid h4{color:#fff;margin:0 0 12px}.footer-grid p{max-width:360px}.footer-brand{color:#fff;margin-bottom:10px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:22px;font-size:13px}.page-hero{padding:80px 0 62px;text-align:center;background:linear-gradient(180deg,#f5f9ff,#fff)}.page-hero.compact{padding:62px 0 48px}.page-hero h1{font-size:clamp(40px,5vw,64px)}.page-hero p{font-size:18px;color:var(--muted)}.search-box{max-width:620px;margin:30px auto 0;background:#fff;border:1px solid var(--line);box-shadow:0 14px 45px rgba(11,24,48,.09);border-radius:16px;padding:0 18px;display:flex;align-items:center}.search-box span{font-size:25px}.search-box input{border:0;outline:0;width:100%;padding:17px;background:transparent}.crumb{color:var(--blue);font-weight:800}.product-hero{padding:70px 0}.product-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.product-preview{min-height:520px;border-radius:30px;background:var(--soft);display:grid;place-items:center;overflow:hidden}.product-preview img{width:100%;height:100%;object-fit:contain}.product-preview>span{font:800 100px Manrope;color:var(--blue)}.product-detail h1{font-size:clamp(42px,5vw,64px)}.product-detail>p{color:var(--muted);font-size:18px}.spec-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.spec-row span{background:var(--soft);border-radius:13px;padding:13px;font-size:12px;color:var(--muted)}.spec-row b{display:block;color:var(--ink);font-size:14px}.price-line{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0}.price-line span{color:var(--muted)}.price-line strong{font:800 34px Manrope}.microcopy{text-align:center;font-size:12px!important}.template-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.template-preview{height:260px;border-radius:20px;overflow:hidden;background:#e8eef7;display:grid;place-items:center;position:relative}.template-preview img{width:100%;height:100%;object-fit:cover}.checkout-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}.summary-card,.preview-card{border:1px solid var(--line);border-radius:24px;padding:30px;background:#fff}.summary-head{display:flex;justify-content:space-between;align-items:start}.summary-head h2{margin:4px 0;font:800 27px Manrope}.status-chip{background:#e9fbf2;color:#168052;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.summary-card dl div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.summary-card dt{color:var(--muted)}.summary-card dd{font-weight:700}.summary-actions{display:flex;gap:10px;margin-top:25px}.preview-card{display:grid;place-items:center;background:var(--soft)}.preview-card img{max-height:420px;border-radius:12px}.empty-preview,.empty-state{padding:70px 25px;text-align:center;color:var(--muted)}.success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e8fbf1;color:#168052;font-size:27px;margin:0 auto 15px}.auth-page{min-height:75vh;display:grid;place-items:center;padding:60px 20px;background:linear-gradient(145deg,#edf4ff,#f7fbff)}.auth-card{width:min(460px,100%);background:#fff;border-radius:26px;padding:40px;box-shadow:var(--shadow);text-align:center}.brand-mark.large{width:60px;height:60px;margin:0 auto 22px;font-size:25px}.auth-card h1{font:800 34px Manrope;margin:8px 0}.auth-card p{color:var(--muted)}.auth-card label{text-align:left;display:block;font-weight:700;margin:25px 0}.auth-card input{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;margin-top:8px}.form-error{background:#fff0f0;color:#b3261e;padding:10px;border-radius:10px;margin-bottom:14px}
/* editor retains functional ids while gaining a professional shell */.editor-shell{display:grid;grid-template-columns:330px 1fr;height:calc(100vh - 116px);background:#e9eef5}.editor-sidebar{overflow:auto;background:#fff;border-right:1px solid var(--line);padding:18px}.editor-sidebar h2{font:800 20px Manrope}.back-link{font-weight:800;color:var(--blue)}.tool-block{border-top:1px solid var(--line);padding:16px 0}.tool-block h3{font:800 13px Manrope;text-transform:uppercase;letter-spacing:.08em}.tool-block button,.tool-block input,.tool-block select,.upload-btn{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px;margin:4px 0}.tool-block button:hover{border-color:var(--blue)}.editor-toolbar-row{display:flex;gap:6px}.editor-toolbar-row>*{min-width:0}.tool-block .primary-action{background:var(--blue);color:#fff}.tool-block .danger{color:#b3261e}.tool-block .warning{color:#9a5a00}.canvas-area{min-width:0;display:flex;flex-direction:column}.editor-top{height:52px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:13px}.canvas-stage{flex:1;display:grid;place-items:center;overflow:auto;position:relative;padding:50px}.canvas-wrap{background:#fff;box-shadow:0 14px 50px rgba(11,24,48,.2)}.layers-panel,.editor-results{font-size:12px}.check-row{display:flex!important;align-items:center;gap:7px}.check-row input{width:auto}.canvas-ruler{position:absolute}.horizontal-ruler{top:0}.vertical-ruler{left:0}
@media(max-width:1000px){.hero-grid,.product-hero-grid,.process-layout{grid-template-columns:1fr}.hero-art{max-width:620px;width:100%;margin:auto}.category-grid,.product-grid,.template-grid{grid-template-columns:repeat(2,1fr)}.review-intro{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{display:none}.editor-shell{grid-template-columns:280px 1fr}.spec-row{grid-template-columns:1fr}.checkout-grid{grid-template-columns:1fr}}
@media(max-width:760px){.container{width:min(100% - 24px,var(--container))}.announcement-inner span:last-child,.nav-actions .nav-icon{display:none}.header{height:68px}.menu-btn{display:block;order:3}.nav-links{display:none;position:absolute;left:12px;right:12px;top:72px;background:#fff;padding:18px;border-radius:16px;box-shadow:var(--shadow);flex-direction:column}.nav-links.open{display:flex}.nav-actions .btn{padding:10px 12px;font-size:12px}.hero{padding:55px 0}.hero-grid{gap:35px}.hero h1{font-size:44px}.hero-art{height:400px}.mock-main{width:230px;height:300px;left:36px;top:60px;padding:35px 24px}.mock-main strong{font-size:34px}.mock-small{right:18px;width:130px}.mock-cup{right:35px;width:75px;height:165px}.logo-strip .container{overflow:auto;justify-content:flex-start}.section{padding:68px 0}.section-head,.cta-inner{align-items:flex-start;flex-direction:column}.category-grid,.product-grid,.template-grid,.reviews{grid-template-columns:1fr}.category-image,.product-image{height:280px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.product-preview{min-height:360px}.summary-actions{flex-direction:column}.editor-shell{display:block;height:auto}.editor-sidebar{max-height:none}.canvas-area{min-height:650px}.editor-top span:nth-child(2){display:none}}

/* =========================================================
   ZENVIBE DESIGN STUDIO — customer editor presentation
   Existing Fabric.js controls/IDs are intentionally preserved.
   ========================================================= */
html.editor-document,html.editor-document body{height:100%;overflow:hidden;background:#f3f4f7}
html.editor-document body>.site-offer,html.editor-document body>.site-header,html.editor-document body>.site-footer{display:none!important}
html.editor-document main{min-height:0!important}
.studio-app{--studio-purple:#6c4cf1;--studio-purple-dark:#5334d6;--studio-ink:#17233c;--studio-muted:#667085;--studio-border:#e3e6ec;position:fixed;inset:0;z-index:5000;display:grid!important;grid-template-columns:76px 344px minmax(0,1fr)!important;grid-template-rows:64px minmax(0,1fr)!important;height:100vh!important;background:#f1f2f5;font-family:Inter,DM Sans,Arial,sans-serif;color:var(--studio-ink)}
.studio-topbar{grid-column:1/-1;display:grid;grid-template-columns:minmax(300px,1fr) auto minmax(360px,1fr);align-items:center;gap:20px;padding:0 18px;background:linear-gradient(100deg,#15132f,#29204f 50%,#4d2fc3);color:#fff;box-shadow:0 2px 12px rgba(19,15,49,.24);z-index:8}
.studio-brand-group,.studio-history-actions,.studio-primary-actions{display:flex;align-items:center;gap:10px}.studio-primary-actions{justify-content:flex-end}.studio-history-actions{justify-content:center}.studio-back,.icon-command{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:9px;background:rgba(255,255,255,.1);color:#fff;font-size:20px}.studio-back:hover,.icon-command:hover{background:rgba(255,255,255,.2)}
.studio-logo{font:900 22px Manrope;color:#fff;letter-spacing:-.05em}.studio-logo span{font-size:15px;letter-spacing:-.04em}.studio-file-meta{display:flex;flex-direction:column;min-width:0}.studio-file-meta input{width:min(280px,25vw);border:0;border-radius:6px;background:transparent;color:#fff;font-weight:700;padding:4px 7px}.studio-file-meta input:hover,.studio-file-meta input:focus{background:rgba(255,255,255,.12);outline:1px solid rgba(255,255,255,.28)}.studio-file-meta small{padding-left:7px;color:#d8d2ff;font-size:10px}.autosave-status{font-size:12px;color:#ddd7ff;min-width:72px;text-align:center}
.studio-topbar button{border:0;border-radius:9px;padding:10px 14px;font-weight:800;cursor:pointer}.studio-secondary{background:rgba(255,255,255,.12);color:#fff}.studio-secondary:hover{background:rgba(255,255,255,.22)}.studio-share{background:#fff;color:#452ac2;box-shadow:0 5px 14px rgba(0,0,0,.15)}
.studio-rail{grid-column:1;grid-row:2;background:#18152e;padding:8px 6px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;z-index:5}.rail-tab{display:flex;min-height:64px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:10px;background:transparent;color:#cbc6e5;cursor:pointer}.rail-tab span{font-size:22px;line-height:1}.rail-tab b{font-size:10px;font-weight:700}.rail-tab:hover,.rail-tab.active{background:#353052;color:#fff}.rail-tab.active{box-shadow:inset 3px 0 0 #9b86ff}
.studio-panel{grid-column:2;grid-row:2;width:auto!important;height:auto!important;max-height:none!important;padding:0!important;overflow:hidden!important;background:#fff;border-right:1px solid var(--studio-border);box-shadow:6px 0 20px rgba(31,35,48,.07);transition:width .2s ease,opacity .2s ease;z-index:4}.studio-panel.panel-closed{width:0!important;opacity:0;border:0}.panel-heading{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid var(--studio-border)}.panel-heading small{font-size:9px;font-weight:800;letter-spacing:.11em;color:#8b92a4}.panel-heading h2{margin:1px 0 0!important;font:800 19px Manrope!important}.panel-heading button{width:30px;height:30px;border:0;border-radius:8px;background:#f2f3f7;font-size:20px;color:#667085}
.studio-panel-section{display:none;height:calc(100vh - 128px);padding:16px 17px 28px;overflow-y:auto}.studio-panel-section.active{display:block}.studio-panel-section h3{margin:20px 0 10px;font:800 12px Manrope;letter-spacing:.03em;text-transform:none}.studio-panel-section button,.studio-panel-section input,.studio-panel-section select{font:inherit}.panel-search{height:42px;display:flex;align-items:center;gap:8px;border:1px solid #d9dde6;border-radius:10px;padding:0 11px;background:#fafbfc}.panel-search:focus-within{border-color:var(--studio-purple);box-shadow:0 0 0 3px rgba(108,76,241,.1)}.panel-search input{width:100%;border:0!important;background:transparent!important;padding:0!important;margin:0!important;outline:0}.panel-callout{margin-top:14px;padding:12px;border-radius:10px;background:#f4f1ff;border:1px solid #e2dbff}.panel-callout strong{font-size:12px;color:#4f34ca}.panel-callout p{margin:4px 0 0;font-size:11px;line-height:1.45;color:#67627d}
.page-list{display:grid;gap:8px}.page-list .page-btn{margin:0!important;padding:11px 12px!important;border:1px solid #dfe2e8!important;border-radius:9px!important;background:#fff!important;text-align:left;font-weight:700}.page-list .page-btn.active{border-color:var(--studio-purple)!important;background:#f5f2ff!important;color:#4f34ca!important}.two-col,.three-col{display:grid;gap:8px;margin-top:9px}.two-col{grid-template-columns:1fr 1fr}.three-col{grid-template-columns:repeat(3,1fr)}.studio-panel-section>.two-col button,.studio-panel-section>.three-col button,.ghost-command,.studio-panel-section>button{border:1px solid #dfe2e8;border-radius:9px;background:#fff;padding:10px;cursor:pointer}.studio-panel-section button:hover{border-color:#9a86f4;background:#f8f6ff}.danger{color:#c83232!important}.ghost-command{width:100%;margin-top:8px}
.asset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.asset-grid button{aspect-ratio:1;border:1px solid #e1e4ea;border-radius:10px;background:#fafbfc;display:grid;place-items:center;padding:9px;cursor:pointer}.shape-preview{font-size:28px;color:#27304a}.shape-square{width:30px;height:30px;background:#27304a}.shape-rounded{width:35px;height:28px;border-radius:8px;background:#27304a}.shape-circle{width:31px;height:31px;border-radius:50%;background:#27304a}.shape-ellipse{width:39px;height:25px;border-radius:50%;background:#27304a}.shape-triangle{width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:32px solid #27304a}.shape-diamond{width:27px;height:27px;background:#27304a;transform:rotate(45deg)}.legacy-adders{display:none}.big-text-command{width:100%;background:var(--studio-purple)!important;color:#fff!important;border-color:var(--studio-purple)!important;font-weight:800}.text-preset{width:100%;min-height:58px;margin-top:8px!important;text-align:left!important;padding:12px!important}.text-preset strong{font-size:24px}.text-preset span{font-size:18px}.font-library{display:grid;gap:6px}.font-library button{width:100%;min-height:45px;text-align:left;padding:8px 12px;border:1px solid #e2e5eb;border-radius:8px;background:#fff;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-dropzone{min-height:180px;border:2px dashed #c9cdd8;border-radius:14px;background:#fafbfc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#5f6678;cursor:pointer;font-size:28px}.upload-dropzone strong{font-size:15px;color:#283149}.upload-dropzone span{font-size:11px}.upload-dropzone:hover{border-color:var(--studio-purple);background:#f7f4ff}.upload-note{margin-top:13px;padding:11px;border-radius:9px;background:#effbf4;color:#287048;font-size:11px}.emoji-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:14px}.emoji-grid button{aspect-ratio:1;border:1px solid #e3e5ea;border-radius:9px;background:#fff;font-size:26px;cursor:pointer}.colour-row{display:flex;align-items:center;gap:10px;border:1px solid #e1e4ea;border-radius:10px;padding:9px}.colour-row input{width:36px!important;height:36px!important;padding:0!important;border:0!important}.swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.swatch-grid button{aspect-ratio:1;border:1px solid #d5d8df;border-radius:50%;padding:0!important}.check-row{display:flex!important;align-items:center;gap:8px;font-size:12px}.check-row input{width:auto!important}
.studio-workspace{grid-column:3;grid-row:2;min-width:0;min-height:0;display:grid!important;grid-template-rows:52px minmax(0,1fr) 46px!important;background:#eceef2}.context-toolbar{display:flex;align-items:center;gap:8px;padding:7px 14px;background:#fff;border-bottom:1px solid var(--studio-border);overflow-x:auto;white-space:nowrap}.context-empty{color:#8a91a2;font-size:12px}.context-controls,.context-more{display:flex;align-items:center;gap:6px}.context-toolbar button,.context-toolbar select,.context-toolbar input[type=number],.context-toolbar input[type=text],.context-toolbar input:not([type]){height:34px;border:1px solid #dfe2e8;border-radius:8px;background:#fff;padding:0 9px}.context-toolbar button:hover{border-color:var(--studio-purple);background:#f6f3ff}.context-toolbar #fontFamily{width:150px}.context-toolbar #fontSize{width:66px}.context-toolbar #textValue{width:180px}.context-toolbar #opacity,.context-toolbar #rotation{width:80px}.toolbar-colour{position:relative;display:block;width:34px;height:34px;border:1px solid #dfe2e8;border-radius:8px;overflow:hidden}.toolbar-colour input{position:absolute;inset:-7px;width:48px;height:48px;border:0}.context-more{margin-left:auto}.studio-canvas-scroll{min-height:0;overflow:auto;display:grid;place-items:center}.studio-workspace .canvas-stage{min-width:max-content;min-height:max-content;display:grid!important;place-items:center!important;padding:70px!important;background-image:radial-gradient(#d1d4dc 1px,transparent 1px);background-size:20px 20px}.studio-workspace .canvas-wrap{border-radius:2px;box-shadow:0 18px 45px rgba(24,29,44,.22),0 0 0 1px rgba(60,67,85,.12);background:#fff}.studio-bottom-bar{display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:#fff;border-top:1px solid var(--studio-border)}.page-status{display:flex;align-items:center;gap:10px}.page-status strong{font-size:12px}.page-status span{font-size:10px;color:#7e8596}.zoom-controls{display:flex;align-items:center;gap:8px}.zoom-controls button{width:29px;height:29px;border:0;border-radius:7px;background:#f0f1f5}.zoom-controls input{width:130px}.zoom-controls span{font-size:11px;min-width:38px}.studio-hidden-legacy{display:none!important}
.modern-layers{display:grid;gap:7px;margin-top:12px}.modern-layers .layer-row{display:grid!important;grid-template-columns:minmax(0,1fr) 34px 34px 30px 30px;align-items:center;gap:3px;border:1px solid #e2e5eb;border-radius:9px;background:#fff;padding:4px}.modern-layers .layer-row.active{border-color:var(--studio-purple);box-shadow:0 0 0 2px rgba(108,76,241,.1)}.modern-layers .layer-row button{width:auto!important;height:32px;margin:0!important;padding:4px!important;border:0!important;background:transparent!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-layers .layer-row button:first-child{text-align:left;padding-left:8px!important;font-weight:600}.modern-layers .layer-row button:not(:first-child){font-size:13px}.editor-results{position:fixed;top:72px;right:16px;z-index:20;max-width:340px;background:#fff;box-shadow:0 12px 36px rgba(0,0,0,.18);border-radius:12px}.editor-results:not(:empty){padding:14px}.editor-results div{font-size:11px;padding:5px 0;border-bottom:1px solid #eee}
@media(max-width:1100px){.studio-app{grid-template-columns:68px 300px minmax(0,1fr)!important}.studio-topbar{grid-template-columns:1fr auto}.studio-history-actions{display:none}.studio-primary-actions .studio-secondary:first-child{display:none}.context-more{display:none}}
@media(max-width:760px){html.editor-document body{overflow:hidden}.studio-app{grid-template-columns:60px minmax(0,1fr)!important;grid-template-rows:58px minmax(0,1fr)!important}.studio-topbar{grid-column:1/-1;padding:0 8px;gap:6px}.studio-logo,.studio-file-meta small,.studio-primary-actions .studio-secondary{display:none}.studio-file-meta input{width:145px}.studio-share{padding:9px!important;font-size:11px}.studio-rail{grid-column:1}.studio-panel{position:fixed;left:60px;top:58px;bottom:0;width:min(330px,calc(100vw - 60px))!important;z-index:10}.studio-panel.panel-closed{transform:translateX(-110%);width:min(330px,calc(100vw - 60px))!important;opacity:1}.studio-workspace{grid-column:2}.context-toolbar{height:48px}.context-toolbar #fontFamily{width:110px}.context-toolbar #textValue,.context-toolbar #opacity,.context-toolbar #rotation,.context-toolbar #applyTextBtn{display:none}.studio-workspace .canvas-stage{padding:35px!important}.studio-bottom-bar .page-status span{display:none}.zoom-controls input{width:76px}}

/* Advanced editor enhancements */
.panel-help{font-size:12px;line-height:1.5;color:#667085;margin:-2px 0 12px}.document-colour-control{height:60px!important}.document-colour-control input{width:42px!important;height:42px!important;padding:2px!important;border-radius:8px!important}.document-colour-control span{display:flex;flex-direction:column;gap:2px}.document-colour-control small{font-size:11px;color:#667085}.view-legend{display:grid;gap:7px;margin-top:12px;font-size:11px;color:#667085}.view-legend span{display:flex;align-items:center;gap:8px}.view-legend i{width:18px;height:10px;border:1px solid}.legend-grid{background:linear-gradient(90deg,transparent 45%,#94a3b8 46%,#94a3b8 54%,transparent 55%)}.legend-bleed{border-color:#ef4444!important;border-style:dashed!important}.legend-safe{border-color:#22c55e!important;border-style:dashed!important}
.canvas-stage{padding:76px 60px 60px!important}.canvas-ruler{display:block!important;background:#fff;color:#697386;z-index:4;pointer-events:none;overflow:hidden;font-size:9px;box-shadow:0 1px 0 #dfe3e8}.horizontal-ruler{height:24px;left:60px;top:35px!important}.vertical-ruler{width:24px;top:59px;left:35px!important}.horizontal-ruler span,.vertical-ruler span{position:absolute}.horizontal-ruler span i{display:block;height:8px;border-left:1px solid #94a3b8}.horizontal-ruler span b{position:absolute;top:9px;left:3px;font-weight:500}.vertical-ruler span i{display:block;width:8px;border-top:1px solid #94a3b8}.vertical-ruler span b{position:absolute;left:9px;top:2px;font-weight:500;writing-mode:vertical-rl}.smart-guide-layer{position:absolute;z-index:8;pointer-events:none;left:60px;top:59px}.smart-guide{position:absolute;background:#d946ef;box-shadow:0 0 0 1px rgba(255,255,255,.4)}.smart-guide.vertical{width:1px;height:100vh;top:-400px}.smart-guide.horizontal{height:1px;width:100vw;left:-500px}.measurement-badge{position:absolute;z-index:10;background:#6d28d9;color:#fff;border-radius:5px;padding:5px 8px;font-size:11px;font-weight:700;white-space:pre;pointer-events:none;transform:translate(60px,59px)}
#shapeLibrary.shape-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:460px;overflow:auto;padding-right:4px}#shapeLibrary button{min-height:78px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px}#shapeLibrary .shape-symbol{font-size:28px;line-height:1;color:#26324b}#shapeLibrary small{font-size:9px;color:#667085;max-width:70px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-library button{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:2px;padding:11px 13px!important}.font-library button span{font-size:18px}.font-library button small{font:500 10px Inter,sans-serif;color:#98a2b3}.emoji-grid{display:block!important;max-height:600px;overflow:auto}.emoji-grid h4{position:sticky;top:0;background:#fff;padding:9px 2px;margin:5px 0;z-index:2;font-size:12px}.emoji-category{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.emoji-category button{height:48px!important;font-size:25px!important}.template-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px;max-height:340px;overflow:auto}.template-suggestion-card{border:1px solid #e3e6ec;border-radius:10px;overflow:hidden;background:#fff;color:#17233c;font-size:11px;font-weight:700}.template-suggestion-card img,.template-placeholder{display:block;width:100%;aspect-ratio:1.65;object-fit:cover;background:#ede9fe}.template-placeholder{display:grid;place-items:center;font-size:28px;color:#6546d7}.template-suggestion-card span{display:block;padding:8px}.template-suggestion-card:hover{border-color:#6546d7;box-shadow:0 4px 14px rgba(101,70,215,.12)}.empty-suggestion{grid-column:1/-1;border:1px dashed #d0d5dd;border-radius:9px;padding:14px;font-size:12px;color:#667085}

/* Canva Pro expansion */
.studio-file-menu{display:flex;gap:4px;margin-left:12px}.studio-file-menu button{background:transparent!important;color:#fff;padding:7px 10px!important;font-weight:700!important}.studio-file-menu button:hover{background:rgba(255,255,255,.14)!important}.asset-chip-row{display:flex;gap:6px;overflow:auto;margin-bottom:10px}.icon-grid{grid-template-columns:repeat(4,1fr)!important;gap:8px!important;max-height:610px;overflow:auto}.icon-grid button{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.icon-grid button span{font-size:28px}.icon-grid button small{font-size:9px;color:#667085}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.photo-grid button{padding:0!important;overflow:hidden;text-align:left}.photo-grid button span{display:block;aspect-ratio:1.35;border-bottom:1px solid #e5e7eb;background-size:cover}.photo-grid button small{display:block;padding:8px 10px}.tool-card{border:1px solid #e3e7ef;border-radius:12px;padding:12px;margin-bottom:12px;background:#fff}.tool-card strong{display:block;margin-bottom:8px}.tool-card input{width:100%;margin:4px 0 8px;border:1px solid #d9dfeb;border-radius:8px;padding:9px}.tool-card button{width:100%;margin-top:5px}.position-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.position-grid label{font-size:11px;color:#667085}.position-grid input{margin-top:3px}.font-library h4{position:sticky;top:0;background:#fff;padding:8px 4px;margin:4px 0;z-index:2;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#667085}.font-library{max-height:610px!important}.font-library button span{font-size:20px!important}.emoji-category{grid-template-columns:repeat(7,1fr)!important}.emoji-category button{height:44px!important}.manual-guide{position:absolute;z-index:50;background:#8b5cf6;pointer-events:auto}.manual-guide.vertical{top:0;bottom:0;width:1px;cursor:ew-resize}.manual-guide.horizontal{left:0;right:0;height:1px;cursor:ns-resize}.canvas-stage.rulers-hidden .canvas-ruler{display:none!important}.canvas-stage.rulers-hidden{padding-top:50px!important;padding-left:42px!important}.canvas-stage.rulers-hidden .smart-guide-layer{left:42px;top:50px}.studio-workspace{background:#f2f3f7}.canvas-wrap{box-shadow:0 3px 18px rgba(15,23,42,.16)!important}.context-toolbar{border-radius:0 0 12px 12px;box-shadow:0 3px 14px rgba(15,23,42,.12);margin:0 auto;width:calc(100% - 24px);z-index:7}.studio-bottom-bar{box-shadow:0 -1px 0 #dfe3ea}.shape-grid{scrollbar-width:thin}.studio-panel{box-shadow:8px 0 18px rgba(15,23,42,.04)}
@media(min-width:1400px){.studio-app{grid-template-columns:86px 390px minmax(0,1fr)!important}.studio-panel{width:390px}.studio-canvas-scroll{padding:0 18px}.studio-rail b{font-size:10px}}
/* Functional stock-photo cards */
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.photo-card{border:1px solid #dfe4ee;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.photo-card img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover;background:#eef2f7}
.photo-card>strong{display:block;padding:8px 9px 4px;font-size:12px;color:#17233c}
.photo-card>div{display:grid;gap:5px;padding:6px 8px 9px}
.photo-card button{min-height:34px!important;padding:6px 7px!important;font-size:10px!important;border-radius:7px!important}
.photo-card [data-action="add"]{background:#5b3fd3!important;color:#fff!important;border-color:#5b3fd3!important}
.photo-card [data-action="background"]{background:#fff!important;color:#3f2ca3!important}
.photo-card.compact{grid-column:span 1}.photo-card.compact>div{display:block}.photo-card.compact button{width:100%}
.photo-section-title{grid-column:1/-1;margin:8px 0 0;font-size:12px;color:#526078;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:1200px){.photo-grid{grid-template-columns:1fr}}
