/*
 * Neues Design (templates_neu). Wird nach style.css geladen und
 * überschreibt dessen Rahmen-Layout; Altseiten laufen in .neu-page weiter.
 */

:root {
	--ground: #F5F6F1;
	--surface: #FFFFFF;
	--ink: #16201C;
	--ink-2: #3D4742;
	--muted: #56605B;
	--line: #E2E5DD;
	--line-strong: #D6DAD1;
	--primary: #0E5E56;
	--primary-hover: #0A4A44;
	--primary-soft: #DCEDEA;
	--sun: #F4B63F;
	--sun-soft: #FCEBC4;
	--sun-ink: #6B4A00;
	--chip: #E9ECE5;
	--font-body: 'Figtree', 'Open Sans', system-ui, sans-serif;
	--font-display: 'Bricolage Grotesque', 'Figtree', 'Open Sans', system-ui, sans-serif;
	--font-logo: 'Parisienne', 'Snell Roundhand', 'Apple Chancery', 'Segoe Script', 'Brush Script MT', cursive;
}

body.neu {
	margin: 0;
	background: var(--ground);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
body.neu a { color: var(--primary); }
body.neu a:hover { color: var(--primary-hover); }
body.neu img { max-width: 100%; }

.neu-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }

/* Buttons */
.neu-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 0 20px; box-sizing: border-box;
	border-radius: 999px; border: 1.5px solid transparent;
	font: inherit; font-weight: 600; font-size: 15px; text-decoration: none; cursor: pointer;
}
body.neu .neu-btn-primary { background: var(--primary); color: #FFFFFF; }
body.neu .neu-btn-primary:hover { background: var(--primary-hover); color: #FFFFFF; }
body.neu .neu-btn-ghost { background: transparent; color: var(--ink); border-color: #C9CEC4; }
body.neu .neu-btn-ghost:hover { background: #EBEEE6; color: var(--ink); }
body.neu .neu-btn-dark { background: var(--ink); color: #FFFFFF; }
.neu-btn-lg { min-height: 54px; padding: 0 26px; font-size: 17px; }
.neu-btn svg { flex: none; }

/* Header */
.neu-header { background: var(--ground); border-bottom: 1px solid var(--line); }
.neu-header .neu-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding-top: 14px; padding-bottom: 14px; }
body.neu .neu-logo { display: flex; align-items: center; gap: 6px; text-decoration: none; color: var(--ink); }
.neu-logo-mark { width: 44px; height: auto; display: block; flex: none; }
.neu-logo-text { font-family: var(--font-logo); font-weight: 400; font-size: 34px; line-height: 1; letter-spacing: 0; white-space: nowrap; padding-top: 4px; }
.neu-nav { flex: 1 1 auto; justify-content: flex-end; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; font-weight: 500; font-size: 15px; }
body.neu .neu-nav a { color: var(--ink-2); text-decoration: none; padding: 10px 0; }
body.neu .neu-nav a:hover { color: var(--primary); }

/* Hauptbereich */
.neu-main { padding: 0 0 72px; }
body.neu #content { width: auto; background: none; margin: 0; }
body.neu .userinfo { width: auto; max-width: 1200px; padding: 8px 24px 0; box-sizing: border-box; font-size: 13px; color: var(--muted); }
body.neu h2, body.neu h4 { color: var(--ink); }

/*
 * Altseiten: übersetzt die Bausteine der alten Templates (ccontainer, box*,
 * menuitem*, mbutton, part_menu …) ins neue Design, ohne deren Markup zu ändern.
 */
.neu-page { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; padding-top: 32px; }
.neu-page:after { content: none; }
body.neu .neu-page .ccontainer,
body.neu .neu-page .ccontainerwide { float: none; width: auto; margin: 0; flex: 999 1 620px; min-width: 0; }
body.neu .neu-page > br { display: none; }

body.neu .boxtop, body.neu .boxbottom { display: none; }
body.neu .boxmid { width: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; margin-bottom: 4px; }
body.neu .boxinner { overflow-wrap: anywhere; width: auto; margin: 0; padding: 28px; box-sizing: border-box; font-size: 15px; line-height: 1.65; color: var(--ink-2); }
body.neu .ccontainer > .boxinner { padding: 8px 0; }
body.neu .neu-page [style*="width:"] { max-width: 100%; box-sizing: border-box; }
body.neu .neu-page img { height: auto; }

body.neu .boxinner h2 { font-family: var(--font-display); font-weight: 800; font-size: clamp(26px, 3vw, 36px); letter-spacing: -0.025em; line-height: 1.1; color: var(--ink); padding: 0 0 16px; }
body.neu .boxinner h3 { font-size: 18px; font-weight: 700; color: var(--ink); margin: 20px 0 8px; }
body.neu .boxinner h4 { font-size: 16px; font-weight: 700; color: var(--ink); }
body.neu .boxinner h3:first-child, body.neu .boxinner h2 + br + h3 { margin-top: 0; }
body.neu .boxinner ol, body.neu .boxinner ul { padding-left: 22px; }
body.neu .boxinner li { margin-bottom: 8px; }

/* Buttons */
body.neu .menuitem4r, body.neu .menuitem4l {
	float: none; display: inline-flex; vertical-align: middle; width: auto; height: auto;
	margin: 8px 8px 0 0; padding: 0; background: none; font-variant: normal; font-size: 15px; text-align: left;
}
body.neu .menuitem4r a, body.neu .menuitem4l a {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; box-sizing: border-box;
	border-radius: 999px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
body.neu .menuitem4r a { background: var(--primary); color: #FFFFFF; border: 1.5px solid var(--primary); }
body.neu .menuitem4r a:hover, body.neu .menuitem4r a:active { background: var(--primary-hover); color: #FFFFFF; text-decoration: none; }
body.neu .menuitem4l a { background: #FFFFFF; color: var(--ink); border: 1.5px solid #C9CEC4; }
body.neu .menuitem4l a:hover, body.neu .menuitem4l a:active { background: #EBEEE6; color: var(--ink); text-decoration: none; }
body.neu .menuitemmove {
	float: none; display: inline-flex; vertical-align: middle; width: 44px; height: 44px; margin: 8px 8px 0 0; padding: 0;
	border-radius: 12px; border: 1.5px dashed #C9CEC4; box-sizing: border-box;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2356605B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 3v18M3 12h18M12 3l-3 3M12 3l3 3M12 21l-3-3M12 21l3-3M3 12l3-3M3 12l3 3M21 12l-3-3M21 12l-3 3'/%3E%3C/svg%3E") center no-repeat;
}
body.neu input[type=button], body.neu input[type=submit], body.neu button.button, body.neu .button {
	font: inherit; font-weight: 600; font-size: 15px; min-height: 44px; padding: 0 18px; border-radius: 999px;
	border: 1.5px solid var(--primary); background: var(--primary); color: #FFFFFF; cursor: pointer;
}

/* Grosse Aktionsflächen (früher Bildbuttons) */
body.neu .mbutton {
	display: block; width: auto !important; height: auto !important; margin: 16px 0 !important;
	padding: 18px 22px !important; box-sizing: border-box;
	background: var(--primary-soft) !important; border-radius: 16px; float: none;
}
body.neu .mbutton h2 { margin: 0; padding: 0; font-size: 18px; font-family: var(--font-body); font-variant: normal; letter-spacing: 0; }
body.neu .mbutton h2 a { color: var(--primary); text-decoration: none; display: flex; align-items: center; gap: 8px; }
body.neu .mbutton h2 a:after { content: "\2192"; }
body.neu .mbutton h2 a:hover { text-decoration: underline; color: var(--primary-hover); }

/* Formulare */
body.neu .neu-page input[type=text], body.neu .neu-page input[type=password], body.neu .neu-page input[type=email],
body.neu .neu-page input[type=file], body.neu .neu-page select, body.neu .neu-page textarea,
body.neu .ui-dialog input[type=text], body.neu .ui-dialog select, body.neu .ui-dialog textarea {
	border: 1.5px solid var(--line-strong); border-radius: 10px; background: #FFFFFF; color: var(--ink);
	padding: 9px 12px; font: inherit; font-size: 15px; max-width: 100%; box-sizing: border-box;
}
body.neu .neu-page input[type=text], body.neu .neu-page input[type=password], body.neu .neu-page select { min-height: 44px; }
body.neu .neu-page input:focus, body.neu .neu-page select:focus, body.neu .neu-page textarea:focus,
body.neu .ui-dialog input:focus, body.neu .ui-dialog textarea:focus {
	outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft);
}
body.neu .neu-page input[type=checkbox], body.neu .neu-page input[type=radio] { accent-color: var(--primary); width: 18px; height: 18px; vertical-align: -3px; }
body.neu .neu-page table td, body.neu .neu-page table th { padding: 4px 8px 4px 0; vertical-align: top; }

/* Meldungen & Textbausteine */
body.neu .errorbox { background: #FBE7E1; color: #7A2A12; border-radius: 12px; padding: 12px 16px; margin: 0 0 16px; border: 0; font-weight: 500; }
body.neu .errorfield { background: #FBE7E1 !important; border-color: #C2552F !important; }
body.neu .subtitle { font-variant: normal; text-transform: uppercase; letter-spacing: .06em; font-size: 12px; font-weight: 600; color: var(--muted); }
body.neu .enum { color: var(--primary); font-family: var(--font-display); font-weight: 800; }
body.neu .listtitle { font-size: 18px; font-weight: 700; padding: 0; margin: 2px 0; }
body.neu .listtitle a { color: var(--ink); text-decoration: none; }
body.neu .listtitle a:hover { color: var(--primary); text-decoration: underline; }
body.neu .price { color: var(--ink); font-family: var(--font-display); font-size: 18px; }
body.neu .wunschhinweis { border: 0; background: var(--sun-soft); color: #3F2C00; border-radius: 10px; padding: 8px 12px; font-size: 14px; }
body.neu .wunschhinweis b { color: #3F2C00 !important; }
/* alte Inline-Graus (#999) sind auf Weiß zu blass */
body.neu .neu-page [style*="color:#999999"], body.neu .ui-dialog [style*="color:#999999"], body.neu .neu-page [style*="color: #999"] { color: var(--muted) !important; }
body.neu .halfbox { max-width: 100%; box-sizing: border-box; padding-right: 16px; }
body.neu .shoplink a { color: var(--muted); }
body.neu table.tablesorter { width: 100%; border-collapse: collapse; font-size: 14px; }
body.neu table.tablesorter thead tr th { background: var(--ground); color: var(--ink); border: 0; padding: 10px 12px; }
body.neu table.tablesorter tbody td { border-top: 1px solid var(--line); padding: 10px 12px; background: #FFFFFF; }
body.neu table.tablesorter tbody tr.odd td { background: #FAFBF8; }

/* Seitenmenü (part_menu) */
.neu-side { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 16px; float: none; width: auto; }
.neu-side-nav { display: flex; flex-direction: column; padding: 8px; }
body.neu .neu-side-nav a { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 12px; color: var(--ink-2); text-decoration: none; font-weight: 500; font-size: 15px; }
body.neu .neu-side-nav a:hover { background: var(--ground); color: var(--ink); }
body.neu .neu-side-nav a.is-active { background: var(--primary-soft); color: var(--primary); font-weight: 700; }
.neu-side-box { padding: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.neu-side-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.neu-side-code { font-family: var(--font-display); font-weight: 800; font-size: 26px; letter-spacing: .04em; color: var(--ink); }
.neu-side-lists { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.neu-side-lists li { display: flex; flex-direction: column; line-height: 1.35; }
body.neu .neu-side-lists a { font-weight: 600; color: var(--ink); text-decoration: none; }
body.neu .neu-side-lists a:hover { color: var(--primary); text-decoration: underline; }
.neu-side-lists span { font-size: 13px; color: var(--muted); }

/* Fuss */
.neu-footer { border-top: 1px solid var(--line); }
.neu-footer .neu-wrap { display: flex; flex-wrap: wrap; gap: 24px 32px; justify-content: space-between; align-items: flex-start; padding-top: 40px; padding-bottom: 56px; font-size: 15px; }
.neu-footer-brand { display: flex; flex-direction: column; gap: 8px; max-width: 320px; color: var(--muted); }
.neu-footer-logo { display: flex; align-items: center; gap: 6px; }
.neu-footer-brand b { font-family: var(--font-logo); font-weight: 400; font-size: 30px; line-height: 1; color: var(--ink); padding-top: 4px; }
.neu-footer nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
body.neu .neu-footer nav a { color: var(--ink-2); text-decoration: none; }
body.neu .neu-footer nav a:hover { color: var(--primary); }
.neu-lang { display: flex; gap: 4px; }
body.neu .neu-lang a { color: var(--ink-2); text-decoration: none; padding: 6px 10px; border-radius: 8px; font-weight: 600; font-size: 14px; }
body.neu .neu-lang a.is-active { background: var(--chip); color: var(--ink); }

/* Gemeinsame Bausteine */
.neu-chip { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 5px 12px; font-weight: 600; font-size: 13px; }
.neu-chip-sun { background: var(--sun-soft); color: var(--sun-ink); }
.neu-chip-grey { background: var(--chip); color: var(--ink-2); }
.neu-h1 { margin: 0; font-family: var(--font-display); font-weight: 800; letter-spacing: -0.035em; line-height: 1.02; }
.neu-h2 { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(30px, 3.6vw, 48px); letter-spacing: -0.03em; line-height: 1.05; }
.neu-card { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; }
.neu-icon { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }

/* Startseite */
.neu-hero { display: flex; flex-wrap: wrap; gap: 56px; align-items: center; padding-top: 72px; padding-bottom: 56px; }
.neu-hero-text { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.neu-hero-text .neu-h1 { font-size: clamp(40px, 5.6vw, 76px); }
.neu-lead { margin: 0; font-size: 20px; line-height: 1.55; color: #46504B; max-width: 540px; }
.neu-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.neu-find { display: flex; flex-direction: column; gap: 8px; max-width: 480px; margin: 0; }
.neu-find label { font-size: 14px; font-weight: 600; color: var(--ink-2); }
.neu-find-row { display: flex; gap: 8px; align-items: center; background: #FFFFFF; border: 1.5px solid var(--line-strong); border-radius: 14px; padding: 6px 6px 6px 14px; }
body.neu .neu-find-row input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 16px; padding: 10px 4px; color: var(--ink); }
.neu-find-row:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
.neu-find-row .neu-btn { border-radius: 10px; }

.neu-hero-visual { flex: 1 1 420px; min-width: 0; position: relative; display: flex; justify-content: center; padding: 24px 0; }
.neu-hero-visual:before { content: ""; position: absolute; width: 380px; height: 380px; max-width: 90%; border-radius: 50%; background: var(--sun-soft); top: 0; right: 10px; }
.neu-preview { position: relative; width: 100%; max-width: 440px; background: #FFFFFF; border-radius: 24px; padding: 24px; box-sizing: border-box; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 1px 2px rgba(22,32,28,.06), 0 24px 48px -16px rgba(22,32,28,.22); }
.neu-preview-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.neu-preview-kicker { font-size: 13px; font-weight: 600; color: var(--primary); text-transform: uppercase; letter-spacing: .06em; }
.neu-preview-title { display: block; font-family: var(--font-display); font-weight: 700; font-size: 24px; letter-spacing: -0.02em; }
.neu-row { display: flex; gap: 14px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 16px; }
.neu-row-img { width: 56px; height: 56px; border-radius: 12px; flex: none; }
.neu-row-text { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 14px; color: var(--muted); }
.neu-row-text b { font-size: 15px; color: var(--ink); }
.neu-row-text s { color: var(--muted); }
.neu-pill { font-weight: 600; font-size: 13px; padding: 8px 12px; border-radius: 999px; white-space: nowrap; }
.neu-progress { height: 8px; background: #EBEEE6; border-radius: 999px; overflow: hidden; }
.neu-progress span { display: block; height: 100%; background: var(--sun); border-radius: 999px; }

.neu-occasions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding-bottom: 72px; }
.neu-occasions > span { font-size: 15px; color: var(--muted); margin-right: 4px; }
body.neu .neu-occasions a { text-decoration: none; color: var(--ink); background: #FFFFFF; border: 1.5px solid var(--line); border-radius: 999px; padding: 10px 18px; font-weight: 600; font-size: 15px; }
body.neu .neu-occasions a:hover { border-color: var(--primary); }

.neu-band { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.neu-section { padding-top: 88px; padding-bottom: 88px; display: flex; flex-direction: column; gap: 44px; }
.neu-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; }
.neu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
.neu-step { display: flex; flex-direction: column; gap: 12px; padding: 28px; background: var(--ground); border-radius: 20px; }
.neu-step-num { font-family: var(--font-display); font-weight: 800; font-size: 44px; color: var(--primary); line-height: 1; }
.neu-step h3, .neu-feature h3 { margin: 0; font-size: 20px; font-weight: 700; color: var(--ink); }
.neu-step p, .neu-feature p { margin: 0; font-size: 15px; line-height: 1.6; color: #46504B; }
.neu-feature { display: flex; flex-direction: column; gap: 12px; padding: 28px; }

.neu-cta { position: relative; overflow: hidden; background: var(--primary); color: #FFFFFF; border-radius: 28px; padding: 56px 48px; display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; }
.neu-cta:before { content: ""; position: absolute; right: -60px; top: -80px; width: 280px; height: 280px; border-radius: 50%; background: var(--sun); opacity: .9; }
.neu-cta > * { position: relative; }
body.neu .neu-cta h2, body.neu .neu-cta .neu-h2 { color: #FFFFFF; }
.neu-cta p { margin: 8px 0 0; font-size: 18px; color: #D4E8E4; }
body.neu .neu-cta .neu-btn { background: #FFFFFF; color: var(--primary); }

.neu-news { display: flex; flex-direction: column; gap: 16px; padding: 28px; }
.neu-news-item { display: flex; flex-wrap: wrap; gap: 4px 20px; font-size: 15px; color: var(--ink-2); }
.neu-news-item time { flex: 0 0 100px; font-weight: 600; color: var(--muted); }
.neu-news-item div { flex: 1 1 300px; min-width: 0; }

/* Wunschliste (Gastansicht) */
.neu-listhead { background: var(--surface); border-bottom: 1px solid var(--line); }
.neu-listhead .neu-wrap { display: flex; flex-wrap: wrap; gap: 28px 40px; align-items: flex-end; justify-content: space-between; padding-top: 44px; padding-bottom: 36px; }
.neu-listhead-text { flex: 1 1 520px; min-width: 0; display: flex; gap: 24px; align-items: flex-start; }
.neu-listhead-img { flex: none; width: 120px; height: 120px; border-radius: 20px; object-fit: cover; }
.neu-listhead-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.neu-listhead .neu-h1 { font-size: clamp(32px, 4.4vw, 54px); }
.neu-listhead-desc { margin: 0; font-size: 17px; line-height: 1.6; color: #46504B; max-width: 680px; }
.neu-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 14px; color: var(--muted); }

.neu-listbody { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; padding-top: 32px; }
.neu-listmain { flex: 999 1 620px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.neu-aside { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }

.neu-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.neu-filters { display: flex; flex-wrap: wrap; gap: 8px; }
body.neu .neu-filters a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; box-sizing: border-box; border-radius: 999px; border: 1.5px solid var(--line-strong); background: #FFFFFF; color: var(--ink); font-weight: 600; font-size: 15px; text-decoration: none; }
body.neu .neu-filters a:hover { border-color: var(--ink); }
body.neu .neu-filters a.is-active { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }
.neu-sort { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); }
body.neu .neu-sort select { font: inherit; font-size: 15px; color: var(--ink); background: #FFFFFF; border: 1.5px solid var(--line-strong); border-radius: 10px; padding: 0 12px; min-height: 44px; }

ul.neu-items { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.neu-item { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s; }
.neu-item:hover { box-shadow: 0 1px 2px rgba(22,32,28,.06), 0 16px 32px -16px rgba(22,32,28,.25); }
.neu-item-img { position: relative; flex: none; aspect-ratio: 4 / 3; overflow: hidden; background: #F0F2EC; display: flex; align-items: center; justify-content: center; color: #8A938E; }
/* absolut positioniert, damit die Bildgroesse den Kasten nie aufdehnt (Safari loest height:100% in Flex-Spalten nicht auf);
   Selektor muss spezifischer sein als "body.neu .neu-page img { height: auto }", sonst wird das Bild unten abgeschnitten */
body.neu .neu-item .neu-item-img img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; background: #FFFFFF; }
.neu-item-img .neu-chip { position: absolute; top: 12px; left: 12px; background: #FFFFFF; }
.neu-item.is-reserved .neu-item-img { opacity: .55; }
.neu-item-body { padding: 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.neu-item-shop { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--muted); }
.neu-item-shop img { max-height: 18px; }
.neu-item h3 { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.3; }
body.neu .neu-item h3 a { color: var(--ink); text-decoration: none; }
body.neu .neu-item h3 a:hover { color: var(--primary); text-decoration: underline; }
.neu-item-price { font-family: var(--font-display); font-size: 20px; font-weight: 700; }
body.neu .neu-item-list { font-size: 13px; font-weight: 700; color: var(--primary); text-decoration: none; }
body.neu .neu-item-list:hover { text-decoration: underline; }
.neu-item-desc { font-size: 14px; line-height: 1.55; color: #46504B; max-height: 6.2em; overflow: hidden; }
.neu-item-facts { font-size: 13px; color: var(--muted); }
.neu-item-note { font-size: 14px; background: var(--sun-soft); color: #3F2C00; border-radius: 10px; padding: 8px 12px; }
.neu-item-spacer { flex: 1; }
.neu-item-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.neu-item-actions .neu-btn { border-radius: 12px; width: 100%; }
.neu-reserved { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #EEF1EA; border-radius: 12px; padding: 0 14px; min-height: 44px; font-weight: 600; font-size: 15px; color: var(--ink-2); }
.neu-reserved span { display: inline-flex; align-items: center; gap: 6px; }
.neu-suggestion { border-style: dashed; }

.neu-empty { padding: 40px 28px; text-align: center; color: var(--muted); }

.neu-guide { padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.neu-guide-title { font-family: var(--font-display); font-weight: 700; font-size: 20px; }
.neu-guide ol { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; font-size: 15px; color: #46504B; }
.neu-guide li { display: flex; gap: 12px; }
.neu-guide li > span:first-child { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--primary-soft); color: var(--primary); font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.neu-sidebox { background: var(--sun-soft); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 10px; color: #5A4100; font-size: 15px; }
.neu-sidebox b { color: #3F2C00; font-size: 16px; }
body.neu .neu-sidebox a { color: #3F2C00; font-weight: 600; }
.neu-ad { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.neu-ad small { text-transform: uppercase; letter-spacing: .08em; font-weight: 600; font-size: 11px; color: var(--muted); }

/* Wunschliste (Besitzeransicht) */
.neu-ownerhead .neu-listhead-text { flex: none; }
.neu-ownerhead { padding: 28px; display: flex; flex-direction: column; gap: 20px; margin-bottom: 20px; }
.neu-ownertools { margin: 24px 0 12px; }
.neu-ownertools-right { display: flex; align-items: center; gap: 10px; }
.neu-count { font-family: var(--font-display); font-weight: 700; font-size: 20px; color: var(--ink); flex-basis: 100%; }
body.neu .neu-iconbtn { width: 44px; padding: 0; }
body.neu #search_input_bar { margin: 0 0 16px; }
body.neu #search_input_bar input { border: 0 !important; box-shadow: none !important; min-height: 40px; }
.neu-hint { margin: 0 0 12px; font-size: 14px; color: var(--muted); }
.neu-item-tools { display: flex; gap: 8px; align-items: center; }
.neu-item-tools .neu-btn { width: auto !important; flex: 1; border-radius: 12px; }
body.neu .neu-item-tools .neu-iconbtn { flex: 0 0 44px; }
body.neu .neu-item-tools .menuitemmove { margin: 0; flex: 0 0 44px; cursor: move; }
body.neu .neu-item-link { font-size: 14px; text-align: center; }
body.neu li.neu-item[style*="display: block"] { display: flex !important; }
body.neu ul.neu-items .ui-sortable-placeholder { visibility: visible !important; border: 2px dashed var(--line-strong); border-radius: 20px; background: transparent; }
.neu-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.neu .neu-item .reserviert_print { display: none; }

/* Formulare (Anmelden, Wunschliste erstellen) */
.neu-form { display: flex; flex-direction: column; gap: 6px; }
body.neu .neu-form label:not(.neu-check):not(.neu-visually-hidden) { display: block; font-weight: 600; font-size: 14px; color: var(--ink); margin-top: 12px; }
body.neu .neu-form label:first-of-type { margin-top: 0; }
body.neu .neu-form input[type=text], body.neu .neu-form input[type=password], body.neu .neu-form select, body.neu .neu-form textarea { width: 100%; }
body.neu .neu-form textarea { min-height: 140px; line-height: 1.5; resize: vertical; }
body.neu .neu-form abbr { text-decoration: none; color: #A3341A; }
.neu-fieldhint { display: block; font-size: 13px; color: var(--muted); margin: 0 0 4px; }
.neu-optional { font-weight: 500; font-size: 12px; color: var(--muted); background: var(--chip); border-radius: 999px; padding: 2px 8px; margin-left: 6px; }
.neu-formrow { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0 16px; }
.neu-formrow > div { display: flex; flex-direction: column; gap: 6px; }
body.neu .neu-form .neu-formrow label { margin-top: 12px; }
body.neu .neu-btn-block { width: 100%; margin-top: 18px; }
body.neu label.neu-check { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--ink-2); margin: 10px 0 0; font-weight: 400; cursor: pointer; }
body.neu label.neu-check input { flex: none; margin: 2px 0 0; }
body.neu label.neu-check small { color: var(--muted); }

body.neu .neu-fieldset { margin: 0 0 20px; padding: 24px 28px 28px; border: 0; box-shadow: inset 0 0 0 1px var(--line); min-width: 0; }
body.neu details.neu-fieldset { padding: 12px 28px 24px; }
body.neu fieldset.neu-fieldset > *:not(legend) { clear: both; }
.neu-fieldset legend { float: left; width: 100%; padding: 0; margin: 0 0 16px; font-family: var(--font-display); font-weight: 700; font-size: 21px; color: var(--ink); }
.neu-details > summary { cursor: pointer; font-weight: 600; color: var(--primary); list-style: none; display: flex; align-items: center; gap: 8px; min-height: 44px; }
.neu-details > summary::-webkit-details-marker { display: none; }
.neu-details > summary:before { content: "+"; display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 50%; background: var(--primary-soft); font-weight: 700; }
.neu-details[open] > summary:before { content: "\2212"; }
.neu-fieldset .neu-details { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 8px; }
.neu-more > summary { font-family: var(--font-display); font-size: 19px; color: var(--ink); }
.neu-domainrow { display: flex; flex-wrap: wrap; gap: 8px; }
body.neu .neu-domainrow input { flex: 1 1 140px; width: auto !important; }
body.neu .neu-domainrow select { flex: 1 1 220px; width: auto !important; }
.neu-status { display: inline-block; margin-top: 8px; font-weight: 600; font-size: 14px; border-radius: 8px; padding: 4px 10px; }
.neu-status-ok { background: var(--primary-soft); color: var(--primary); }
.neu-status-bad { background: #FBE7E1; color: #7A2A12; }

.neu-chipselect { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 8px; }
body.neu .neu-chipselect button { font: inherit; font-size: 15px; font-weight: 600; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--line-strong); background: #FFFFFF; color: var(--ink); cursor: pointer; }
body.neu .neu-chipselect button:hover { border-color: var(--ink); }
body.neu .neu-chipselect button.is-active { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }

.neu-submitbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin: 4px 0 8px; color: var(--muted); }

.neu-progress-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; color: var(--muted); }
.neu-progress-steps li { display: flex; align-items: center; gap: 8px; }
.neu-progress-steps li span { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--chip); font-weight: 700; color: var(--ink-2); }
.neu-progress-steps li.is-current { color: var(--ink); font-weight: 600; }
.neu-progress-steps li.is-current span { background: var(--primary); color: #FFFFFF; }

/* Anmelden */
.neu-intro { font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.neu-authgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; align-items: start; }
.neu-authcard { padding: 28px; }
.neu-authtitle { margin: 0 0 16px; font-family: var(--font-display); font-weight: 700; font-size: 22px; color: var(--ink); padding: 0; }
.neu-authtext { margin: -8px 0 12px; color: var(--muted); font-size: 15px; }
.neu-authlinks { margin: 14px 0 0; font-size: 14px; color: var(--muted); }
.neu-trust { display: flex; gap: 10px; align-items: flex-start; margin: 20px 0 0; font-size: 14px; color: var(--muted); }
.neu-trust svg { flex: none; margin-top: 2px; color: var(--primary); }

/* So funktioniert's */
ol.neu-howto { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.neu-howto li { display: flex; gap: 24px; padding: 28px; align-items: flex-start; }
.neu-howto .neu-step-num { flex: none; width: 56px; height: 56px; border-radius: 16px; background: var(--primary-soft); display: flex; align-items: center; justify-content: center; font-size: 30px; }
.neu-howto h2 { margin: 0 0 8px; font-family: var(--font-display); font-weight: 700; font-size: 22px; color: var(--ink); padding: 0; }
.neu-howto p { margin: 0 0 10px; font-size: 15px; line-height: 1.65; color: #46504B; }
.neu-howto a { font-weight: 600; }

/* Beispiel-Liste */
.neu-demo-bar { background: var(--sun-soft); color: #3F2C00; border-bottom: 1px solid #F1D99A; }
.neu-demo-bar .neu-wrap { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; padding-top: 12px; padding-bottom: 12px; font-size: 15px; }
.neu-filter { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; box-sizing: border-box; border-radius: 999px; border: 1.5px solid var(--line-strong); background: #FFFFFF; color: var(--ink); font-weight: 600; font-size: 15px; }
.neu-filter.is-active { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }
body.neu [aria-disabled="true"] { cursor: default; }

/* Feedback-Reiter (feedback.js) – das Bild bleibt als unsichtbare Klickfläche erhalten */
body.neu #wunschindex_nl_reiter {
	width: 30px !important; height: 104px !important; box-sizing: border-box; overflow: hidden;
	background: var(--surface); border: 1px solid var(--line); border-left: 0; border-radius: 0 10px 10px 0;
	box-shadow: 0 6px 16px -10px rgba(22,32,28,.35); transition: width .15s ease, background-color .15s ease;
}
body.neu #wunschindex_nl_reiter:after {
	content: "Feedback"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	writing-mode: vertical-rl; font: 600 12px/1 var(--font-body); letter-spacing: .06em; color: var(--muted); pointer-events: none;
}
body.neu #wunschindex_nl_reiter_image { position: absolute; inset: 0; width: 100% !important; height: 100% !important; opacity: 0; z-index: 1; }
body.neu #wunschindex_nl_reiter:hover { width: 34px !important; background: var(--primary-soft); border-color: #BFDCD7; }
body.neu #wunschindex_nl_reiter:hover:after { color: var(--primary); }

/* Feedback-Fenster – feedback.js setzt keinen z-index, positionierte Inhalte (z. B. Kartenbilder) lägen sonst darüber */
body.neu #wunschindex_overlay { z-index: 1001; left: 0; top: 0; }
body.neu #wunschindex_dialog { z-index: 1003; }
body.neu #wunschindex_dialog > table {
	background: var(--surface) !important; height: auto !important; border: 1px solid var(--line);
	border-radius: 20px; box-shadow: 0 24px 48px -16px rgba(22,32,28,.35);
}
body.neu #wunschindex_dialog > table:before {
	content: "Feedback"; display: block; position: absolute; margin: 20px 0 0 33px;
	font: 700 20px/1 var(--font-display); color: var(--ink);
}
body.neu #wunschindex_layerclose {
	margin-top: 12px; border-radius: 8px; cursor: pointer;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2356605B' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center no-repeat;
}
body.neu #wunschindex_layerclose:hover { background-color: var(--ground); }
body.neu #wunschindex_content { padding: 24px 0 28px; }
body.neu #wunschindex_content span { font-family: var(--font-body) !important; font-size: 14px !important; line-height: 1.55 !important; color: var(--ink-2) !important; }
body.neu #wunschindex_email, body.neu #wunschindex_feedback {
	display: block; width: 100% !important; box-sizing: border-box; margin: 4px 0 12px;
	background: #FFFFFF !important; border: 1.5px solid var(--line-strong) !important; border-radius: 10px;
	padding: 9px 12px !important; font: inherit; font-size: 15px; color: var(--ink);
}
body.neu #wunschindex_email:focus, body.neu #wunschindex_feedback:focus { outline: none; border-color: var(--primary) !important; box-shadow: 0 0 0 3px var(--primary-soft); }
body.neu #wunschindex_email[style*="255, 0, 0"], body.neu #wunschindex_feedback[style*="255, 0, 0"],
body.neu #wunschindex_email[style*="#ff0000"], body.neu #wunschindex_feedback[style*="#ff0000"] { border-color: #C2552F !important; box-shadow: 0 0 0 3px #FBE7E1; }
body.neu #wunschindex_btn_submit { margin-top: 4px; }

/* jQuery UI: Schließen-Knopf der Dialoge (statt Sprite-Icon aus dem alten Theme) */
body.neu .ui-dialog .ui-dialog-titlebar { position: relative; padding: 14px 56px 14px 18px; }
body.neu .ui-dialog .ui-dialog-titlebar-close {
	right: 8px; top: 50%; width: 36px; height: 36px; margin: -18px 0 0; padding: 0; border: 0; border-radius: 10px;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2356605B' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center no-repeat;
}
body.neu .ui-dialog .ui-dialog-titlebar-close:hover, body.neu .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; border: 0; background-color: #E6E9E1; }
body.neu .ui-dialog .ui-dialog-titlebar-close:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
body.neu .ui-dialog .ui-dialog-titlebar-close .ui-icon { display: none; }

/* jQuery UI: Kalender (Datepicker) */
body.neu .ui-datepicker {
	width: 17.5em; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface);
	box-shadow: 0 16px 32px -12px rgba(22,32,28,.3); font-family: var(--font-body); font-size: 14px; color: var(--ink);
}
body.neu .ui-datepicker .ui-datepicker-header { background: none; border: 0; color: var(--ink); padding: 2px 0 8px; }
body.neu .ui-datepicker .ui-datepicker-title { font-family: var(--font-display); font-weight: 700; font-size: 15px; line-height: 32px; margin: 0 36px; }
body.neu .ui-datepicker .ui-datepicker-prev, body.neu .ui-datepicker .ui-datepicker-next {
	top: 2px; width: 32px; height: 32px; border: 0; border-radius: 8px; cursor: pointer;
	background: transparent center no-repeat;
}
body.neu .ui-datepicker .ui-datepicker-prev { left: 2px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316201C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E"); }
body.neu .ui-datepicker .ui-datepicker-next { right: 2px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316201C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E"); }
body.neu .ui-datepicker .ui-datepicker-prev-hover, body.neu .ui-datepicker .ui-datepicker-next-hover { top: 2px; border: 0; background-color: var(--ground); }
body.neu .ui-datepicker .ui-datepicker-prev-hover { left: 2px; }
body.neu .ui-datepicker .ui-datepicker-next-hover { right: 2px; }
body.neu .ui-datepicker .ui-datepicker-prev .ui-icon, body.neu .ui-datepicker .ui-datepicker-next .ui-icon { display: none; }
body.neu .ui-datepicker table { font-size: 14px; margin: 0; }
body.neu .ui-datepicker th { color: var(--muted); font-weight: 600; font-size: 12px; padding: 6px 0; }
body.neu .ui-datepicker td { padding: 1px; }
body.neu .ui-datepicker td a.ui-state-default, body.neu .ui-datepicker td span.ui-state-default {
	border: 0; background: none; color: var(--ink); text-align: center; border-radius: 8px; padding: 6px 0; font-weight: 500;
}
body.neu .ui-datepicker td a.ui-state-hover { background: var(--ground); color: var(--ink); }
body.neu .ui-datepicker td a.ui-state-highlight { background: var(--sun-soft); color: #3F2C00; font-weight: 700; }
body.neu .ui-datepicker td a.ui-state-active { background: var(--primary); color: #FFFFFF; font-weight: 700; }
body.neu .ui-datepicker .ui-datepicker-other-month, body.neu .ui-datepicker .ui-state-disabled { opacity: .4; }

/* Weiterleitungsseiten (page_link, page_shoplink) */
body.neu-redirect { min-height: 100vh; }
.neu-redirect-wrap { max-width: 560px; margin: 0 auto; padding: 48px 24px 32px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; }
body.neu .neu-redirect-logo { justify-content: center; }
.neu-redirect-card { width: 100%; box-sizing: border-box; padding: 36px 32px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.neu-redirect-card .errorbox { text-align: left; width: 100%; box-sizing: border-box; }
.neu-redirect-icon { width: 56px; height: 56px; border-radius: 16px; background: var(--primary-soft); color: var(--primary); display: flex; align-items: center; justify-content: center; }
.neu-redirect-spinner { width: 44px; height: 44px; border-radius: 50%; border: 4px solid var(--primary-soft); border-top-color: var(--primary); animation: neu-spin .9s linear infinite; }
@keyframes neu-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .neu-redirect-spinner { animation-duration: 3s; } }
.neu-redirect-title { margin: 4px 0 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(24px, 4vw, 30px); letter-spacing: -0.025em; line-height: 1.15; color: var(--ink); overflow-wrap: anywhere; }
.neu-redirect-text { margin: 0; font-size: 16px; line-height: 1.6; color: #46504B; }
.neu-redirect-hint { margin: 8px 0 0; font-size: 14px; color: var(--muted); }
body.neu .neu-redirect-btn { margin-top: 6px; }
body.neu .neu-redirect-url { display: block; max-width: 100%; font-size: 13px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.neu .neu-redirect-url:hover { color: var(--primary); }
.neu-redirect-legal { margin: 0; font-size: 12px; line-height: 1.5; color: var(--muted); text-align: left; }
.neu-redirect-footer { margin: 0; font-size: 13px; color: var(--muted); }
body.neu .neu-redirect-footer a { color: var(--muted); }

/* Vorschlag-Bereich & jQuery-UI-Dialoge */
.neu-suggest-box { padding: 24px; font-size: 14px; color: var(--ink-2); }
.neu-suggest-box h2 { font-family: var(--font-display); font-size: 24px; padding: 0 0 12px; }
body.neu .ui-dialog { font-family: var(--font-body); border-radius: 16px; border: 1px solid var(--line); box-shadow: 0 24px 48px -16px rgba(22,32,28,.3); }
body.neu .ui-dialog .ui-dialog-titlebar { background: var(--ground); border: 0; border-radius: 12px; color: var(--ink); font-family: var(--font-display); }
body.neu .ui-dialog .ui-dialog-content { font-size: 14px; line-height: 1.6; color: var(--ink-2); }
body.neu #vouchers, body.neu #gemeinsamschenken { max-height: 70vh; overflow-y: auto; }
/* Buttons in Dialogen: Farben kommen aus den allgemeinen menuitem4r/4l-Regeln (weiß auf Petrol bzw. dunkel auf Weiß) */
body.neu .ui-dialog .menuitem4r a, body.neu .ui-dialog .menuitem4l a { font-weight: 600; }

@media (max-width: 640px) {
	body.neu #wunschindex_nl_reiter { width: 24px !important; height: 88px !important; opacity: .85; }
	body.neu #wunschindex_nl_reiter:after { font-size: 11px; }
	body.neu .neu-fieldset { padding: 20px; }
	body.neu details.neu-fieldset { padding: 8px 20px 16px; }
	.neu-authcard { padding: 20px; }
	.neu-howto li { padding: 20px; gap: 16px; }
	.neu-howto .neu-step-num { width: 44px; height: 44px; font-size: 24px; }
	.neu-nav { flex-basis: 100%; justify-content: flex-start; gap: 0 18px; order: 3; }
	.neu-hero { padding-top: 40px; gap: 32px; }
	.neu-section { padding-top: 56px; padding-bottom: 56px; }
	.neu-cta { padding: 36px 24px; }
	.neu-listhead-img { width: 80px; height: 80px; }
	.neu-item-img { aspect-ratio: auto; height: 200px; }
	.neu-page { padding-top: 20px; gap: 20px; }
	body.neu .boxinner { padding: 20px; }
	body.neu .neu-page .boxinner [style*="float:left"], body.neu .neu-page .boxinner [style*="float: left"] { float: none !important; width: auto !important; margin-left: 0 !important; }
	body.neu .menuitem4r a, body.neu .menuitem4l a { white-space: normal; }
	body.neu .neu-page .boxinner table:not(.tablesorter), body.neu .neu-page .boxinner table:not(.tablesorter) > tbody,
	body.neu .neu-page .boxinner table:not(.tablesorter) tr, body.neu .neu-page .boxinner table:not(.tablesorter) td {
		display: block; width: auto !important; border-left: 0 !important; padding-left: 0 !important;
	}
	body.neu .neu-page .boxinner [style*="float:right"], body.neu .neu-page .boxinner [style*="float: right"], body.neu .neu-page .boxinner [align="right"] {
		float: none !important; width: auto !important; text-align: left !important;
	}
	body.neu .neu-page .halfbox { float: none; width: auto; border-right: 0 !important; margin: 0 0 24px; }
	body.neu .neu-page .boxinner [style*="margin-top:-"] { margin-top: 0 !important; height: auto !important; margin-bottom: 16px; }
	body.neu .neu-page .boxinner table:not(.tablesorter) input[type=text], body.neu .neu-page .boxinner table:not(.tablesorter) input[type=password] { width: 100%; }
}

@media print {
	.neu-header, .neu-footer, .neu-aside, .neu-toolbar, .neu-item-actions { display: none; }
	body.neu { background: #FFFFFF; }
}
