/* ============================================================================
   sh-text-editor-1.css — gaya statis editor teks (Shamira Design Centre)
   Versi pustaka: 1.0.0

   Sisa gaya editor (panel, laci, tema cetak) disuntikkan sendiri oleh
   sh-text-editor-1.js lewat injectTeCss(). Berkas ini hanya memuat gaya
   yang di apps asal berada di <style> halaman, bukan di dalam modul.

   Variabel warna yang dipakai (punya nilai cadangan, jadi tidak wajib):
     --accent-gold   (bawaan #CBA158)
     --primary-green (bawaan #1F2A3D)
   ============================================================================ */

/* baris 11 index.html */
#tePrintLayer{display:none}

/* baris 1924-1975 index.html */
#teksOverlay{position:fixed;inset:0;z-index:99999;background:#0f1115;display:flex;flex-direction:column;font-family:'Plus Jakarta Sans',sans-serif;color:#fff;overflow:hidden;-webkit-tap-highlight-color:transparent;}
#teksOverlay *{box-sizing:border-box;}
.te-topbar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:calc(9px + env(safe-area-inset-top)) 14px 9px;background:#101216;z-index:5;}
.te-title{flex:1 1 auto;min-width:0;font-family:'Cinzel',serif;font-size:15.5px;font-weight:600;letter-spacing:.05em;color:#fff;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.te-iconbtn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border:none;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;border-radius:11px;padding:0;flex-shrink:0;}
.te-iconbtn:active{background:rgba(255,255,255,.22);}
.te-done-pill{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 15px;border:none;border-radius:999px;background:var(--accent-gold,#CBA158);color:#20160a;font-family:'Plus Jakarta Sans',sans-serif;font-size:12.5px;font-weight:800;cursor:pointer;white-space:nowrap;flex-shrink:0;}
.te-done-pill:active{opacity:.88;}
.te-stagewrap{flex:1 1 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;margin:0;min-height:0;position:relative;background:#0b0d10;}
.te-stage{position:relative;border-radius:0;overflow:hidden;background:linear-gradient(135deg,#1b1e24,#121419);touch-action:none;user-select:none;}
.te-stage-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;}
.te-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--accent-gold,#CBA158);opacity:.5;}
.te-box{position:absolute;left:12%;top:42%;max-width:92%;padding:4px 8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:700;line-height:1.15;color:#fff;text-align:center;cursor:move;white-space:pre-wrap;word-break:break-word;outline:none;min-width:32px;min-height:28px;touch-action:none;transition:box-shadow .12s;}
.te-box.te-empty{opacity:.6;font-weight:600;}
.te-box.te-hidden{display:none;}
.te-box.te-selected{z-index:6;}
.te-box.te-selected::after{content:'';position:absolute;inset:-6px;border:1.6px dashed var(--accent-gold,#CBA158);border-radius:9px;pointer-events:none;}
.te-handle{position:absolute;right:-11px;bottom:-11px;width:26px;height:26px;border-radius:50%;background:var(--accent-gold,#CBA158);border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.4);display:none;align-items:center;justify-content:center;cursor:nwse-resize;touch-action:none;z-index:7;color:#20160a;}
.te-box.te-selected .te-handle{display:flex;}
.exporting .te-box.te-empty{display:none !important;}
.exporting .te-box.te-selected::after{display:none;}
.exporting .te-handle{display:none !important;}

/* ---- Bottom sheet toolbar (compact) ---- */
.te-sheet{flex:0 0 auto;background:rgba(20,22,27,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);border-radius:18px 18px 0 0;padding:10px 12px calc(9px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:9px;z-index:3;}
.te-edithint{font-size:11.5px;color:rgba(255,255,255,.6);text-align:center;margin:-2px 0 -1px;}
.te-slots{display:flex;gap:7px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:1px;}
.te-slotchip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:rgba(255,255,255,.75);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;}
.te-slotchip .dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3);}
.te-slotchip.filled .dot{background:var(--accent-gold,#CBA158);}
.te-slotchip.on{background:#fff;color:#16181b;border-color:#fff;}
.te-slotchip.on .dot{background:var(--accent-gold,#CBA158);}
.te-toolrow{display:flex;align-items:center;gap:7px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.te-toolrow.wrap{flex-wrap:nowrap;}
.te-fontchip{flex:0 0 auto;height:36px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff;font-size:15px;cursor:pointer;line-height:34px;}
.te-fontchip.on{border-color:var(--accent-gold,#CBA158);background:rgba(203,161,88,.2);}
.te-fontchip.f-heading{font-family:'Cinzel',serif;}
.te-fontchip.f-body{font-family:'Cormorant Garamond',serif;font-size:18px;}
.te-fontchip.f-body2{font-family:'Montserrat',sans-serif;font-size:14px;}
.te-tgl{flex:0 0 auto;min-width:38px;height:36px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;}
.te-tgl.on{border-color:var(--accent-gold,#CBA158);background:rgba(203,161,88,.24);color:#fff;}
.te-tgl.i-ital{font-style:italic;font-family:'Cormorant Garamond',serif;font-size:16px;}
.te-sizewrap{flex:1 1 120px;display:flex;align-items:center;gap:9px;min-width:120px;padding:0 4px;}
.te-size{flex:1 1 auto;-webkit-appearance:none;appearance:none;height:4px;border-radius:4px;background:rgba(255,255,255,.22);outline:none;}
.te-size::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent-gold,#CBA158);border:2px solid #fff;cursor:pointer;}
.te-size::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent-gold,#CBA158);border:2px solid #fff;cursor:pointer;}
.te-sizeval{width:30px;text-align:right;font-size:12px;font-weight:700;color:rgba(255,255,255,.8);flex-shrink:0;}
.te-sizeic{font-size:11px;color:rgba(255,255,255,.55);flex-shrink:0;}
.te-swatches{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;align-items:center;}
.te-sw{width:28px;height:28px;min-width:28px;border-radius:50%;border:2px solid rgba(255,255,255,.35);cursor:pointer;padding:0;flex:0 0 auto;}
.te-sw.te-active{border-color:#fff;box-shadow:0 0 0 2px var(--accent-gold,#CBA158);}
.te-mini{display:none;}

/* baris 2012-2019 index.html */
.te-actions{flex:0 0 auto;display:flex;gap:8px;padding:9px 12px calc(11px + env(safe-area-inset-bottom));background:rgba(16,18,22,.96);border-top:1px solid rgba(255,255,255,.07);z-index:3;}
.te-act{flex:1 1 0;min-height:46px;border-radius:12px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 6px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;}
.te-act svg{flex:0 0 auto;}
.te-act.te-gold{background:var(--accent-gold,#CBA158);border-color:var(--accent-gold,#CBA158);color:#20160a;}
.te-act:active{opacity:.85;}
.exporting .te-ui{opacity:0 !important;}
.te-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(12px);background:var(--primary-green,#1F2A3D);color:#fff;font-size:13px;font-weight:500;padding:11px 18px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:100001;max-width:88%;text-align:center;}
.te-toast.te-show{opacity:1;transform:translateX(-50%) translateY(0);}
/* Aturan cetak — di apps asal ada di <head> index.html baris 10-12. */
html.shamira-cetak,html.shamira-cetak body{background:#0f1115!important;overflow:hidden!important}
html.shamira-cetak body>*:not(#teksOverlay):not(#tePrintLayer):not(script):not(style):not(.te-toast){display:none!important}
@media print{ html.te-printing,html.te-printing body{background:#fff!important} html.te-printing body>*{display:none!important} html.te-printing #tePrintLayer{display:flex!important;align-items:center;justify-content:center;position:fixed;inset:0;margin:0;padding:0} html.te-printing #tePrintLayer img{max-width:100%;max-height:100%} }


/* ============================================================================
   PERENDER TUNGGAL (v1.1)
   Teks tidak lagi digambar CSS. Kanvas .te-stage-cv yang menggambar latar dan
   teks sekaligus — komposit yang sama persis dengan yang diekspor.
   Elemen <img> tetap ada sebagai pemuat gambar (naturalWidth/naturalHeight &
   sumber gambar untuk kanvas), tapi tidak lagi ditampilkan.
   ============================================================================ */
/* DILINGKUPI .sh-te dengan sengaja. Selama masa peralihan, satu halaman bisa
   memuat pustaka ini BERSAMA editor lamanya yang masih menggambar teks lewat
   DOM. Tanpa lingkup ini, aturan di bawah akan mematikan editor lama juga. */
#teksOverlay.sh-te .te-stage-cv{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;}
#teksOverlay.sh-te .te-stage-img{display:none !important;}

/* .te-box kini murni area sentuh + pegangan + garis seleksi. Ukurannya diatur
   JS dari hasil pengukuran kanvas, jadi properti teks di bawah ini sengaja
   dinetralkan — kalau tidak, teks tergambar dua kali dan saling menimpa. */
/* JANGAN pasang overflow:hidden di sini — garis seleksi (::after, inset:-6px)
   dan pegangan ubah-ukuran duduk DI LUAR kotak, jadi keduanya ikut terpotong. */
#teksOverlay.sh-te .te-box{color:transparent !important;background:transparent !important;padding:0 !important;text-shadow:none !important;}
