This commit is contained in:
Hermes
2026-06-04 17:23:49 +00:00
parent c737312ada
commit 7dd8023222
4 changed files with 315 additions and 118 deletions

View File

@@ -54,6 +54,7 @@ a:focus-visible {
--charcoal: #2e2b26;
--accent: #8b6914;
--accent-light: #c49a2a;
--accent-strong: #5a450d;
--white: #fdfcfa;
}
@@ -338,7 +339,7 @@ nav.scrolled .nav-hamburger span::after {
gap: 2.5rem;
align-items: center;
font-size: 0.82rem;
color: rgb(255 255 255 / 60%);
color: rgb(255 255 255 / 88%);
letter-spacing: 0.05em;
}
@@ -441,10 +442,10 @@ nav.scrolled .nav-hamburger span::after {
.section-eyebrow {
font-size: 0.72rem;
font-weight: 500;
font-weight: 600;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--accent);
color: var(--accent-strong);
margin-bottom: 1rem;
}
@@ -812,15 +813,21 @@ nav.scrolled .nav-hamburger span::after {
font-size: 0.72rem;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--stone);
color: rgb(255 255 255 / 70%);
margin-bottom: 1rem;
}
.price-card.highlight .pc-label {
.price-card .price-label {
display: block;
font-size: 0.72rem;
letter-spacing: 0.15em;
text-transform: uppercase;
color: rgb(255 255 255 / 70%);
margin-bottom: 0.8rem;
}
.pc-val {
.price-card .price-value {
display: block;
font-family: "Cormorant Garamond", serif;
font-size: 2.8rem;
font-weight: 600;
@@ -829,15 +836,37 @@ nav.scrolled .nav-hamburger span::after {
margin-bottom: 0.3rem;
}
.pc-sub {
.price-card .price-unit {
display: block;
font-size: 0.78rem;
color: var(--stone);
color: rgb(255 255 255 / 75%);
}
.price-card.highlight .pc-sub {
.price-card.highlight .price-label,
.price-card.highlight .price-unit {
color: rgb(255 255 255 / 85%);
}
.pricing-section .rent-notes {
margin-top: 2.5rem;
display: grid;
grid-template-columns: 12rem 1fr;
gap: 0.5rem 1.5rem;
}
.pricing-section .rent-notes dt {
font-size: 0.78rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: rgb(255 255 255 / 70%);
}
.pricing-section .rent-notes dd {
margin: 0;
color: var(--white);
font-size: 0.95rem;
}
.price-note {
margin-top: 2.5rem;
padding-top: 2.5rem;
@@ -1210,6 +1239,24 @@ footer {
display: flex;
}
/* Logo: keep icon, hide text on small viewports */
.logo-text {
display: none;
}
/* Locale switcher: replace 4-flag list with single-trigger dropdown */
.locale-switcher {
display: none;
}
.locale-switcher-mobile {
display: block;
}
.locale-switcher-mobile[open] > .locale-switcher-mobile__menu {
display: block;
}
/* Mobile slide-down nav */
nav.mobile-open .nav-links {
display: flex;
@@ -1324,14 +1371,16 @@ footer {
}
}
/* LOCALE SWITCHER (sub-Issue D) */
.locale-switcher {
display: flex;
align-items: center;
gap: 0.25rem;
list-style: none;
margin: 0;
padding: 0;
/* LOCALE SWITCHER (sub-Issue D) — desktop only */
@media (width > 900px) {
.locale-switcher {
display: flex;
align-items: center;
gap: 0.25rem;
list-style: none;
margin: 0;
padding: 0;
}
}
.locale-switcher__item {
@@ -1443,6 +1492,110 @@ nav.scrolled .locale-switcher__option.is-current {
border: 0;
}
/* MOBILE LOCALE SWITCHER (dropdown — defaults to hidden on desktop) */
@media (width > 900px) {
.locale-switcher-mobile {
display: none;
}
}
.locale-switcher-mobile {
position: relative;
}
.locale-switcher-mobile__trigger {
display: inline-flex;
align-items: center;
gap: 0.4rem;
padding: 0.55rem 0.7rem;
border: 1px solid rgb(0 0 0 / 12%);
border-radius: 6px;
background: rgb(255 255 255 / 95%);
cursor: pointer;
list-style: none;
min-height: 44px;
color: var(--dark);
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.04em;
}
.locale-switcher-mobile__trigger::-webkit-details-marker {
display: none;
}
.locale-switcher-mobile__current {
display: inline-flex;
align-items: center;
gap: 0.4rem;
}
.locale-switcher-mobile__current-code {
letter-spacing: 0.05em;
}
.locale-switcher-mobile__caret {
font-size: 0.7rem;
transition: transform 0.2s ease;
}
.locale-switcher-mobile[open] .locale-switcher-mobile__caret {
transform: rotate(180deg);
}
.locale-switcher-mobile__menu {
position: absolute;
top: calc(100% + 6px);
right: 0;
min-width: 180px;
margin: 0;
padding: 0.4rem;
list-style: none;
background: var(--white);
border: 1px solid var(--warm);
border-radius: 8px;
box-shadow: 0 8px 24px rgb(0 0 0 / 12%);
z-index: 60;
display: none;
}
.locale-switcher-mobile__option {
display: flex;
align-items: center;
gap: 0.6rem;
padding: 0.6rem 0.7rem;
border-radius: 4px;
text-decoration: none;
color: var(--dark);
font-size: 0.85rem;
min-height: 44px;
}
.locale-switcher-mobile__option.is-current {
background: var(--cream);
color: var(--accent-strong);
font-weight: 600;
}
.locale-switcher-mobile__option:hover,
.locale-switcher-mobile__option:focus-visible {
background: var(--warm);
outline: none;
}
nav.scrolled .locale-switcher-mobile__trigger {
background: var(--white);
color: var(--dark);
border-color: var(--warm);
}
nav:not(.scrolled) .locale-switcher-mobile__trigger {
background: rgb(255 255 255 / 12%);
color: var(--white);
border-color: rgb(255 255 255 / 30%);
backdrop-filter: blur(4px);
}
/* FORM FIELD ERRORS (sub-Issue E) */
.form-field-error {
margin: 0.375rem 0 0;