Files
2026-06-25 22:36:35 +08:00

342 lines
7.5 KiB
CSS

/*
* SewJoy Theme - Design Yours / Custom Design Flow Stylesheet
*
* Renders the "Custom Design Flow Light- Home" frame
* (design/homepage-wireframe.pen → M1SPz). Reuses home.css tokens for
* the cream surface + nav/footer + bond-card; adds the splash carousel,
* the three-series wrapper, and the Featured Designs card family.
*
* Design tokens mirrored for self-sufficiency.
*/
:root {
--cream: #F8F5F0;
--dark: #1A1A1A;
--white: #FFFFFF;
--accent: #C8956C;
--text-primary: #1A1A1A;
--text-muted: #8C7B6E;
--text-soft: #3D3530;
--border: #E8E0D5;
--font-display: 'Playfair Display', Georgia, serif;
--font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
--shadow-card: 0 2px 10px rgba(0, 0, 0, 0.06);
--shadow-hover: 0 8px 24px rgba(44, 36, 22, 0.08);
}
/* ============================================
DY SPLASH — 3-step carousel
============================================ */
.dy-splash {
position: relative;
width: 100%;
height: 480px;
background-color: var(--white);
overflow: hidden;
}
.dy-splash__viewport {
position: relative;
width: 100%;
height: 100%;
}
.dy-splash__slide {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.35s ease;
pointer-events: none;
}
.dy-splash__slide.is-active {
opacity: 1;
pointer-events: auto;
}
.dy-splash__image {
position: absolute;
inset: 0;
background-color: var(--slide-tone, #F0E8DC);
}
.dy-splash__overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 560px;
max-width: calc(100% - 80px);
display: flex;
flex-direction: column;
gap: 16px;
text-align: center;
}
.dy-splash__eyebrow {
font-family: var(--font-body);
font-size: 11px;
font-weight: 600;
letter-spacing: 3px;
color: var(--accent);
}
.dy-splash__title {
margin: 0;
font-family: var(--font-display);
font-size: clamp(36px, 5vw, 56px);
font-weight: 700;
line-height: 1.1;
color: var(--text-primary);
}
.dy-splash__desc {
margin: 0;
font-family: var(--font-body);
font-size: 15px;
font-weight: 400;
line-height: 1.5;
color: var(--text-soft);
}
/* Arrows */
.dy-splash__arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 48px;
height: 48px;
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.4);
border: 0;
color: var(--text-primary);
font-size: 32px;
font-weight: 700;
line-height: 1;
cursor: pointer;
transition: background-color 0.15s ease;
z-index: 2;
display: inline-flex;
align-items: center;
justify-content: center;
}
.dy-splash__arrow:hover {
background-color: rgba(255, 255, 255, 0.8);
}
.dy-splash__arrow--prev { left: 32px; }
.dy-splash__arrow--next { right: 32px; }
/* Dots */
.dy-splash__dots {
position: absolute;
bottom: 22px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 8px;
z-index: 2;
}
.dy-splash__dot {
width: 8px;
height: 8px;
border-radius: 4px;
background-color: var(--border);
border: 0;
padding: 0;
cursor: pointer;
transition: background-color 0.15s ease, width 0.2s ease;
}
.dy-splash__dot.is-active {
width: 32px;
background-color: var(--accent);
}
/* ============================================
DY THREE SERIES — reuses .bond-card* from home.css
============================================ */
.dy-three-series {
background-color: var(--cream);
padding: 56px 0;
display: flex;
flex-direction: column;
align-items: center;
gap: 28px;
}
.dy-three-series__header {
text-align: center;
display: flex;
flex-direction: column;
gap: 6px;
}
.dy-three-series__heading {
margin: 0;
font-family: var(--font-display);
font-size: clamp(26px, 3vw, 32px);
font-weight: 700;
letter-spacing: 3px;
color: var(--text-primary);
}
.dy-three-series__subtitle {
margin: 0;
font-family: var(--font-body);
font-size: 13px;
color: var(--text-muted);
}
.dy-three-series__cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
width: 100%;
padding: 0; /* matches home tailored-bond: align flush with page edges */
}
/* ============================================
DY FEATURED DESIGNS — 4 hardcoded cards
============================================ */
.dy-featured {
background-color: var(--white);
padding: 64px;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px;
}
.dy-featured__header {
text-align: center;
display: flex;
flex-direction: column;
gap: 8px;
}
.dy-featured__heading {
margin: 0;
font-family: var(--font-display);
font-size: clamp(28px, 3.5vw, 36px);
font-weight: 700;
color: var(--text-primary);
}
.dy-featured__subhead {
margin: 0;
font-family: var(--font-body);
font-size: 14px;
font-weight: 400;
color: var(--text-muted);
}
.dy-featured__row {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
width: 100%;
}
.dy-feat-card {
background-color: var(--white);
border-radius: 8px;
overflow: hidden;
box-shadow: var(--shadow-card);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dy-feat-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-hover);
}
.dy-feat-card__media {
height: 220px;
background-color: var(--card-tone, #E8E0D5);
}
.dy-feat-card__body {
display: flex;
flex-direction: column;
gap: 4px;
padding: 20px 24px;
}
.dy-feat-card__title {
margin: 0;
font-family: var(--font-display);
font-size: 18px;
font-weight: 700;
color: var(--text-primary);
line-height: 1.3;
}
.dy-feat-card__maker {
font-family: var(--font-body);
font-size: 11px;
font-weight: 400;
letter-spacing: 1px;
color: var(--text-muted);
}
.dy-feat-card__cta {
display: inline-flex;
align-items: center;
gap: 6px;
padding-top: 10px;
font-family: var(--font-body);
font-size: 11px;
font-weight: 600;
letter-spacing: 1.5px;
color: var(--text-primary);
text-decoration: none;
}
.dy-feat-card__cta:hover {
color: var(--accent);
}
/* ============================================
RESPONSIVE
============================================ */
@media screen and (max-width: 1024px) {
.dy-splash { height: 400px; }
.dy-splash__overlay { width: 480px; }
.dy-splash__arrow--prev { left: 16px; }
.dy-splash__arrow--next { right: 16px; }
.dy-three-series__cards {
grid-template-columns: repeat(2, 1fr);
}
.dy-featured { padding: 48px 32px; }
.dy-featured__row {
grid-template-columns: repeat(2, 1fr);
}
}
@media screen and (max-width: 720px) {
.dy-splash { height: 380px; }
.dy-splash__overlay {
width: calc(100% - 80px);
gap: 12px;
}
.dy-splash__title { font-size: 32px; }
.dy-splash__desc { font-size: 14px; }
.dy-splash__arrow { width: 40px; height: 40px; font-size: 24px; }
.dy-splash__arrow--prev { left: 12px; }
.dy-splash__arrow--next { right: 12px; }
.dy-three-series { padding: 40px 20px; }
.dy-three-series__cards {
grid-template-columns: 1fr;
}
.dy-featured { padding: 36px 20px; }
.dy-featured__row {
grid-template-columns: 1fr;
}
}