3 Commits

Author SHA1 Message Date
Hermes
41ade292c4 fix(map): correct OSM marker to actual address (was 556m north-east)
All checks were successful
Lint / PHP Syntax Check (push) Successful in 59s
PHPUnit / PHP Unit Tests (push) Successful in 1m7s
Lint / HTML Lint (htmlhint) (push) Successful in 1m35s
Lint / CSS Lint (stylelint) (push) Successful in 1m41s
2026-06-14 17:06:03 +00:00
Hermes
ac8b3f4d79 fix(css): constrain Impressum + Datenschutz to 1200px container with minimal typografie
All checks were successful
Lint / PHP Syntax Check (push) Successful in 57s
PHPUnit / PHP Unit Tests (push) Successful in 1m7s
Lint / HTML Lint (htmlhint) (push) Successful in 1m36s
Lint / CSS Lint (stylelint) (push) Successful in 1m40s
2026-06-14 17:03:12 +00:00
Hermes
a25eac3b04 fix(css): constrain gallery heading, pricing + contact sections to main container width
All checks were successful
Lint / PHP Syntax Check (push) Successful in 29s
PHPUnit / PHP Unit Tests (push) Successful in 37s
Lint / CSS Lint (stylelint) (push) Successful in 1m13s
Lint / HTML Lint (htmlhint) (push) Successful in 1m7s
2026-06-14 16:36:03 +00:00
3 changed files with 59 additions and 155 deletions

View File

@@ -36,19 +36,19 @@ jobs:
mkdir -p ~/.ssh
echo "$DEPLOY_SSH_KEY" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -H -p 9716 46.225.136.66 >> ~/.ssh/known_hosts 2>/dev/null
ssh-keyscan -H 188.245.242.194 >> ~/.ssh/known_hosts 2>/dev/null
echo "✅ SSH key configured"
- name: Verify SSH connectivity
if: env.skip_deploy != '1'
run: |
ssh -o StrictHostKeyChecking=yes -i ~/.ssh/id_ed25519 -p 9716 \
root@46.225.136.66 "echo 'SSH-OK as:' \$(whoami) 'on' \$(hostname)"
ssh -o StrictHostKeyChecking=yes -i ~/.ssh/id_ed25519 \
haustest@188.245.242.194 "echo 'SSH-OK as:' \$(whoami) 'on' \$(hostname)"
- name: Backup current test deployment
if: env.skip_deploy != '1'
run: |
ssh -i ~/.ssh/id_ed25519 -p 9716 root@46.225.136.66 \
ssh -i ~/.ssh/id_ed25519 haustest@188.245.242.194 \
"cd /home/haustest/htdocs && \
tar czf /home/haustest/backup-pre-deploy-\$(date +%Y%m%d-%H%M%S).tar.gz \
haus.test.kies-media.de && \
@@ -83,16 +83,8 @@ jobs:
--exclude='.stylelintrc.json' \
--exclude='.editorconfig' \
--exclude='.well-known' \
-e "ssh -i ~/.ssh/id_ed25519 -p 9716" \
./ root@46.225.136.66:/home/haustest/htdocs/haus.test.kies-media.de/
- name: Fix ownership and install dependencies
if: env.skip_deploy != '1'
run: |
ssh -i ~/.ssh/id_ed25519 -p 9716 root@46.225.136.66 \
"cd /home/haustest/htdocs/haus.test.kies-media.de && \
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --no-interaction --no-progress && \
chown -R haustest:haustest /home/haustest/htdocs/haus.test.kies-media.de"
-e "ssh -i ~/.ssh/id_ed25519" \
./ haustest@188.245.242.194:/home/haustest/htdocs/haus.test.kies-media.de/
- name: Smoke test
if: env.skip_deploy != '1'
@@ -137,6 +129,6 @@ jobs:
echo "- **Target:** https://haus.test.kies-media.de" >> $GITHUB_STEP_SUMMARY
echo "- **Branch:** \`${{ github.ref_name }}\`" >> $GITHUB_STEP_SUMMARY
echo "- **Commit:** \`${{ github.sha }}\`" >> $GITHUB_STEP_SUMMARY
echo "- **Server:** root@46.225.136.66:9716 (cp3)" >> $GITHUB_STEP_SUMMARY
echo "- **Server:** haustest@188.245.242.194" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Review URL:** https://haus.test.kies-media.de" >> $GITHUB_STEP_SUMMARY

View File

@@ -86,7 +86,7 @@ $gridItems = [
</section>
<section class="gallery-section" id="galerie" aria-label="<?= htmlspecialchars($t('gallery.aria'), ENT_QUOTES) ?>">
<div class="section-head">
<div class="section-head gallery-header">
<span class="section-eyebrow"><?= htmlspecialchars($t('gallery.eyebrow'), ENT_QUOTES) ?></span>
<h2><?= htmlspecialchars($t('gallery.h2'), ENT_QUOTES) ?></h2>
</div>
@@ -262,7 +262,7 @@ $gridItems = [
<div class="lage-map-wrapper">
<iframe
title="<?= htmlspecialchars($t('loc.map_title'), ENT_QUOTES) ?>"
src="https://www.openstreetmap.org/export/embed.html?bbox=10.7535%2C50.5095%2C10.7705%2C50.5185&amp;layer=mapnik&amp;marker=50.5140%2C10.7620"
src="https://www.openstreetmap.org/export/embed.html?bbox=10.7424%2C50.5072%2C10.7524%2C50.5108&amp;layer=mapnik&amp;marker=50.5090%2C10.7474"
loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
<p class="lage-address">
<strong><?= htmlspecialchars($t('loc.address'), ENT_QUOTES) ?>:</strong><br>

View File

@@ -543,17 +543,11 @@ nav.scrolled {
}
.gallery-header {
padding: 5rem 3rem 3rem;
padding: 5rem 1.5rem 3rem;
max-width: 1400px;
margin: 0 auto;
}
.gallery-section .section-head {
max-width: 1400px;
margin: 0 auto;
padding: 5rem 1.5rem 2.5rem;
}
.gallery-header h2 {
font-family: "Cormorant Garamond", serif;
font-size: clamp(2rem, 3vw, 2.8rem);
@@ -642,10 +636,6 @@ nav.scrolled {
.gallery-header {
padding: 3rem 1.5rem 2rem;
}
.gallery-section .section-head {
padding: 3rem 1rem 2rem;
}
}
@media (width <= 480px) {
@@ -670,63 +660,26 @@ nav.scrolled {
color: var(--charcoal);
}
.floors-accordion {
display: flex;
flex-direction: column;
gap: 0.75rem;
margin-top: -0.75rem;
.floor-accordion {
border-top: 1px solid var(--warm);
}
.floor-item {
border: 1px solid var(--warm);
border-radius: 4px;
background: var(--white);
border-bottom: 1px solid var(--warm);
overflow: hidden;
position: relative;
transition:
border-color 0.25s ease,
box-shadow 0.25s ease;
}
.floor-item:hover {
border-color: var(--stone);
}
.floor-item.open {
border-color: var(--accent);
box-shadow: 0 4px 20px rgb(28 26 23 / 6%);
}
.floor-item.open::before {
content: "";
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 3px;
background: var(--accent);
}
.floor-header {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
padding: 1.25rem 1.5rem;
padding: 1.5rem 0;
cursor: pointer;
list-style: none;
transition: background 0.2s ease;
transition: color 0.2s;
}
.floor-header::-webkit-details-marker {
display: none;
}
.floor-header::marker {
content: "";
}
.floor-header:hover {
background: var(--cream);
.floor-header:hover .floor-title {
color: var(--accent);
}
.floor-title {
@@ -736,60 +689,41 @@ nav.scrolled {
transition: color 0.2s;
}
.floor-header:hover .floor-title {
color: var(--accent);
}
.floor-area {
margin-left: auto;
.floor-size {
font-size: 0.78rem;
letter-spacing: 0.1em;
color: var(--stone);
display: flex;
align-items: center;
gap: 0.75rem;
gap: 1rem;
}
.floor-icon {
width: 32px;
height: 32px;
border: 1.5px solid var(--warm);
width: 24px;
height: 24px;
border: 1px solid var(--warm);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.15rem;
font-weight: 300;
line-height: 1;
font-size: 0.8rem;
color: var(--stone);
background: var(--white);
flex-shrink: 0;
transition:
transform 0.3s ease,
border-color 0.25s ease,
color 0.25s ease,
background 0.25s ease;
}
.floor-header:hover .floor-icon {
border-color: var(--accent);
color: var(--accent);
transform 0.3s,
border-color 0.3s;
}
.floor-item.open .floor-icon {
transform: rotate(45deg);
border-color: var(--accent);
color: var(--accent);
background: var(--cream);
}
.floor-body {
display: none;
padding: 0 1.5rem 1.5rem;
padding: 0 0 1.5rem;
max-width: 100%;
overflow: hidden;
border-top: 1px solid var(--warm);
margin-top: -1px;
}
.floor-rooms-grid {
@@ -890,11 +824,6 @@ img.floor-plan-img {
margin: 0 auto;
}
.pricing-inner {
max-width: 1200px;
margin: 0 auto;
}
.pricing-section .section-eyebrow {
color: var(--accent-light);
}
@@ -1147,31 +1076,27 @@ img.floor-plan-img {
margin: 0 auto;
}
.contact-inner {
max-width: 700px;
margin: 0 auto;
text-align: center;
}
.contact-inner h2 {
.contact-section h2 {
font-family: "Cormorant Garamond", serif;
font-size: clamp(2.2rem, 4vw, 3.5rem);
font-weight: 300;
line-height: 1.15;
color: var(--charcoal);
margin-bottom: 1rem;
text-align: center;
}
.contact-inner h2 em {
.contact-section h2 em {
font-style: italic;
color: var(--accent);
}
.contact-inner p {
.contact-section p {
font-size: 0.9rem;
color: var(--stone);
line-height: 1.8;
margin-bottom: 2.5rem;
text-align: center;
}
.contact-form {
@@ -1771,39 +1696,34 @@ nav:not(.scrolled) .locale-switcher__trigger:focus-visible {
max-width: 1200px;
margin: 0 auto;
padding: 6rem 3rem;
color: var(--dark);
}
.legal-page .section-eyebrow {
display: block;
margin-bottom: 1rem;
color: var(--stone-strong);
line-height: 1.85;
}
.legal-page h1 {
font-family: "Cormorant Garamond", serif;
font-size: clamp(2rem, 3.5vw, 3rem);
font-size: clamp(2.4rem, 4vw, 3.4rem);
font-weight: 300;
line-height: 1.2;
margin-bottom: 2.5rem;
line-height: 1.1;
color: var(--charcoal);
margin: 0.5rem 0 2.5rem;
}
.legal-page h2 {
font-family: "DM Sans", sans-serif;
font-size: 1.1rem;
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.04em;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--charcoal);
margin: 2rem 0 0.75rem;
margin: 2.5rem 0 1rem;
}
.legal-page h3 {
font-family: "DM Sans", sans-serif;
font-size: 0.85rem;
font-size: 0.95rem;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--stone-strong);
color: var(--charcoal);
margin: 1.5rem 0 0.5rem;
}
@@ -1813,11 +1733,7 @@ nav:not(.scrolled) .locale-switcher__trigger:focus-visible {
font-size: 0.95rem;
line-height: 1.85;
color: var(--stone-strong);
}
.legal-page address {
font-style: normal;
margin-bottom: 1rem;
}
.legal-page ul {
@@ -1827,47 +1743,43 @@ nav:not(.scrolled) .locale-switcher__trigger:focus-visible {
}
.legal-page ul li {
margin-bottom: 0.25rem;
margin-bottom: 0.35rem;
}
.legal-page a {
color: var(--accent);
text-decoration: none;
border-bottom: 1px solid rgb(139 105 20 / 25%);
transition:
border-color 0.2s,
color 0.2s;
text-decoration: underline;
text-underline-offset: 0.2em;
text-decoration-thickness: 1px;
}
.legal-page a:hover {
color: var(--accent-strong);
border-bottom-color: var(--accent-strong);
color: var(--accent-light);
}
.legal-divider {
border: none;
border: 0;
border-top: 1px solid var(--warm);
margin: 2.5rem 0;
margin: 2rem 0;
}
.legal-back {
display: inline-block;
margin-top: 2.5rem;
font-size: 0.78rem;
margin-top: 3rem;
font-family: "DM Sans", sans-serif;
font-size: 0.72rem;
font-weight: 600;
letter-spacing: 0.15em;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--accent);
border-bottom: 1px solid var(--accent);
padding-bottom: 2px;
transition:
color 0.2s,
border-color 0.2s;
text-decoration: none;
padding-bottom: 0.25rem;
border-bottom: 1px solid currentcolor;
transition: color 0.2s;
}
.legal-back:hover {
color: var(--accent-strong);
border-bottom-color: var(--accent-strong);
color: var(--accent-light);
}
@media (width <= 768px) {