
/* Photography portfolio, deliberately separate from the original dark photobooth style */
.rpp-photography{--ph-bg:#fbf7f1;--ph-ink:#494038;--ph-soft:#f2e9dd;--ph-accent:#9e8070;background:var(--ph-bg);color:var(--ph-ink);font-family:Georgia,serif}
.rpp-photography.rpp-ph-couples{--ph-bg:#f8f2e9;--ph-ink:#514439;--ph-soft:#ede2d5;--ph-accent:#a16d58}
.rpp-photography.rpp-ph-realestate{--ph-bg:#f7f8f8;--ph-ink:#26333d;--ph-soft:#e8ebed;--ph-accent:#4b6b7c;font-family:Inter,Arial,sans-serif}
.rpp-photography h1,.rpp-photography h2{letter-spacing:-.035em;line-height:1.12;font-weight:500}
.rpp-ph-hero{padding:72px 0 65px;background:var(--ph-bg)}.rpp-ph-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:65px}.rpp-ph-eyebrow,.rpp-ph-section-kicker{color:var(--ph-accent);font:700 12px/1.5 Inter,Arial,sans-serif;letter-spacing:.24em}.rpp-ph-hero h1{font-size:clamp(43px,5vw,72px);margin:22px 0}.rpp-ph-hero h1 em{font-weight:400;color:var(--ph-accent)}.rpp-ph-hero p{font:400 clamp(17px,1.6vw,21px)/1.75 Inter,Arial,sans-serif;color:var(--ph-ink);opacity:.84;margin-bottom:30px}.rpp-ph-button{display:inline-flex;gap:25px;align-items:center;justify-content:center;padding:15px 26px;border-radius:999px;color:#fff;background:var(--ph-accent);text-decoration:none;font:700 13px/1.3 Inter,Arial,sans-serif;letter-spacing:.02em;transition:transform .2s,filter .2s}.rpp-ph-button:hover{transform:translateY(-2px);filter:brightness(.9)}.rpp-ph-hero-photo{aspect-ratio:4/4.3;overflow:hidden;border-radius:220px 220px 14px 14px;background:var(--ph-soft);box-shadow:0 20px 65px #483d3330}.rpp-ph-realestate .rpp-ph-hero-photo{aspect-ratio:4/3.2;border-radius:12px}.rpp-ph-hero-photo img{height:100%;width:100%;object-fit:cover}.rpp-ph-placeholder{width:100%;height:100%;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:22px;border:1px dashed #a89787;font:20px Georgia,serif}.rpp-ph-placeholder small{font:13px/1.6 Inter,Arial,sans-serif;max-width:230px}.rpp-ph-story{text-align:center;padding:80px 0;background:#fffdfa}.rpp-ph-realestate .rpp-ph-story{background:#fff}.rpp-ph-story .wrap{max-width:900px}.rpp-ph-story h2,.rpp-ph-gallery-section h2,.rpp-ph-videos h2,.rpp-ph-contact h2{font-size:clamp(34px,4vw,56px);margin:18px 0 24px}.rpp-ph-story-body{font:17px/1.85 Inter,Arial,sans-serif;color:var(--ph-ink);text-align:left}.rpp-ph-story-body p{margin:0 0 18px}.rpp-ph-gallery-section,.rpp-ph-videos{padding:85px 0;background:var(--ph-bg)}.rpp-ph-gallery-section .wrap,.rpp-ph-videos .wrap{text-align:center}.rpp-ph-gallery-section p,.rpp-ph-videos p{font:16px/1.8 Inter,Arial,sans-serif}.rpp-ph-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px;text-align:left}.rpp-ph-tile{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ph-soft);border-radius:10px;box-shadow:0 6px 25px #493d2a1e}.rpp-ph-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.rpp-ph-tile:hover img{transform:scale(1.04)}.rpp-ph-caption{position:absolute;bottom:0;left:0;right:0;padding:30px 12px 12px;background:linear-gradient(transparent,#0009);color:white;font:600 13px Inter,Arial,sans-serif}.rpp-ph-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#fff9;color:#39302c;font-size:26px}.rpp-ph-videos{background:#f1e7db}.rpp-ph-empty{padding:30px;border:1px dashed var(--ph-accent);border-radius:12px;opacity:.8}.rpp-ph-contact{padding:95px 0;text-align:center;background:var(--ph-soft)}.rpp-ph-contact p{font:17px/1.75 Inter,Arial,sans-serif;margin-bottom:28px}.rpp-ph-lightbox[hidden]{display:none!important}.rpp-ph-lightbox{position:fixed;inset:0;z-index:200000;background:#05080bef;display:flex;align-items:center;justify-content:center;padding:60px 30px 30px}.rpp-ph-stage{display:grid;place-items:center;max-width:95vw;max-height:85vh}.rpp-ph-stage img,.rpp-ph-stage video{display:block;max-width:95vw;max-height:85vh;width:auto;height:auto;box-shadow:0 18px 75px #0008}.rpp-ph-stage video{width:min(1100px,95vw)}.rpp-ph-close{position:absolute;top:12px;right:25px;border:0;background:transparent;color:#fff;font:42px Arial;cursor:pointer}
/* Menu dropdown visible above all hero content */
.site-header .menu .rpp-photo-menu{position:relative}.site-header .menu .rpp-photo-menu>.sub-menu{display:none;position:absolute;left:0;top:100%;min-width:215px;padding:12px;list-style:none;background:#101b2a;border:1px solid #344766;border-radius:10px;box-shadow:0 14px 40px #0008}.site-header .menu .rpp-photo-menu:hover>.sub-menu,.site-header .menu .rpp-photo-menu:focus-within>.sub-menu{display:block}.site-header .menu .rpp-photo-menu .sub-menu a{display:block;padding:9px 8px;color:#fff;text-decoration:none;font-size:13px}
@media(max-width:900px){.rpp-ph-hero-grid{gap:25px}.rpp-ph-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.rpp-ph-hero-grid{grid-template-columns:1fr}.rpp-ph-hero{padding:45px 0}.rpp-ph-hero-photo{max-height:490px;width:100%}.rpp-ph-gallery{gap:9px}.rpp-ph-story,.rpp-ph-gallery-section,.rpp-ph-videos,.rpp-ph-contact{padding:55px 0}.site-header .menu .rpp-photo-menu>.sub-menu{display:block;position:static;box-shadow:none;border:0;background:transparent;padding:5px 0 5px 12px}.site-header .menu .rpp-photo-menu .sub-menu a{font-size:15px}}
@media(max-width:480px){.rpp-ph-gallery{grid-template-columns:1fr 1fr}.rpp-ph-hero h1{font-size:40px}}

/* 3.6 Wedding enquiry form */
.rpp-wedding-form{max-width:900px;margin:35px auto 0;padding:clamp(22px,4vw,45px);border:1px solid #dcc6b7;background:#fffdfa;border-radius:18px;box-shadow:0 15px 45px #9e807015;text-align:left;font:15px/1.5 Inter,Arial,sans-serif}.rpp-wedding-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.rpp-wedding-form label{display:block;color:#594b43;font-weight:650;margin-bottom:19px}.rpp-wedding-form input:not([type=checkbox]),.rpp-wedding-form select,.rpp-wedding-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;border:1px solid #d7c6b9;border-radius:9px;background:#fff;color:#473d36;padding:13px 14px;font:16px Inter,Arial,sans-serif}.rpp-wedding-form input:focus,.rpp-wedding-form textarea:focus,.rpp-wedding-form select:focus{outline:2px solid #9e8070;outline-offset:1px}.rpp-wedding-form .rpp-wedding-consent{display:flex;align-items:flex-start;gap:12px;font-weight:400}.rpp-wedding-consent input{margin-top:4px;accent-color:#9e8070}.rpp-wedding-consent a{color:#745445;text-decoration:underline}.rpp-wedding-honey{position:absolute!important;left:-9999px!important;opacity:0!important}.rpp-wedding-small{font-size:12px!important;margin:12px 0 0!important;opacity:.8}.rpp-wedding-notice{padding:15px;background:#fff0ed;border:1px solid #b67660;border-radius:9px;margin:15px auto;max-width:900px}.rpp-wedding-success{background:#f1f7ec;border-color:#64865b}@media(max-width:650px){.rpp-wedding-fields{grid-template-columns:1fr}.rpp-wedding-form{padding:20px}}

/* 3.9: photography lightbox navigation; do not display uploaded filenames */
.rpp-ph-caption{display:none!important}
.rpp-ph-lightbox .rpp-ph-prev,.rpp-ph-lightbox .rpp-ph-next{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:62px;display:grid;place-items:center;z-index:3;border:1px solid #ffffff65;border-radius:30px;background:#27232bd9;color:white;font:48px/1 Georgia,serif;cursor:pointer;transition:background .2s}
.rpp-ph-lightbox .rpp-ph-prev{left:15px}
.rpp-ph-lightbox .rpp-ph-next{right:15px}
.rpp-ph-lightbox .rpp-ph-prev:hover,.rpp-ph-lightbox .rpp-ph-next:hover{background:#896e60}
.rpp-ph-lightbox button[hidden]{display:none!important}
.rpp-ph-count{position:absolute;bottom:13px;left:0;right:0;text-align:center;color:#fff;font:14px/1.5 Arial,sans-serif;letter-spacing:.1em;pointer-events:none}
.rpp-ph-lightbox .rpp-ph-stage{max-width:calc(100vw - 170px)}
.rpp-ph-lightbox .rpp-ph-stage img,.rpp-ph-lightbox .rpp-ph-stage video{max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain}
@media(max-width:600px){.rpp-ph-lightbox{padding:55px 36px 42px}.rpp-ph-lightbox .rpp-ph-prev,.rpp-ph-lightbox .rpp-ph-next{width:34px;height:48px;font-size:32px}.rpp-ph-lightbox .rpp-ph-prev{left:3px}.rpp-ph-lightbox .rpp-ph-next{right:3px}.rpp-ph-lightbox .rpp-ph-stage{max-width:calc(100vw - 80px)}}

/* 3.9.1: Einheitlich grosse Vorschaubilder fuer alle Foto-Formate. */
.rpp-ph-gallery{align-items:start}
.rpp-ph-gallery .rpp-ph-tile{width:100%;aspect-ratio:4/3;min-width:0}
.rpp-ph-gallery .rpp-ph-tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
