.ga-grid{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.ga-item{border:2px solid #ddd;cursor:pointer;background:#fff}
.ga-item img{width:100%;height:80px;object-fit:cover}
.ga-item input{display:none}
.ga-item.selected{border:3px solid green}
.ga-item span{font-weight:bold;display:block;text-align:center}
.ga-total-wrap{color:#fff;font-size:22px;margin-bottom:10px}
#grave_progress{display:flex;justify-content:center;margin-bottom:15px}
.step{width:35px;height:35px;border-radius:50%;background:#fff;color:#000;display:flex;align-items:center;justify-content:center}
.step.active{background:#28a745;color:#fff}
.line{width:50px;height:4px;background:#ccc;margin:0 10px}
.gms-field label{color:#fff;margin:10px 0 8px 0;display:block}
form.cart{display:flex !important;align-items:center;gap:10px;flex-wrap:wrap}
#grave_back{display:none;background:#fff;color:#000;border:none;padding:10px 15px;cursor:pointer;border-radius:20px;order:1}
.single_add_to_cart_button{order:2}

.grave-preview-stage{position:relative;width:100%;max-width:420px}
.grave-preview-stage img{display:block;width:100%;height:auto}
.grave-text-preview{position:absolute;inset:0;z-index:99;pointer-events:none}
.grave-text-inner{position:absolute;box-sizing:border-box}
.grave-text-inner > div{display:block;width:100%;box-sizing:border-box;margin:0;padding:0;color:inherit;word-break:break-word;overflow-wrap:break-word}
#grave_name{font-weight:700;text-transform:uppercase;line-height:1.1}
#grave_birth,#grave_death,#grave_gender{line-height:1.2}
#grave_quote{line-height:1.3}

.gms-memorial-preview{position:relative;width:100%;max-width:420px;display:inline-block}
.gms-memorial-image{display:block;width:100%;height:auto}
.gms-memorial-text{position:absolute;z-index:9;pointer-events:none;box-sizing:border-box}
.gms-memorial-text > div{width:100%;margin:0;padding:0;word-break:break-word;overflow-wrap:break-word;color:inherit}
.gms-name{font-weight:700;line-height:1.1}
.gms-birth,.gms-death,.gms-gender{line-height:1.2}
.gms-quote{line-height:1.3}

#memorialPopup{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:9999}
.popup-content{background:#fff;padding:20px;border-radius:10px;width:320px;text-align:center;position:relative}
#closeMemorialPopup{position:absolute;top:10px;right:15px;cursor:pointer;font-size:20px}
.memorial-gallery{display:flex;flex-wrap:wrap;gap:10px}
.memorial-item-wrapper{width:23%;position:relative}
.memorial-item{width:100%;border-radius:10px;cursor:pointer}
.edit-media-btn{width:100%;margin-top:5px;background:orange;color:#fff;border:none;padding:5px;cursor:pointer}
.grave-addon-preview{position:absolute;z-index:8;pointer-events:none;}
.grave-addon-preview img{display:block;max-width:100%;height:auto;}
.grave-addon-flower{left:2%;bottom:4%;width:22%;}
.grave-addon-lamp{right:2%;bottom:4%;width:14%;}
div#grave_step2 .grave-preview-stage {display: none !important;}

.grave-preview-stage{position:relative;}
.gms-preview-loader{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.25);z-index:120;pointer-events:none;}
.gms-preview-loader:after{content:"";width:34px;height:34px;border:4px solid rgba(255,255,255,.6);border-top-color:#111;border-radius:50%;animation:gmsSpin .7s linear infinite;}
@keyframes gmsSpin{to{transform:rotate(360deg);}}