:root{--pop-color:#096352;--highlighted-color:#f3b33d;--hover-color:#067a67;--success-color:#6c9703;--warning-color:#fb6944;--delete-color:#d11c2d;--delete-hover-color:#b10011}body{font-family:DM Sans,sans-serif}.image-gallery,.image-gallery .column{flex-direction:column;gap:10px;display:flex}.image-item img{object-fit:cover;width:100%;height:100%}@media only screen and (width>=768px){.image-gallery{flex-direction:row}}.image-item{cursor:pointer;position:relative}.delete-overlay{background-color:var(--delete-color);border-color:var(--delete-color);color:#fff;padding:5px 15px;font-size:2rem;position:absolute;top:0;right:0}.delete-overlay:hover{background-color:var(--delete-hover-color);border-color:var(--delete-hover-color)}.delete-overlay:disabled{background-color:#696969;border-color:#696969}.overlay{color:#fff;opacity:0;background:#f3b33d80;justify-content:center;align-items:center;width:100%;height:100%;text-decoration:none;transition:all .3s ease-in-out .2s;display:flex;position:absolute;top:0;left:0}.video-overlay{color:#fff;backdrop-filter:blur(4px);background:#000c;border-radius:6px;padding:4px 9px;font-size:.9rem;transition:all .3s ease-in-out .2s;position:absolute;top:10px;right:10px}.video-overlay:hover{opacity:0}.image-item:hover .overlay{opacity:1}.header-font{font-family:DM Serif Display;font-weight:700}.longer-loading-font{font-size:.7rem;font-weight:200;display:none;font-family:Merriweather Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji!important}.text-color{color:var(--pop-color)}.wrapper{width:100%;height:100%;position:relative}#loader-wrapper{z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0}#loader{z-index:1001;border-radius:50%;width:150px;height:150px;margin:-75px 0 0 -75px;animation:2s linear infinite spin;display:block;position:relative;top:50%;left:50%;&:before{content:"";border-radius:50%;animation:3s linear infinite spin;position:absolute;inset:5px}&:after{content:"";border-radius:50%;position:absolute;inset:15px}}#loader-wrapper .loader-section{background-blend-mode:multiply;z-index:1000;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:cover;width:51%;height:100%;position:fixed;top:0;transform:translate(0)}#loader-wrapper .loader-section.section-left{left:0}#loader-wrapper .loader-section.section-right{right:0}#loader{width:150px;height:100px;display:block}.circ-one{float:left;background:#096352;border-radius:100%;width:50px;height:50px;animation:1s cubic-bezier(.445,.1,.55,.9) infinite load-x;display:block;position:relative}.circ-two{float:right;background:#f3b33d;border-radius:100%;width:50px;height:50px;animation:1s cubic-bezier(.445,.1,.55,.9) infinite load-y;display:block;position:relative}@keyframes load-x{0%{left:-10px;transform:scale(1)}25%{z-index:2;transform:scale(1.5)}50%{left:60px;transform:scale(1)}75%{z-index:1;transform:scale(.5)}to{left:-10px;transform:scale(1)}}@keyframes load-y{0%{right:-10px;transform:scale(1)}25%{transform:scale(.5)}50%{z-index:1;right:60px;transform:scale(1)}75%{z-index:2;transform:scale(1.5)}to{right:-10px;transform:scale(1)}}#loader p{text-align:center;color:#096352;animation:2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.loaded #loader-wrapper .loader-section.section-left{transition:all .7s cubic-bezier(.645,.045,.355,1) .3s;transform:translateY(-100%)}.loaded #loader-wrapper .loader-section.section-right{transition:all .7s cubic-bezier(.645,.045,.355,1) .3s;transform:translateY(100%)}.loaded #loader{opacity:0;transition:all .3s ease-out}.loaded #loader-wrapper{visibility:hidden;transition:all .3s ease-out 1s;transform:translate(-100%)}.removed-view{display:none}.preload *{transition:none!important}.wrapper{position:absolute;inset:0}.uploader-name{color:#fff;background-color:#000;padding:2px 10px 3px;position:absolute;bottom:0;left:0}.label-font{font-family:DM Serif Display;font-weight:300}.button-jf-style{background-color:var(--pop-color);border-color:var(--pop-color);color:#fff;border-radius:.375rem}.button-jf-style:hover{background-color:var(--hover-color);border-color:var(--hover-color);color:#fff}.delete-color{background-color:var(--delete-color);border-color:var(--delete-color)}.delete-color:hover{background-color:var(--delete-hover-color);border-color:var(--delete-hover-color)}.toast-decreased-font-size{max-width:260px;font-size:.7rem;margin-bottom:5px!important}.toast-body-decreased-padding{padding:.5rem}.success-color{color:green}.error-color{color:#8b0000}.slideshow-container{z-index:100000;background:#000000f2;width:100vw;height:100vh;display:none;position:fixed;top:0;left:0}.slideshow-container.active{display:block}.slide{justify-content:center;align-items:center;width:100%;height:100%;display:none;position:relative}.slide.active{animation:.7s ease-in-out fadeIn;display:flex}.slide img{object-fit:contain;max-width:100%;max-height:100%}.slide-counter{color:#fff;backdrop-filter:blur(10px);z-index:100001;background:#000000e6;border-radius:25px;padding:10px 20px;font-size:1.2rem;position:absolute;top:20px;left:20px}.slide-author{color:#fff;backdrop-filter:blur(10px);z-index:100001;background:#000000e6;border-radius:25px;padding:10px 20px;font-size:1.2rem;position:absolute;top:80px;left:20px}.slide-loading{color:#fff;backdrop-filter:blur(10px);z-index:100001;background:#000000e6;border-radius:25px;padding:10px 20px;font-size:1.2rem;position:absolute;top:140px;left:20px}.blink{animation:1.5s linear infinite blinker}@keyframes blinker{50%{opacity:0}}.progress-bar{background:var(--pop-color);z-index:100001;border-radius:2px;width:0%;height:12px;position:absolute;bottom:0;left:0}@media (width<=768px){.progress-bar{height:24px}}.close-btn{color:#fff;cursor:pointer;backdrop-filter:blur(10px);z-index:100001;background:#fff3;border:none;border-radius:50%;width:50px;height:50px;font-size:1.5rem;transition:all .3s;position:absolute;top:20px;right:20px}.close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.nav-btn{color:#fff;cursor:pointer;backdrop-filter:blur(10px);z-index:100001;background:#fff3;border:none;border-radius:50%;width:60px;height:60px;font-size:1.5rem;transition:all .3s;position:absolute;top:50%;transform:translateY(-50%)}.nav-btn:disabled{color:#696969}.nav-btn:hover{background:#ffffff4d;transform:translateY(-50%)scale(1.1)}.prev-btn{left:20px}.next-btn{right:20px}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.controls{margin-top:20px}@media (width<=768px){.nav-btn{width:50px;height:50px;font-size:1.2rem}}.alert-warning{border-color:var(--warning-color);background-color:#fff;color:var(--warning-color)!important}.main-layout{grid-template-columns:1fr 2fr;gap:30px;margin-bottom:30px;display:grid}.gallery-section{background:#fff;border-radius:15px;flex-direction:column;min-height:100%;max-height:500px;padding:20px;display:flex;box-shadow:0 10px 30px #0003}.gallery-section h2{color:var(--pop-color);flex-shrink:0;margin-bottom:15px}@media (width<=768px){.gallery-section{min-height:450px}}.gallery-scroll-container{flex:1;margin-bottom:10px;padding-right:10px;overflow-y:auto}.gallery-scroll-container::-webkit-scrollbar{width:8px}.gallery-scroll-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.gallery-scroll-container::-webkit-scrollbar-thumb{background:var(--pop-color);border-radius:10px}.gallery-scroll-container::-webkit-scrollbar-thumb:hover{background:#085d4d}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;padding:4px;display:grid}.gallery-item{aspect-ratio:1;cursor:pointer;border-radius:8px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.gallery-item:hover{transform:scale(1.05);box-shadow:0 5px 15px #0000004d}.gallery-item.selected{box-shadow:0 0 0 3px var(--pop-color)}.gallery-item.selected:after{content:"✓";background:var(--pop-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:5px;font-weight:700;display:flex;position:absolute;top:5px;right:5px}.gallery-item img{object-fit:cover;width:100%;height:100%}.gallery-controls{border-top:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.selected-count{color:#666;font-size:14px}.btn-clear{color:#333;cursor:pointer;background:#e0e0e0;border:none;border-radius:.375rem;padding:8px 16px;font-size:14px;transition:background .3s}.btn-clear:hover{background:#d0d0d0}.btn-share{background:#f3b33d;border-color:#f3b33d;font-weight:600;color:#000!important}.btn-download{color:#fff;background:#2694f5;border-color:#2694f5;font-weight:600}.preview-section{background:#fff;border-radius:15px;padding:20px;box-shadow:0 10px 30px #0003}.template-selector{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.template-btn{border:2px solid var(--pop-color);color:var(--pop-color);cursor:pointer;background:#fff;border-radius:.375rem;padding:10px 20px;font-size:14px;transition:all .3s}.template-btn:hover,.template-btn.active{background:var(--pop-color);color:#fff}.customization{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px;display:grid}.customization label{color:#555;margin-bottom:5px;font-weight:700;display:block}.customization input{border:1px solid #ddd;border-radius:5px;width:100%;padding:8px;font-family:Georgia,serif}.canvas-container{background:#f9f9f9;border-radius:10px;flex-direction:column;align-items:center;width:100%;max-width:100%;min-height:200px;margin:0 auto 20px;padding:10px;display:flex;position:relative}#photoCanvas{cursor:move;border-radius:5px;max-width:100%;height:auto;display:block;box-shadow:0 5px 15px #0000001a}.crop-info{text-align:center;color:#666;margin-top:5px;font-size:.9rem;font-style:italic}.action-buttons{justify-content:center;gap:15px;display:flex}@media (width<=768px){.main-layout{grid-template-columns:1fr;gap:20px}.gallery-section{order:2;max-height:300px}.preview-section{order:1}.canvas-container{max-width:100%;padding:5px}.customization{grid-template-columns:1fr;gap:10px}.template-selector{justify-content:center}.template-btn{padding:8px 16px;font-size:12px}.action-buttons{flex-direction:column;gap:10px}h1{margin-bottom:20px;font-size:1.8em}}