/* Photo prints carousel (design C4, App\Services\PhotoPrints): printed photos on a cream table, the front one larger
   with a handwritten caption; the one before leans left behind it, the next leans right. */
.cms-prints-sec { background: #f7f2ea !important; border-left-width: 0 !important; border-right-width: 0 !important; }
.cms-prints-sec .elementor-widget-text-editor p { color: #333; }
.cms-prints { position: relative; width: 100%; max-width: 620px; margin: 0 auto; outline: 0; }
.cms-prints__table { position: relative; height: clamp(360px, 46vw, 520px); }
.cms-print { position: absolute; left: 50%; top: 50%; width: min(58%, 320px); margin: 0; padding: 12px 12px 54px; background: #fff;
    box-shadow: 0 10px 26px rgba(40, 30, 20, .16); transform: translate(-50%, -50%) rotate(0deg) scale(.9); opacity: 0; z-index: 1;
    transition: transform .6s cubic-bezier(.2, .8, .2, 1), opacity .5s, box-shadow .4s; cursor: pointer; user-select: none; }
.cms-print.is-front { opacity: 1; z-index: 3; transform: translate(-50%, -48%) rotate(-1.5deg) scale(1); box-shadow: 0 22px 44px rgba(40, 30, 20, .26); }
.cms-print.is-prev { opacity: 1; z-index: 2; transform: translate(-96%, -55%) rotate(-8deg) scale(.86); }
.cms-print.is-next { opacity: 1; z-index: 2; transform: translate(-6%, -58%) rotate(7deg) scale(.86); }
.cms-print__pic { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #e9e2d6; }
.cms-print__pic img, .cms-print__pic video, .cms-print__pic iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.cms-print figcaption { position: absolute; left: 10px; right: 10px; bottom: 12px; overflow: hidden; text-align: center; white-space: nowrap; text-overflow: ellipsis;
    font: 400 clamp(19px, 2vw, 25px)/1.1 'Caveat', 'Segoe Script', 'Brush Script MT', cursive; color: #4a3a2a; }
.cms-print__tag { position: absolute; left: 10px; top: 10px; z-index: 1; padding: 4px 9px; border-radius: 6px; background: rgba(0, 0, 0, .6); color: #fff;
    font: 700 11px/1 var(--ms-font-body, Jost, sans-serif); letter-spacing: .02em; }
.cms-print__tag.is-yt { background: #ff0033; }
.cms-print__play { position: absolute; left: 50%; top: 50%; z-index: 1; width: 62px; height: 62px; margin: -31px 0 0 -31px; border: 0; border-radius: 50%;
    background: rgba(255, 255, 255, .94); box-shadow: 0 6px 18px rgba(0, 0, 0, .3); cursor: pointer; transition: transform .2s; }
.cms-print__play span { display: block; width: 0; height: 0; margin-left: 24px; border-left: 18px solid var(--ms-btn-bg, #01433f); border-top: 11px solid transparent; border-bottom: 11px solid transparent; }
.cms-print__play:hover { transform: scale(1.08); }
.cms-print:not(.is-front) .cms-print__play, .cms-print.is-playing .cms-print__play, .cms-print.is-playing .cms-print__tag { display: none; }
.cms-prints__nav { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 10px; }
.cms-prints__arrow { width: 44px; height: 44px; border: 1px solid #d6cfc3; border-radius: 50%; background: #fff; color: #1c2523; font-size: 22px; line-height: 1; cursor: pointer; }
.cms-prints__arrow.is-next { border-color: var(--ms-btn-bg, #01433f); background: var(--ms-btn-bg, #01433f); color: var(--ms-btn-fg, #fff); }
.cms-prints__arrow:hover { filter: brightness(1.08); }
.cms-prints__count { min-width: 52px; text-align: center; font: 600 13px var(--ms-font-body, Jost, sans-serif); color: #6b5d4f; }
@media (max-width: 767px) {
    .cms-print { width: 64%; }
    .cms-print.is-prev { transform: translate(-82%, -54%) rotate(-7deg) scale(.82); }
    .cms-print.is-next { transform: translate(-18%, -56%) rotate(6deg) scale(.82); }
}
@media (prefers-reduced-motion: reduce) { .cms-print { transition: opacity .2s; } }
