#cvf-app .cvfg-gallery{display:block;order:9;width:100%;max-width:720px;margin:28px auto;padding:0;border:0;background:none;box-shadow:none;font-family:var(--template-subtitle-font,Arial,sans-serif)}
#cvf-app.cvf-template-casamento-praia .cvfg-gallery{order:2}
.cvfg-gallery *,.cvfg-dialog *,.cvfg-editor *{box-sizing:border-box}
.cvfg-viewport{position:relative;overflow:hidden;width:100%;aspect-ratio:1;touch-action:pan-y}
.cvfg-track{position:absolute;top:0;left:0;display:flex;height:100%;will-change:transform}
#cvf-app .cvfg-gallery .cvfg-slide{position:relative;flex-shrink:0;display:block;height:100%;padding:0;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;cursor:grab;touch-action:pan-y;color:#242820}
.cvfg-image{display:block;width:100%;height:100%;position:relative;overflow:hidden;pointer-events:none}
.cvfg-gallery img,.cvfg-crop-stage img{position:absolute;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;pointer-events:none;user-select:none;object-fit:cover}
#cvf-app .cvfg-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:10px;font:14px Arial,sans-serif;color:#242820}
#cvf-app .cvfg-controls span{background:#fffefa;color:#242820;padding:4px 10px;border-radius:12px}
#cvf-app .cvfg-controls button,.cvfg-dialog button,.cvfg-editor button{min-height:44px;border:1px solid #696962;background:#fffefa;color:#242820;box-shadow:none;padding:9px 13px;border-radius:7px;font:500 14px/1.3 Arial,sans-serif;cursor:pointer}
#cvf-app .cvfg-controls button{width:44px;border-radius:50%;font-size:28px;padding:0}
#cvf-app .cvfg-controls button[hidden]{display:none!important}
.cvfg-dialog{box-sizing:border-box;width:430px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:24px;border:0;border-radius:14px;background:#fffefa;color:#242820;font:14px/1.5 Arial,sans-serif}
.cvfg-dialog::backdrop{background:#10130ff0}.cvfg-dialog h2{font:500 24px/1.3 Arial,sans-serif;margin:0}.cvfg-dialog p{margin:8px 0 16px}
.cvfg-crop-stage{position:relative;width:min(100%,40dvh);aspect-ratio:1;overflow:hidden;background:transparent;touch-action:none;cursor:grab;margin:0 auto}
.cvfg-dialog label{display:block;margin-top:14px}.cvfg-dialog input{display:block;width:100%;min-height:30px;accent-color:#30442e}.cvfg-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.cvfg-actions button:last-child{background:#30442e;border-color:#30442e;color:#fff}
.cvfg-lightbox{width:fit-content;text-align:center;background:#151914;color:#fff}.cvfg-lightbox>img{position:static;display:block;max-width:calc(100vw - 80px);max-height:calc(100dvh - 160px);object-fit:contain;margin:auto}.cvfg-lightbox .cvfg-close{position:absolute;right:8px;top:8px;width:44px;font-size:24px;border-radius:50%}.cvfg-lightbox>div{display:flex;gap:20px;justify-content:center;align-items:center;margin-top:12px}.cvfg-lightbox>div button{width:44px;font-size:24px;border-radius:50%;padding:0}
.cvfg-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #ddd4e8}.cvfg-row>img{width:66px;height:66px;object-fit:cover;border-radius:6px}.cvfg-row strong{display:block;margin-bottom:6px}.cvfg-row-actions{display:flex;flex-wrap:wrap;gap:5px}.cvfg-editor button{padding:8px 10px}.cvfg-editor button:disabled{background:#f2f0f4;color:#655c6e;border-color:#807588;cursor:default}
.cvfg-add{position:relative;display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:16px;border:1px dashed #696962;border-radius:8px;background:#fffefa;color:#242820;padding:12px;font:500 14px Arial,sans-serif;cursor:pointer;overflow:hidden}.cvfg-add input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.cvfg-disabled{background:#f2f0f4;color:#655c6e;cursor:default}.cvfg-count{font-size:13px}.cvfg-editor [role=status]{color:#682a24;font-size:14px}
.cvfg-gallery button:focus-visible,.cvfg-dialog :is(button,input,div):focus-visible,.cvfg-editor :is(button,input,select):focus-visible{outline:3px solid #2469aa!important;outline-offset:3px}.cvfg-add:focus-within{outline:3px solid #2469aa;outline-offset:3px}
@media(min-width:900px){.cvfg-viewport{aspect-ratio:2}}
@media(prefers-reduced-motion:reduce){.cvfg-track{transition:none!important}}
.cvfg-track{width:100%}
#cvf-app .cvfg-gallery:not([data-ready]) .cvfg-slide{width:100%}
.cvfg-gallery:not([data-ready]) .cvfg-controls{display:none!important}
.cvfg-gallery:not([data-ready])[data-effect=gradient] .cvfg-image,.cvfm-photo[data-effect=gradient]{mask-image:linear-gradient(to bottom,transparent,#000 6px,#000 calc(100% - 6px),transparent),linear-gradient(to right,transparent,#000 6px,#000 calc(100% - 6px),transparent);mask-composite:intersect}
@media(min-width:900px){#cvf-app .cvfg-gallery.cvfg-has-multiple:not([data-ready]) .cvfg-slide{width:50%;padding-right:6px}#cvf-app .cvfg-gallery:not(.cvfg-has-multiple):not([data-ready]) .cvfg-viewport{aspect-ratio:1;max-width:354px;margin:auto}}

@media(min-width:900px){#cvf-app .cvfg-gallery:not(.cvfg-has-multiple){max-width:354px}}

.cvfg-gallery:not([data-ready])[data-effect=brush] .cvfg-image,.cvfm-photo[data-effect=brush]{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M0%201%20C210%201%20480%2032%201000%206%20L1000%201000%20C750%20997%20500%20974%200%201000Z%22/%3E%3C/svg%3E");mask-size:100% 100%}
/* Keep gallery controls legible over every invitation palette and custom color. */
#cvf-app#cvf-app#cvf-app.cvf-public-invite .cvfg-gallery .cvfg-controls :is(button,span){color:#242820!important;background:#fffefa!important;-webkit-text-fill-color:#242820!important;text-shadow:none!important;opacity:1!important}
#cvf-app#cvf-app#cvf-app.cvf-public-invite .cvfg-gallery .cvfg-controls button{border:1px solid #696962!important}
#cvf-app .cvfg-controls,#cvf-app .cvfg-controls button{font-family:var(--template-subtitle-font,Arial,sans-serif)}

#cvf-app .cvfg-editor select{border:1px solid #696962;background:#fffefa;color:#242820}

/* Venue uploads stay a single quiet button until a photo is selected. */
#cvf-app .cvfm-editor{margin:10px 0 16px}
#cvf-app .cvfm-editor .cvfg-add{display:inline-flex;width:auto;min-height:44px;margin:0;padding:9px 13px;border-style:solid}
#cvf-app .cvfm-editor [data-cvfg-status]:empty{display:none}
#cvf-app .cvfm-editor .cvfm-effect{margin-top:12px}
#cvf-app .cvfm-editor [hidden]{display:none!important}
#cvf-app .cvfm-editor .cvfg-row{border:0;padding:0 0 10px}
#cvf-app .cvfm-editor .cvfg-row>div{min-width:0}
#cvf-app .cvf-invite-schedule article>.cvfm-photo{display:block;position:relative;overflow:hidden;width:100%;max-width:420px;margin:14px auto 18px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;flex-shrink:0}
#cvf-app .cvf-invite-schedule .cvfm-photo>img{display:block;position:absolute;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:cover}

#cvf-app .cvfg-captions{display:grid;grid-template-columns:repeat(var(--cvfg-visible,1),minmax(0,1fr));gap:12px;margin-top:10px;color:var(--template-readable-text,var(--template-text,#252525))}
#cvf-app#cvf-app .cvfg-captions p{margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;font:400 14px/1.65 var(--template-subtitle-font,Georgia,serif)!important;color:inherit!important;overflow-wrap:anywhere;text-align:center;text-transform:none!important;letter-spacing:normal!important}
.cvfg-lightbox .cvfg-lightbox-caption{color:#fff;background:#151914;font:400 14px/1.65 Arial,sans-serif;margin:10px 0 0;overflow-wrap:anywhere}
