/* Split Modal — "Classic Trattoria" look (all colors & fonts editable per modal) */
.splm{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s ease}
.splm.is-open{visibility:visible;opacity:1}
.splm *,.splm *::before,.splm *::after{box-sizing:border-box}
.splm__overlay{position:absolute;inset:0;background:rgba(20,14,10,.62)}
.splm__dialog{position:relative;display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:var(--splm-width,860px);min-height:440px;max-height:calc(100vh - 40px);background:var(--splm-bg,#fbf6ee);color:var(--splm-text,#3a2b22);border-radius:6px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:translateY(16px) scale(.98);transition:transform .25s ease;outline:none}
.splm.is-open .splm__dialog{transform:none}
.splm--no-photo .splm__dialog{grid-template-columns:1fr;min-height:0;max-width:min(var(--splm-width,860px),560px)}
.splm--photo-right .splm__media{order:2}

.splm__media{position:relative;min-height:300px;background:#e9dfd2}
.splm__media .splm__img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:var(--splm-focus,center);margin:0;border-radius:0}

.splm__body{padding:48px 44px;overflow-y:auto;display:flex;flex-direction:column;justify-content:center}
.splm--fonts .splm__body{font-family:var(--splm-bfont,inherit),system-ui,-apple-system,"Segoe UI",sans-serif}
.splm .splm__eyebrow{margin:0 0 12px!important;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:var(--splm-eyebrow,#9b2a1f)}
.splm .splm__title{margin:0 0 14px;padding:0;font-size:40px;line-height:1.1;font-weight:600;font-style:normal;color:var(--splm-heading,#3a2b22);letter-spacing:normal;text-transform:none}
.splm--fonts .splm__title{font-family:var(--splm-hfont,inherit),Georgia,serif}
.splm__rule{width:56px;height:2px;background:var(--splm-eyebrow,#9b2a1f);margin:4px 0 18px}
.splm__content{font-size:15px;line-height:1.6;color:var(--splm-text,#3a2b22);opacity:.88}
.splm__content>*:first-child{margin-top:0}
.splm__content>*:last-child{margin-bottom:0}
.splm__content p{margin:0 0 12px}
.splm__content a{color:var(--splm-accent,#9b2a1f)}
.splm__content img{max-width:100%;height:auto}

.splm__ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.splm a.splm__btn,.splm button.splm__btn{display:inline-block;padding:13px 24px;border-radius:3px;background:var(--splm-accent,#9b2a1f);color:#fff;font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;letter-spacing:normal;text-transform:none;text-decoration:none;border:0;box-shadow:none;transition:filter .2s,background .2s,color .2s}
.splm a.splm__btn:hover,.splm a.splm__btn:focus-visible{filter:brightness(1.12);color:#fff}
.splm a.splm__btn--ghost{background:transparent;color:var(--splm-accent,#9b2a1f);box-shadow:inset 0 0 0 1.5px var(--splm-accent,#9b2a1f)}
.splm a.splm__btn--ghost:hover,.splm a.splm__btn--ghost:focus-visible{background:var(--splm-accent,#9b2a1f);color:#fff;filter:none}
.splm button.splm__btn.splm__btn--close{background:transparent;color:inherit;opacity:.7;padding:13px 8px;box-shadow:none;cursor:pointer;margin:0;min-height:0;text-decoration:underline;text-underline-offset:3px}
.splm button.splm__btn.splm__btn--close:hover,.splm button.splm__btn.splm__btn--close:focus-visible{opacity:1;background:transparent;color:inherit;filter:none}

.splm button.splm__close{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;min-height:0;padding:0;margin:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#fff;color:var(--splm-text,#3a2b22);font:400 26px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.splm button.splm__close:hover{background:var(--splm-accent,#9b2a1f);color:#fff}
.splm a:focus-visible,.splm button:focus-visible{outline:2px solid var(--splm-accent,#9b2a1f);outline-offset:2px}

html.splm-lock,html.splm-lock body{overflow:hidden!important}

@media (max-width:767px){
	.splm{padding:16px}
	.splm__dialog{grid-template-columns:1fr;min-height:0;max-height:calc(100vh - 32px);overflow-y:auto}
	.splm--photo-right .splm__media{order:0}
	.splm__media{min-height:0;aspect-ratio:4/3}
	.splm__body{padding:26px 22px;overflow:visible}
	.splm .splm__title{font-size:28px}
}
@media (prefers-reduced-motion:reduce){.splm,.splm__dialog{transition:none}}
