/* =========================================================================
   Rummel Art – Frontend Styles (Dark / Gold / Vintage Tattoo)
   ====================================================================== */

.rummel-site{
	--ra-bg:#e8e8e6;
	--ra-bg-2:#f4f4f2;
	--ra-bg-3:#dededc;
	--ra-paper:#2e2e2e;
	--ra-gold:#cfa86a;
	--ra-gold-2:#b08d4f;
	--ra-text:#2e2e2e;
	--ra-muted:#7a7a71;
	--ra-line:#d3d3d0;
	--ra-serif:'Cinzel',Georgia,'Times New Roman',serif;
	--ra-body:'EB Garamond',Georgia,serif;
	color:var(--ra-text);
	font-family:var(--ra-body);
	font-size:18px;
	line-height:1.6;
	background:var(--ra-bg);
}
.rummel-site *{box-sizing:border-box;}
.rummel-site img{max-width:100%;display:block;}
.rummel-site button{-webkit-appearance:none;appearance:none;font-family:inherit;}
.rummel-site{overflow-x:hidden;}
.ra-h2,.ra-h3,.ra-panel-title,.ra-pagehero h1,.ra-legal h2,.ra-eyebrow,.ra-faq__item summary{overflow-wrap:break-word;word-break:break-word;hyphens:auto;}
.ra-hero__title{overflow-wrap:break-word;word-break:normal;hyphens:manual;-webkit-hyphens:manual;}
.ra-btn{white-space:normal;}

/* Austauschbare Bild-Platzhalter */
.ra-ph{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;
	border:1px dashed var(--ra-gold-2);border-radius:4px;
	background:repeating-linear-gradient(45deg,#ececea,#ececea 12px,#ececea 12px,#ececea 24px);
	color:var(--ra-muted);padding:18px;width:100%;height:100%;min-height:160px;
}
.ra-ph__tag{font-family:var(--ra-serif);letter-spacing:3px;text-transform:uppercase;font-size:12px;color:var(--ra-gold);border:1px solid var(--ra-gold-2);border-radius:20px;padding:4px 12px;}
.ra-ph__label{font-family:var(--ra-serif);font-size:15px;color:var(--ra-paper);letter-spacing:1px;}
.ra-ph__dims{font-size:12px;color:#7a7a71;}
.ra-media{box-shadow:0 18px 40px rgba(0,0,0,.4);}

/* Canvas-Template: kein Theme-Header, eigener Hintergrund */
body.rummel-canvas{margin:0;padding:0;background:var(--ra-bg,#e8e8e6);overflow-x:hidden;}

/* ---------- TOP-NAVIGATION ---------- */
.ra-topnav{
	position:sticky;top:0;z-index:50;
	background:rgba(238,238,236,.92);
	backdrop-filter:blur(6px);
	border-bottom:1px solid var(--ra-line);
}
.ra-topnav__inner{
	max-width:1180px;margin:0 auto;padding:14px 24px;
	display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.ra-brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.05;}
.ra-brand__name{font-family:var(--ra-serif);font-weight:700;font-size:24px;letter-spacing:3px;color:var(--ra-gold);}
.ra-brand__sub{font-family:var(--ra-serif);font-size:10px;letter-spacing:5px;color:var(--ra-muted);}
.ra-nav{display:flex;align-items:center;gap:26px;}
.ra-nav a{
	font-family:var(--ra-serif);font-size:13px;letter-spacing:2px;text-transform:uppercase;
	color:var(--ra-text);text-decoration:none;transition:.2s;
}
.ra-nav a:hover{color:var(--ra-gold);}
.ra-nav__cta{
	border:1px solid var(--ra-gold-2);padding:10px 18px;color:var(--ra-gold)!important;border-radius:2px;
}
.ra-nav__cta:hover{background:var(--ra-gold);color:#1a140c!important;}
.ra-burger{display:none!important;background:none;border:0;color:var(--ra-gold);font-size:26px;cursor:pointer;line-height:1;box-shadow:none;}

@media(max-width:860px){
	.ra-burger{display:block!important;}
	.ra-nav{
		display:none;position:absolute;top:100%;left:0;right:0;
		flex-direction:column;align-items:flex-start;gap:0;
		background:rgba(240,240,238,.98);border-bottom:1px solid var(--ra-line);padding:8px 24px 18px;
	}
	.ra-topnav.is-open .ra-nav{display:flex;}
	.ra-nav a{padding:12px 0;width:100%;border-bottom:1px solid #e5e5e2;}
	.ra-nav__cta{margin-top:10px;text-align:center;}
}

/* Full-bleed: aus dem Theme-Container ausbrechen */
.rummel-site{
	width:100vw;
	position:relative;
	left:50%;
	right:50%;
	margin-left:-50vw;
	margin-right:-50vw;
}

.ra-eyebrow{
	font-family:var(--ra-serif);
	letter-spacing:4px;
	font-size:12px;
	color:var(--ra-gold);
	text-transform:uppercase;
	margin:0 0 14px;
}
.ra-center{text-align:center;}
.ra-h2{
	font-family:var(--ra-serif);
	font-weight:700;
	color:var(--ra-paper);
	font-size:clamp(28px,4vw,46px);
	line-height:1.15;
	margin:0 0 20px;
	text-transform:uppercase;
	letter-spacing:1px;
}

/* Buttons */
.ra-btn{
	display:inline-block;
	font-family:var(--ra-serif);
	font-size:14px;
	letter-spacing:2px;
	text-transform:uppercase;
	padding:16px 30px;
	text-decoration:none;
	cursor:pointer;
	border:1px solid var(--ra-gold-2);
	transition:.25s;
	line-height:1;
}
.ra-btn--gold{background:linear-gradient(180deg,#d8b274,#b78f4d);color:#1a140c;border-color:#d8b274;}
.ra-btn--gold:hover{background:linear-gradient(180deg,#e6c486,#c79b58);color:#000;}
.ra-btn--outline{background:transparent;color:var(--ra-gold);}
.ra-btn--outline:hover{background:var(--ra-gold);color:#1a140c;}
.ra-btn:disabled{opacity:.4;cursor:not-allowed;}

/* ---------- HERO ---------- */
.ra-hero{
	position:relative;
	background:
		radial-gradient(120% 90% at 80% 30%, rgba(207,168,106,.18), transparent 55%),
		linear-gradient(180deg,#d6d6d3 0%,#ececea 60%,#e8e8e6 100%);
	padding:90px 24px 110px;
	overflow:hidden;
}
.ra-hero__overlay{
	position:absolute;inset:0;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 39h40M39 0v40' stroke='%23ffffff08' stroke-width='1'/%3E%3C/svg%3E");
	opacity:.4;pointer-events:none;
}
.ra-hero__inner{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;}
.ra-hero__media{align-self:stretch;display:flex;}
.ra-hero__media .ra-media,.ra-hero__media .ra-ph{width:100%;}

/* Hero mit Vollflächen-Hintergrundbild */
.ra-hero--bg{background-size:cover;background-position:center right;background-repeat:no-repeat;padding:120px 24px 130px;}
.ra-hero--bg .ra-hero__inner{grid-template-columns:1fr;}
.ra-hero--bg .ra-hero__content{max-width:680px;}
.ra-hero--bg .ra-hero__overlay{opacity:.25;}
.ra-hero__title{
	font-family:var(--ra-serif);
	font-weight:700;
	color:var(--ra-paper);
	font-size:clamp(36px,6vw,68px);
	line-height:1.06;
	letter-spacing:1px;
	text-transform:uppercase;
	margin:0 0 24px;
	text-shadow:0 4px 30px rgba(0,0,0,.6);
	max-width:760px;
}
.ra-hero__text{max-width:520px;color:#55554e;margin:0 0 32px;font-size:19px;}

/* ---------- VORTEILE ---------- */
.ra-benefits{background:var(--ra-bg-3);padding:46px 24px;border-top:1px solid var(--ra-line);border-bottom:1px solid var(--ra-line);}
.ra-benefits__grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.ra-benefit{text-align:center;padding:0 10px;}
.ra-benefit__icon{
	width:62px;height:62px;line-height:60px;margin:0 auto 16px;
	border:1px solid var(--ra-gold-2);border-radius:50%;
	color:var(--ra-gold);font-size:24px;
}
.ra-benefit h3{font-family:var(--ra-serif);font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--ra-paper);margin:0 0 8px;}
.ra-benefit p{margin:0;color:var(--ra-muted);font-size:16px;}

/* ---------- ÜBER UNS ---------- */
.ra-about{background:var(--ra-bg);padding:80px 24px;}
.ra-about__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:center;}
.ra-about__text p{color:#55554e;}
.ra-about__media{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
.ra-tile{
	aspect-ratio:3/4;border:1px solid var(--ra-gold-2);border-radius:3px;
	display:flex;align-items:flex-end;justify-content:center;
	background:linear-gradient(160deg,#eaeae7,#e2e2df);
	position:relative;overflow:hidden;
}
.ra-tile:first-child{grid-row:span 1;}
.ra-tile span{font-family:var(--ra-serif);font-size:12px;letter-spacing:2px;color:var(--ra-gold);padding:10px;text-transform:uppercase;}
.ra-tile::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(207,168,106,.12),transparent 60%);}

/* ---------- PORTFOLIO ---------- */
.ra-portfolio{background:var(--ra-bg-3);padding:80px 24px;}
.ra-gallery{max-width:1180px;margin:30px auto 0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.ra-gallery__item{
	aspect-ratio:3/4;border:1px solid var(--ra-gold-2);border-radius:3px;
	background:linear-gradient(160deg,#eaeae7,#d6d6d3);
	display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden;
	transition:.25s;
}
.ra-gallery__item:hover{transform:translateY(-4px);border-color:var(--ra-gold);}
.ra-gallery__item span{font-family:var(--ra-serif);font-size:12px;letter-spacing:1px;color:var(--ra-gold);padding:10px;text-transform:uppercase;}
.ra-gallery__item::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(207,168,106,.14),transparent 62%);}
.ra-note{max-width:1180px;margin:18px auto 0;color:#8a8a81;font-size:13px;text-align:center;font-style:italic;}

/* Echte Arbeiten in den Start-Kacheln (Über uns + Portfolio) */
.ra-tile.has-img,.ra-gallery__item.has-img{align-items:flex-end;text-decoration:none;}
.ra-tile.has-img img,.ra-gallery__item.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0;transition:transform .4s ease;}
.ra-gallery__item.has-img:hover img{transform:scale(1.05);}
.ra-tile.has-img::before,.ra-gallery__item.has-img::before{background:linear-gradient(0deg,rgba(10,8,5,.78) 0%,rgba(10,8,5,.15) 38%,rgba(10,8,5,0) 70%);z-index:1;}
.ra-tile.has-img span,.ra-gallery__item.has-img span{position:relative;z-index:2;color:#2e2e2e;text-shadow:0 1px 6px rgba(0,0,0,.8);}

/* ---------- ABLAUF + CTA ---------- */
.ra-process{background:var(--ra-paper);padding:80px 24px;color:#e5e5e2;}
.ra-process__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;}
.ra-process .ra-eyebrow{color:#9a7636;}
.ra-process .ra-h2{color:#eaeae7;}
.ra-steps{display:grid;grid-template-columns:1fr 1fr;gap:28px 34px;margin-top:24px;}
.ra-step__num{font-family:var(--ra-serif);font-size:26px;color:#b0883f;display:block;margin-bottom:4px;}
.ra-step h4{font-family:var(--ra-serif);font-size:14px;letter-spacing:2px;text-transform:uppercase;margin:0 0 6px;color:#e5e5e2;}
.ra-step p{margin:0;font-size:15px;color:#8a8a81;}
.ra-cta-card{
	background:linear-gradient(160deg,#f4f4f2,#dededc);
	border:1px solid var(--ra-gold-2);
	border-radius:4px;padding:42px 34px;text-align:center;color:var(--ra-text);
	box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.ra-cta-card .ra-eyebrow{color:var(--ra-gold);}
.ra-cta-card h3{font-family:var(--ra-serif);font-size:26px;color:var(--ra-paper);margin:0 0 14px;text-transform:uppercase;line-height:1.2;}
.ra-cta-card p{color:#55554e;margin:0 0 26px;}

/* ---------- FOOTER ---------- */
.ra-footer{background:var(--ra-bg-3);padding:64px 24px 0;border-top:1px solid var(--ra-line);}
.ra-footer__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;}
.ra-logo{font-family:var(--ra-serif);font-size:26px;font-weight:700;letter-spacing:3px;color:var(--ra-gold);}
.ra-logo__sub{font-family:var(--ra-serif);font-size:11px;letter-spacing:5px;color:var(--ra-muted);margin-top:2px;}
.ra-footer__col h4{font-family:var(--ra-serif);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ra-gold);margin:0 0 14px;}
.ra-footer__col p{color:#6b6b63;font-size:15px;margin:0 0 14px;}
.ra-footer__bottom{max-width:1180px;margin:48px auto 0;border-top:1px solid var(--ra-line);padding:20px 0;color:#8a8a81;font-size:13px;text-align:center;}

/* =========================================================================
   BUCHUNG
   ====================================================================== */
.ra-booking{max-width:840px;margin:0 auto;padding:70px 24px 90px;}
.ra-booking__head{text-align:center;margin-bottom:40px;}
.ra-steps-bar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px;}
.ra-stepdot{
	font-family:var(--ra-serif);font-size:12px;letter-spacing:1px;text-transform:uppercase;
	color:var(--ra-muted);border:1px solid var(--ra-line);border-radius:20px;padding:8px 16px;
}
.ra-stepdot.is-active{color:#1a140c;background:var(--ra-gold);border-color:var(--ra-gold);}

.ra-step-panel{display:none;animation:raFade .3s ease;}
.ra-step-panel.is-active{display:block;}
@keyframes raFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.ra-panel-title{font-family:var(--ra-serif);font-size:20px;color:var(--ra-paper);text-transform:uppercase;letter-spacing:1px;text-align:center;margin:0 0 28px;}

.ra-duration-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ra-duration input{position:absolute;opacity:0;pointer-events:none;}
.ra-duration__box{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
	border:1px solid var(--ra-gold-2);border-radius:4px;padding:26px;cursor:pointer;
	background:linear-gradient(160deg,#f4f4f2,#e2e2df);transition:.2s;text-align:center;
}
.ra-duration__box:hover{border-color:var(--ra-gold);}
.ra-duration input:checked + .ra-duration__box{border-color:var(--ra-gold);background:linear-gradient(160deg,#e5e5e2,#e8e8e6);box-shadow:0 0 0 2px rgba(207,168,106,.4) inset;}
.ra-duration__time{font-family:var(--ra-serif);font-size:24px;color:var(--ra-gold);}
.ra-duration__hint{font-size:13px;color:var(--ra-muted);}

.ra-datewrap{text-align:center;margin-bottom:24px;}
.ra-datewrap label{display:block;font-family:var(--ra-serif);letter-spacing:1px;text-transform:uppercase;font-size:13px;color:var(--ra-gold);margin-bottom:10px;}
.ra-datewrap input[type=date]{
	-webkit-appearance:none;appearance:none;
	display:block;width:100%;max-width:420px;min-width:0;margin:0 auto;box-sizing:border-box;
	text-align:left;
	padding:15px 46px 15px 16px;font-size:17px;
	background:var(--ra-bg-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23cfa86a' stroke-width='1.6'%3E%3Crect x='2.5' y='4' width='15' height='13' rx='2'/%3E%3Cpath d='M2.5 8h15M6 2v4M14 2v4'/%3E%3C/svg%3E") no-repeat right 15px center;
	border:1px solid var(--ra-gold-2);color:var(--ra-text);border-radius:4px;font-family:var(--ra-body);color-scheme:dark;
}
.ra-datewrap input[type=date]::-webkit-calendar-picker-indicator{opacity:0;}
.ra-datewrap input[type=date]::-webkit-date-and-time-value{text-align:left;}
.ra-hours-note{font-size:13px;color:var(--ra-muted);margin-top:12px;}

.ra-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;margin:10px 0 6px;min-height:60px;}
.ra-slots__placeholder,.ra-slots__empty{grid-column:1/-1;text-align:center;color:var(--ra-muted);padding:20px;}

/* Freie-Termine-Übersicht (Agenda) */
.ra-agenda{margin:4px 0 6px;min-height:60px;}
.ra-agenda__empty{text-align:center;color:var(--ra-muted);padding:26px 10px;border:1px dashed var(--ra-line);border-radius:6px;}
.ra-day{border-bottom:1px solid var(--ra-line);padding:16px 0;display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;}
.ra-day:first-child{padding-top:0;}
.ra-day__head{display:flex;flex-direction:column;}
.ra-day__wd{font-family:var(--ra-serif);color:var(--ra-gold);font-size:15px;letter-spacing:1px;text-transform:uppercase;}
.ra-day__date{color:var(--ra-muted);font-size:14px;}
.ra-day__slots{display:flex;flex-wrap:wrap;gap:8px;}
.ra-day__slots .ra-slot{padding:9px 4px;min-width:74px;font-size:15px;}
.ra-day__none{color:#8a8a81;font-style:italic;font-size:14px;}
.ra-agenda-more{text-align:center;margin:18px 0 0;}
.ra-agenda-more .ra-btn{padding:12px 24px;}
.ra-slot{
	background:var(--ra-bg-2);border:1px solid var(--ra-gold-2);color:var(--ra-text)!important;
	padding:14px 6px;border-radius:4px;cursor:pointer;font-family:var(--ra-serif);font-size:16px;transition:.2s;
}
.ra-slot:hover{border-color:var(--ra-gold);color:var(--ra-gold)!important;}
.ra-slot.is-selected{background:var(--ra-gold);border-color:var(--ra-gold);color:#1a140c!important;}

.ra-actions{display:flex;justify-content:space-between;gap:14px;margin-top:32px;flex-wrap:wrap;}
.ra-actions .ra-btn{flex:1;min-width:160px;text-align:center;}

.ra-summary{
	background:var(--ra-bg-2);border:1px solid var(--ra-line);border-left:3px solid var(--ra-gold);
	padding:16px 20px;border-radius:4px;margin-bottom:24px;color:#55554e;font-size:16px;
}
.ra-summary strong{color:var(--ra-gold);}

.ra-form .ra-field{margin-bottom:18px;}
.ra-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.ra-form label{display:block;font-family:var(--ra-serif);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--ra-gold);margin-bottom:8px;}
.ra-form input[type=text],.ra-form input[type=email],.ra-form input[type=tel],.ra-form select,.ra-form textarea{
	width:100%;background:var(--ra-bg-2);border:1px solid var(--ra-gold-2);color:var(--ra-text);
	padding:13px 15px;border-radius:4px;font-size:16px;font-family:var(--ra-body);color-scheme:dark;
}
.ra-form input[type=file]{color:var(--ra-muted);font-size:14px;}
.ra-form textarea{resize:vertical;}
.ra-field--check label.ra-check{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-family:var(--ra-body);color:#55554e;font-size:15px;}
.ra-check input{margin-top:5px;width:18px;height:18px;accent-color:var(--ra-gold);}
.ra-check a{color:var(--ra-gold);}
.ra-form__msg{min-height:10px;color:#e98a7a;font-size:15px;margin:6px 0;}
.ra-form__msg.is-ok{color:#9ccc8f;}

/* ---------- DANKE ---------- */
.ra-thanks{background:linear-gradient(180deg,#d6d6d3,#e8e8e6);padding:110px 24px;text-align:center;}
.ra-thanks__inner{max-width:620px;margin:0 auto;}
.ra-thanks__mark{
	width:84px;height:84px;line-height:80px;margin:0 auto 26px;border-radius:50%;
	border:2px solid var(--ra-gold);color:var(--ra-gold);font-size:40px;
}
.ra-thanks p{color:#55554e;}
.ra-thanks__small{font-size:14px;color:var(--ra-muted);margin-top:8px;}
.ra-thanks .ra-btn{margin-top:28px;}

/* =========================================================================
   UNTERSEITEN (Über Mich, Galerie, Referenzen, Kontakt, FAQ, Rechtliches)
   ====================================================================== */
.ra-h3{font-family:var(--ra-serif);font-weight:700;color:var(--ra-paper);font-size:clamp(20px,2.4vw,28px);text-transform:uppercase;letter-spacing:1px;margin:26px 0 12px;}
.ra-section{max-width:1180px;margin:0 auto;padding:70px 24px;}
.ra-narrow{max-width:880px;}

.ra-pagehero{
	background:radial-gradient(120% 90% at 80% 20%,rgba(207,168,106,.16),transparent 55%),linear-gradient(180deg,#d6d6d3,#e8e8e6);
	padding:70px 24px 56px;border-bottom:1px solid var(--ra-line);text-align:center;
}
.ra-pagehero__inner{max-width:840px;margin:0 auto;}
.ra-pagehero__intro{color:#55554e;font-size:19px;max-width:620px;margin:0 auto;}

/* Über Mich */
.ra-portrait{margin:0;border-radius:4px;overflow:hidden;}
/* Portrait auf der Über-Mich-Seite groß & oben ausgerichtet */
.ra-about--page .ra-about__inner{grid-template-columns:1.6fr 1fr;align-items:start;gap:50px;}
.ra-about--page .ra-about__media{display:block;grid-template-columns:none;gap:0;}
.ra-about--page .ra-portrait{position:sticky;top:96px;width:100%;justify-self:stretch;box-shadow:0 24px 60px rgba(0,0,0,.45);}
.ra-about--page .ra-portrait .ra-media,.ra-about--page .ra-portrait img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover;}
.ra-about--page .ra-about__text{padding-top:6px;}

/* Galerie */
.ra-filterbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:28px;}
.ra-filter{
	background:var(--ra-bg-2);border:1px solid var(--ra-gold-2);color:var(--ra-text)!important;
	font-family:var(--ra-serif);font-size:13px;letter-spacing:1px;text-transform:uppercase;
	padding:9px 16px;border-radius:20px;cursor:pointer;transition:.2s;
}
.ra-filter:hover{border-color:var(--ra-gold);color:var(--ra-gold)!important;}
.ra-filter.is-active{background:var(--ra-gold);border-color:var(--ra-gold);color:#1a140c!important;}
.ra-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.ra-work{margin:0;position:relative;aspect-ratio:3/4;border:1px solid var(--ra-gold-2);border-radius:3px;overflow:hidden;background:linear-gradient(160deg,#eaeae7,#d6d6d3);}
.ra-work img{width:100%;height:100%;object-fit:cover;}
.ra-work__ph{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;padding:10px;border:1px dashed var(--ra-gold-2);background:repeating-linear-gradient(45deg,#ececea,#ececea 12px,#ececea 12px,#ececea 24px);}
.ra-work figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(238,238,236,.92),transparent);padding:24px 12px 10px;color:#fff;font-size:13px;display:flex;flex-direction:column;}
.ra-work figcaption span{color:var(--ra-gold);font-size:11px;letter-spacing:1px;}
.ra-gallery-empty{text-align:center;color:var(--ra-muted);padding:50px 10px;border:1px dashed var(--ra-line);border-radius:6px;}
.ra-gallery-empty .ra-note{font-style:normal;color:#7a7a71;max-width:560px;margin:14px auto 0;}

/* Referenzen */
.ra-trustrow{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;margin-bottom:46px;}
.ra-trust{text-align:center;display:flex;flex-direction:column;gap:4px;}
.ra-trust__num{font-family:var(--ra-serif);color:var(--ra-gold);font-size:24px;}
.ra-trust span:last-child{color:var(--ra-muted);font-size:13px;letter-spacing:1px;text-transform:uppercase;}
.ra-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ra-review{margin:0;background:linear-gradient(160deg,#f4f4f2,#e2e2df);border:1px solid var(--ra-line);border-radius:6px;padding:24px;}
.ra-review__stars{color:var(--ra-gold);letter-spacing:3px;margin-bottom:10px;}
.ra-review blockquote{margin:0 0 16px;color:#3b3b3b;font-size:16px;line-height:1.6;}
.ra-review figcaption{display:flex;flex-direction:column;border-top:1px solid var(--ra-line);padding-top:12px;}
.ra-review figcaption strong{color:var(--ra-paper);}
.ra-review figcaption span{color:var(--ra-gold);font-size:12px;letter-spacing:1px;text-transform:uppercase;}
/* Vorher-Nachher-Slider */
.ra-ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.ra-bacard{margin:0;}
.ra-ba-slider{position:relative;aspect-ratio:4/3;border:1px solid var(--ra-gold-2);border-radius:6px;overflow:hidden;user-select:none;background:#d6d6d3;}
.ra-ba-layer{position:absolute;inset:0;}
.ra-ba-img{width:100%;height:100%;object-fit:cover;display:block;}
.ra-ba-before{will-change:clip-path;}
.ra-ba-ph{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;text-align:center;padding:10px;background:repeating-linear-gradient(45deg,#ececea,#ececea 12px,#ececea 12px,#ececea 24px);}
.ra-ba-ph--before{background:repeating-linear-gradient(45deg,#e5e5e2,#e5e5e2 12px,#f4f4f2 12px,#f4f4f2 24px);}
.ra-ba-badge{position:absolute;top:10px;font-family:var(--ra-serif);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#1a140c;background:var(--ra-gold);padding:4px 10px;border-radius:3px;}
.ra-ba-badge--before{left:10px;}
.ra-ba-badge--after{right:10px;background:#55554e;}
.ra-ba-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--ra-gold);transform:translateX(-1px);pointer-events:none;}
.ra-ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:var(--ra-gold);color:#1a140c;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.5);}
.ra-ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:transparent;}
.ra-ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:44px;height:100%;cursor:ew-resize;}
.ra-ba-range::-moz-range-thumb{width:44px;height:100%;border:0;background:transparent;cursor:ew-resize;}
.ra-bacard figcaption{display:flex;flex-direction:column;gap:2px;margin-top:12px;}
.ra-bacard figcaption strong{font-family:var(--ra-serif);color:var(--ra-paper);font-size:16px;letter-spacing:1px;text-transform:uppercase;}
.ra-bacard figcaption span{color:var(--ra-muted);font-size:14px;}

/* Kontakt */
.ra-contact{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;margin-bottom:40px;}
.ra-contact__list{list-style:none;padding:0;margin:0;}
.ra-contact__list li{padding:14px 0;border-bottom:1px solid var(--ra-line);color:#3b3b3b;}
.ra-contact__list li span{display:block;font-family:var(--ra-serif);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ra-gold);margin-bottom:4px;}
.ra-contact__list a{color:#3b3b3b;}
.ra-map iframe{display:block;border-radius:6px;border:1px solid var(--ra-line);filter:grayscale(.3) contrast(1.05);}

/* FAQ */
.ra-faq__item{border:1px solid var(--ra-line);border-radius:6px;margin-bottom:12px;background:var(--ra-bg-2);overflow:hidden;}
.ra-faq__item summary{cursor:pointer;list-style:none;padding:18px 22px;font-family:var(--ra-serif);font-size:17px;color:var(--ra-paper);position:relative;}
.ra-faq__item summary::-webkit-details-marker{display:none;}
.ra-faq__item summary::after{content:"+";position:absolute;right:22px;top:16px;color:var(--ra-gold);font-size:22px;}
.ra-faq__item[open] summary::after{content:"–";}
.ra-faq__a{padding:0 22px 20px;color:#55554e;}

/* Rechtliches */
.ra-legal h2{font-family:var(--ra-serif);color:var(--ra-gold);font-size:20px;margin:28px 0 8px;}
.ra-legal p{color:#55554e;margin:0 0 12px;}
.ra-legal a{color:var(--ra-gold);}
.ra-legal .ra-note{margin-top:26px;padding-top:16px;border-top:1px solid var(--ra-line);color:#7a7a71;}

/* Stornoseite */
.ra-cancelbox{background:linear-gradient(160deg,#f4f4f2,#e2e2df);border:1px solid var(--ra-line);border-radius:8px;padding:34px;text-align:center;}
.ra-cancelbox .ra-summary{text-align:left;margin-bottom:18px;}
.ra-cancelbox p{color:#55554e;}
.ra-cancel-msg{margin:14px 0;font-size:16px;}
.ra-cancel-msg.is-ok{color:#9ccc8f;}
.ra-cancel-msg.is-error{color:#e98a7a;}

/* Social */
.ra-social{display:flex;gap:14px;margin-top:16px;}
.ra-social a{font-family:var(--ra-serif);font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--ra-gold);text-decoration:none;border:1px solid var(--ra-gold-2);padding:8px 14px;border-radius:3px;transition:.2s;}
.ra-social a:hover{background:var(--ra-gold);color:#1a140c;}

@media(max-width:980px){
	.ra-gallery-grid{grid-template-columns:repeat(3,1fr);}
	.ra-reviews{grid-template-columns:1fr 1fr;}
	.ra-contact{grid-template-columns:1fr;}
}
@media(max-width:600px){
	.ra-gallery-grid{grid-template-columns:1fr 1fr;}
	.ra-reviews{grid-template-columns:1fr;}
	.ra-ba-grid{grid-template-columns:1fr;}
	.ra-trustrow{gap:28px;}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:980px){
	.ra-hero__inner{grid-template-columns:1fr;gap:28px;}
	.ra-hero__media{max-width:420px;}
	.ra-benefits__grid{grid-template-columns:1fr 1fr;gap:34px 20px;}
	.ra-about__inner,.ra-process__inner{grid-template-columns:1fr;gap:40px;}
	.ra-about--page .ra-about__inner{grid-template-columns:1fr;gap:30px;}
	.ra-about--page .ra-portrait{position:static;top:auto;max-width:440px;}
	.ra-gallery{grid-template-columns:repeat(3,1fr);}
	.ra-footer__inner{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
	.rummel-site{font-size:17px;}
	.ra-hero{padding:64px 20px 80px;}
	.ra-hero--bg{padding:80px 20px 72px;background-position:center;}
	.ra-hero__title{font-size:clamp(25px,6.8vw,32px);line-height:1.14;letter-spacing:.5px;}
	.ra-hero__text{font-size:16px;}
	.ra-h2{font-size:clamp(24px,7vw,32px);letter-spacing:.5px;}
	.ra-h3{font-size:clamp(19px,5.5vw,24px);}
	.ra-benefits__grid{grid-template-columns:1fr;}
	.ra-gallery{grid-template-columns:1fr 1fr;}
	.ra-steps{grid-template-columns:1fr;}
	.ra-duration-grid{grid-template-columns:1fr;}
	.ra-field-row{grid-template-columns:1fr;}
	.ra-day{grid-template-columns:1fr;gap:8px;}
	.ra-footer__inner{grid-template-columns:1fr;}
	.ra-actions{flex-direction:column;}
	.ra-actions .ra-btn{flex:1 1 100%;width:100%;}

	/* Unterseiten-Kopf & lange Überschriften (z.B. Datenschutzerklärung) */
	.ra-pagehero{padding:52px 18px 38px;}
	.ra-pagehero__intro{font-size:16px;}
	.ra-section{padding:50px 18px;}
	.ra-legal h2{font-size:18px;}

	/* Buchung mobil */
	.ra-booking{padding:48px 16px 70px;}
	.ra-booking__head{margin-bottom:28px;}
	.ra-panel-title{font-size:17px;}
	.ra-steps-bar{gap:6px;}
	.ra-stepdot{padding:6px 9px;font-size:10px;letter-spacing:.5px;}
	.ra-datewrap input[type=date]{max-width:100%;padding:14px 44px 14px 14px;font-size:16px;}
	.ra-day__head{flex-direction:row;gap:8px;align-items:baseline;}
	.ra-day__slots{gap:7px;}
	.ra-day__slots .ra-slot{min-width:0;flex:1 0 21%;padding:11px 4px;font-size:14px;}
	.ra-duration__box{padding:20px;}
	.ra-btn{letter-spacing:1px;padding:14px 18px;}
}

/* ---------- Termin-Übersicht (intern, geschützt) ---------- */
.ra-login{max-width:420px;margin:0 auto;background:var(--ra-bg-2);border:1px solid var(--ra-gold-2);border-radius:8px;padding:30px;}
.ra-login__hint{color:#55554e;text-align:center;margin-bottom:18px;}
.ra-login form{margin:0;}
.ra-login label{display:block;color:#7a7a71;font-size:13px;margin-bottom:14px;}
.ra-login input[type=text],.ra-login input[type=password]{width:100%;box-sizing:border-box;margin-top:6px;padding:11px 12px;background:#e8e8e6;border:1px solid var(--ra-gold-2);border-radius:5px;color:var(--ra-text);font-size:15px;}
.ra-login .login-remember{font-size:13px;}
.ra-login input[type=submit]{margin-top:10px;background:var(--ra-gold);border:0;color:#1a140c;font-family:var(--ra-serif);letter-spacing:1px;text-transform:uppercase;padding:11px 22px;border-radius:24px;cursor:pointer;}
.ra-belegung{max-width:760px;margin:0 auto;}
.ra-belegung__count{color:var(--ra-gold);font-family:var(--ra-serif);letter-spacing:1px;text-align:center;margin-bottom:22px;}
.ra-belegung__empty{color:var(--ra-muted);text-align:center;padding:40px 0;}
.ra-belegung__day{color:var(--ra-gold);font-family:var(--ra-serif);font-size:18px;border-bottom:1px solid var(--ra-gold-2);padding-bottom:8px;margin:26px 0 14px;}
.ra-belegung__list{display:flex;flex-direction:column;gap:12px;}
.ra-belegung__item{display:flex;gap:16px;background:var(--ra-bg-2);border:1px solid var(--ra-line);border-radius:6px;padding:14px 16px;}
.ra-belegung__time{flex:0 0 130px;color:var(--ra-gold);font-weight:bold;font-size:14px;}
.ra-belegung__info{color:#3b3b3b;font-size:14px;line-height:1.5;}
.ra-belegung__info span{color:#6b6b63;font-size:13px;}
.ra-belegung__idea{font-style:italic;}
@media(max-width:560px){.ra-belegung__item{flex-direction:column;gap:5px;}.ra-belegung__time{flex:none;}}

/* Dezenter Mitarbeiter-Login-Link im Footer */
.ra-footer__login{color:var(--ra-gold)!important;text-decoration:none;border-bottom:1px dotted var(--ra-gold-2);}
.ra-footer__login:hover{color:#2e2e2e!important;}

/* Aktions-Icons in der Termin-Übersicht (gleich groß, untereinander, Tooltip) */
.ra-belegung__info{flex:1;min-width:0;}
.ra-belegung__item{align-items:flex-start;}
.ra-belegung__actions{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;margin:0;}
.ra-bact{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:7px;border:1px solid var(--ra-gold-2);background:transparent;color:var(--ra-gold)!important;text-decoration:none;cursor:pointer;transition:.2s;}
.ra-bact svg{width:20px;height:20px;display:block;}
.ra-bact:hover{background:var(--ra-gold);color:#1a140c!important;border-color:var(--ra-gold);}
.ra-bact--wa:hover{background:#1faf54;color:#fff!important;border-color:#1faf54;}
.ra-bact--danger{border-color:#7d3b34;color:#e0a39a!important;}
.ra-bact--danger:hover{background:#7d3b34;color:#fff!important;border-color:#7d3b34;}
.ra-bact[data-tip]::after{content:attr(data-tip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#dededc;color:#2e2e2e;border:1px solid var(--ra-gold-2);font-family:var(--ra-body);font-size:13px;letter-spacing:.3px;white-space:nowrap;padding:5px 10px;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:6;}
.ra-bact[data-tip]:hover::after,.ra-bact[data-tip]:focus::after{opacity:1;}
@media(max-width:560px){
	.ra-belegung__actions{flex-direction:row;margin-top:6px;}
	.ra-bact[data-tip]::after{right:auto;left:50%;top:auto;bottom:calc(100% + 8px);transform:translateX(-50%);}
}
.ra-belegung__item.is-cancelled{opacity:.45;}
.ra-belegung__item.is-cancelled .ra-belegung__time{text-decoration:line-through;}


/* Echtes Logo im Header/Footer */
.ra-brand__logo{height:60px;width:auto;display:block;}
@media(max-width:860px){.ra-brand__logo{height:46px;}}
.ra-logo-img{height:104px;width:auto;display:block;margin-bottom:8px;}

/* ==========================================================================
   HELLER LOOK – Feinschliff (Light Theme override)
   ========================================================================== */
/* Hero bleibt Foto-Sektion: helle Schrift auf dunklem Bild */
.ra-hero__title{color:#f7f2e9;}
.ra-hero__text{color:#efe8db;}
.ra-hero .ra-eyebrow{color:#e7c78d;}
/* Gold-Akzente auf hellem Grund etwas tiefer für Lesbarkeit */
.ra-eyebrow{color:#a97f38;}
.ra-hero .ra-eyebrow{color:#e7c78d;}
.ra-btn--outline{color:#9a7636;border-color:#c7a869;}
.ra-btn--outline:hover{background:var(--ra-gold);color:#1a140c;}
.ra-nav__cta{color:#8a6a2e!important;border-color:#c7a869;}
.ra-nav__cta:hover{background:var(--ra-gold);color:#1a140c!important;}
.ra-nav a{color:#2e2e2e;}
.ra-nav a:hover{color:#9a7636;}
.ra-footer__login{color:#9a7636!important;border-bottom-color:#c7a869;}
/* Formularfelder hell & lesbar */
.rummel-site input[type=text],.rummel-site input[type=email],.rummel-site input[type=tel],.rummel-site input[type=date],.rummel-site input[type=password],.rummel-site textarea,.rummel-site select{
	background:#fbfbfa;border:1px solid #cfcfcb;color:#2e2e2e;
}
.rummel-site input::placeholder,.rummel-site textarea::placeholder{color:#9a9a92;}
/* Login-Box hell */
.ra-login{background:#f4f4f2;border-color:#d8c9a6;}
.ra-login__hint{color:#55554e;}
/* Termin-Übersicht Items hell */
.ra-belegung__item{background:#f4f4f2;border-color:#e0e0dd;}
.ra-belegung__info{color:#3b3b3b;}
.ra-belegung__info span{color:#7a7a71;}
/* dünne Trennlinien heller */
.ra-topnav{border-bottom:1px solid #dcdcd8;}
