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

View File

@@ -86,7 +86,7 @@ $gridItems = [
</section> </section>
<section class="gallery-section" id="galerie" aria-label="<?= htmlspecialchars($t('gallery.aria'), ENT_QUOTES) ?>"> <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> <span class="section-eyebrow"><?= htmlspecialchars($t('gallery.eyebrow'), ENT_QUOTES) ?></span>
<h2><?= htmlspecialchars($t('gallery.h2'), ENT_QUOTES) ?></h2> <h2><?= htmlspecialchars($t('gallery.h2'), ENT_QUOTES) ?></h2>
</div> </div>
@@ -262,7 +262,7 @@ $gridItems = [
<div class="lage-map-wrapper"> <div class="lage-map-wrapper">
<iframe <iframe
title="<?= htmlspecialchars($t('loc.map_title'), ENT_QUOTES) ?>" 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> loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
<p class="lage-address"> <p class="lage-address">
<strong><?= htmlspecialchars($t('loc.address'), ENT_QUOTES) ?>:</strong><br> <strong><?= htmlspecialchars($t('loc.address'), ENT_QUOTES) ?>:</strong><br>

View File

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