/* v123: extra pentru invitați (hartă, calendar, numărătoare) și pentru editor (progres, scris, texte gata scrise, telefon). */

/* ---------- În invitație: adresa și ilustrația se deschid pe hartă, fără pictograme sau sublinieri. */
.sf-map{cursor:pointer;transition:opacity .2s ease,transform .25s ease;-webkit-tap-highlight-color:transparent}
.sf-map:hover{opacity:.72}
img.sf-map:hover{opacity:1;transform:scale(1.04)}
.sf-map:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}

.sf-extras{display:flex;flex-direction:column;align-items:center;gap:10px;margin:14px auto 18px;text-align:center}
.sf-extras[data-al=left]{align-items:flex-start;text-align:left;margin-left:0}
.sf-extras[data-al=right]{align-items:flex-end;text-align:right;margin-right:0}
.sf-countdown{margin:0;font:600 11px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;opacity:.82}
.sf-cal{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 16px;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 38%,transparent);border-radius:30px;background:transparent;color:inherit;font:600 10px/1 'DM Sans',Arial,sans-serif;letter-spacing:1.6px;text-transform:uppercase;cursor:pointer;transition:background .2s ease}
.sf-cal:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.sf-cal:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Meniul de alegere: Google Maps / Waze / calendar. Pe telefon, de jos. */
.sf-menu{position:fixed;z-index:2147483000;min-width:230px;max-width:calc(100vw - 24px);padding:10px;border:1px solid #e6dfd4;border-radius:16px;background:#fffdfa;box-shadow:0 18px 44px #2a1d1238;color:#39332e;font:15px/1.3 'DM Sans',Arial,sans-serif;text-align:left;animation:sf-menu-in .16s ease-out}
.sf-menu-title{margin:4px 10px 8px;font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:#805345}
.sf-menu-item{display:block;padding:12px 12px;border-radius:10px;color:#39332e;font-weight:600;text-decoration:none}
.sf-menu-item:hover,.sf-menu-item:focus-visible{background:#f6efe7;outline:none}
.sf-menu-close{display:block;width:100%;margin-top:4px;padding:10px;border:0;border-radius:10px;background:transparent;color:#867365;font:600 13px 'DM Sans',Arial,sans-serif;cursor:pointer}
.sf-menu.sf-sheet{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));top:auto;max-width:none;padding:12px;animation-name:sf-sheet-in}
.sf-menu.sf-sheet .sf-menu-item{padding:15px 14px;font-size:16px}
@keyframes sf-menu-in{from{opacity:0;transform:translateY(-4px)}}
@keyframes sf-sheet-in{from{opacity:0;transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){.sf-menu{animation:none}.sf-map{transition:none}}

/* ---------- Editor: progresul și starea fiecărei secțiuni. */
.setup-progress{margin:0 0 14px;padding:16px 18px;border:1px solid #dfcdbd;border-radius:12px;background:#fffaf5}
.setup-progress .sp-bar{height:6px;border-radius:6px;background:#eadbcf;overflow:hidden}
.setup-progress .sp-bar i{display:block;height:100%;width:0;border-radius:6px;background:#805345;transition:width .45s ease}
.setup-progress p{margin:12px 0 2px;font-size:14px;line-height:1.5;color:#5b4a3f}
.setup-progress p strong{color:#805345}
.setup-progress small{font-size:12px;color:#867365}
.setup-progress.is-ready{border-color:#cdb9a6;background:#fbf4ec}

.setup-status{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:10px;border-radius:50%;vertical-align:-3px;box-sizing:border-box;border:1.5px solid #d9cabb;background:#fff;transition:background .2s ease,border-color .2s ease}
.setup-status[data-state=done]{border-color:#805345;background:#805345}
.setup-status[data-state=done]:before{content:'';width:5px;height:9px;margin-top:-2px;border:solid #fffaf5;border-width:0 2px 2px 0;transform:rotate(45deg)}
.setup-status[data-state=todo]{border-color:#c98a3c;background:#fbeedc}
.setup-status[data-state=todo]:before{content:'';width:6px;height:6px;border-radius:50%;background:#c98a3c}
.setup-section>summary .setup-summary-text{padding-left:28px}

/* ---------- Editor: scrisul invitației. */
.sf-fonts{margin:0 0 16px;padding:0;border:0;min-width:0}
.sf-fonts legend{margin:0 0 8px;padding:0;font-size:13px;font-weight:600;color:#5b4a3f}
.sf-font-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.sf-font{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px 9px;border:1px solid #e0d2c5;border-radius:12px;background:#fff;cursor:pointer;text-align:center;transition:border-color .2s ease,box-shadow .2s ease}
.sf-font input{position:absolute;opacity:0;pointer-events:none}
.sf-font-sample{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Georgia,serif;font-size:21px;line-height:1.2;color:#39332e;overflow-wrap:anywhere;min-height:2.4em;align-content:center}
.sf-fonts:last-of-type .sf-font-sample{font-size:15px;line-height:1.35;min-height:2.7em}
.sf-font small{font-size:11px;color:#867365}
.sf-font:hover{border-color:#c9b29e}
.sf-font:has(input:checked){border-color:#805345;box-shadow:0 0 0 2px #8053452e;background:#fffaf5}
.sf-font:has(input:checked) small{color:#805345;font-weight:600}
.sf-font:has(input:focus-visible){outline:2px solid #805345;outline-offset:2px}

/* ---------- Editor: texte gata scrise. */
.sf-texts{margin-top:-2px}
.sf-texts-list{display:grid;gap:8px;margin-top:10px}
.sf-text{display:block;width:100%;padding:12px 14px;border:1px solid #e6dfd4;border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.sf-text small{display:block;margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#805345}
.sf-text span{display:block;font-size:14px;line-height:1.55;color:#4b4038}
.sf-text:hover,.sf-text:focus-visible{border-color:#805345;background:#fffaf5;outline:none}
.sf-texts-undo{margin:8px 0 0}

/* ---------- Editor: pentru invitați. */
.sf-guest-notes{margin:12px 0 0;padding:0;list-style:none}
.sf-guest-notes li{padding:8px 0;border-top:1px solid #f0e6dc;font-size:14px;line-height:1.55;color:#6b5b50}
.sf-guest-notes strong{color:#5b4a3f}

/* ---------- Editor: previzualizarea într-un telefon, cu buton pentru deschiderea animată. */
.pv-replay{white-space:nowrap;display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 13px;border:0;border-radius:30px;background:#805345;color:#fffaf5;font:600 11px/1 'DM Sans',Arial,sans-serif;letter-spacing:.4px;cursor:pointer;transition:background .2s ease}
.pv-replay:before{content:'';width:0;height:0;border-style:solid;border-width:4.5px 0 4.5px 7px;border-color:transparent transparent transparent currentColor}
.pv-replay:hover{background:#654035}
.preview-top{align-items:center}
@media(min-width:1100px){
 .editorgrid:has(.setup-section){grid-template-columns:minmax(0,1fr) 452px}
}
@media(max-width:1099px){.preview-top>span{font-size:10px}}
@media(min-width:1100px){
 .editorgrid:has(.setup-section) .preview-area{max-width:452px;width:100%;margin-inline:auto;padding:0 10px 12px;border:10px solid #2e2724;border-radius:46px;background:#fffaf5;box-shadow:0 24px 50px #2a1d1233,inset 0 0 0 1px #00000014;box-sizing:border-box}
 .editorgrid:has(.setup-section) .preview-area .preview-top{padding:28px 6px 12px;background:#fffaf5}
 .editorgrid:has(.setup-section) .preview-area .preview-top:before{content:'';position:absolute;left:50%;top:0;width:96px;height:22px;transform:translateX(-50%);border-radius:0 0 14px 14px;background:#2e2724}
 .editorgrid:has(.setup-section) .preview-foot{font-size:12px}
}

/* ---------- v124: secțiuni comasate (subtitluri pentru fiecare parte) și opțiuni pliate. */
.setup-section .setup-sub{margin:0 0 12px;font:700 11px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:#805345}
.setup-section>.panel+.panel{border-top:1px solid #f0e3d8}
.setup-more{margin-top:12px;border-top:1px dashed #e6d6c8;padding-top:10px}
.setup-more>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:#805345}
.setup-more>summary::-webkit-details-marker{display:none}
.setup-more>summary:after{content:'+';font-size:16px;line-height:1}
.setup-more[open]>summary:after{content:'−'}
.setup-more>.location-options{margin-top:10px}
