:root {
--primary-green: #7FB3A3; --secondary-green: #ACD7D2; --light-green: #C3FDFB; --accent-gold: #D3AE27; --accent-red: #B85450; --earth-tone: #B09E99; --warm-white: #FEFEFE;
--cream-bg: #F8F6F3;
--text-dark: #2C3E50;
--text-medium: #5D6D7E;
--text-light: #85929E;
--shadow-soft: 0 4px 20px rgba(127, 179, 163, 0.1);
--shadow-medium: 0 8px 30px rgba(127, 179, 163, 0.15);
--shadow-premium: 0 12px 40px rgba(127, 179, 163, 0.2);
--transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
--spacing-xs: 0.5rem;
--spacing-sm: 1rem;
--spacing-md: 1.5rem;
--spacing-lg: 2rem;
--spacing-xl: 3rem;
--spacing-xxl: 4rem;
--font-primary: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
--font-display: 'Playfair Display', Georgia, serif;
--border-radius: 12px;
--border-radius-lg: 20px;
} .contact-page,
.guide-the-page,
.histoire-lin-page {
font-family: var(--font-primary);
line-height: 1.6;
color: var(--text-dark);
background: var(--cream-bg);
min-height: 100vh;
} .contact-page .container,
.guide-the-page .container,
.histoire-lin-page .container {
max-width: 1200px;
margin: 0 auto;
padding: var(--spacing-xl) var(--spacing-lg);
} .contact-page .content-wrapper,
.guide-the-page .content-wrapper,
.histoire-lin-page .content-wrapper {
display: block;
width: 100%;
}
.contact-page .content-area,
.guide-the-page .content-area,
.histoire-lin-page .content-area {
width: 100%;
max-width: none;
} .page-header {
text-align: center;
padding: var(--spacing-xxl) var(--spacing-xl);
background: linear-gradient(135deg,
rgba(127, 179, 163, 0.08),
rgba(172, 215, 210, 0.08));
border-radius: var(--border-radius-lg);
margin-bottom: var(--spacing-xxl);
position: relative;
overflow: hidden;
box-shadow: var(--shadow-soft);
}
.page-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--primary-green), var(--accent-gold), var(--secondary-green));
}
.chinese-subtitle {
font-size: 1.2rem;
color: var(--text-medium);
font-style: italic;
margin-bottom: var(--spacing-sm);
opacity: 0.8;
}
.page-title {
font-family: var(--font-display);
font-size: clamp(2.5rem, 5vw, 4rem);
font-weight: 700;
color: var(--primary-green);
margin-bottom: var(--spacing-md);
line-height: 1.2;
text-shadow: 0 2px 4px rgba(0,0,0,0.1);
position: relative;
} .contact-page h2,
.guide-the-page h2,
.histoire-lin-page h2,
.contact-page h3,
.guide-the-page h3,
.histoire-lin-page h3 {
font-family: var(--font-display);
color: var(--primary-green);
margin-bottom: var(--spacing-md);
font-weight: 600;
}
.page-subtitle,
.guide-intro p,
.story-intro p {
font-size: 1.2rem;
color: var(--text-medium);
max-width: 800px;
margin: 0 auto;
line-height: 1.6;
} .story-badges {
display: flex;
justify-content: center;
gap: var(--spacing-sm);
margin-bottom: var(--spacing-md);
flex-wrap: wrap;
}
.story-badge {
display: inline-block;
background: var(--light-green);
color: var(--primary-green);
padding: 8px 16px;
border-radius: 25px;
font-size: 0.9rem;
font-weight: 600;
letter-spacing: 0.5px;
}
.expert-signature {
margin-top: var(--spacing-md);
font-style: italic;
color: var(--accent-gold);
font-weight: 500;
}  .contact-hero {
min-height: 60vh;
background: linear-gradient(135deg,
rgba(127, 179, 163, 0.9),
rgba(172, 215, 210, 0.8)),
url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect width="100" height="100" fill="rgba(255,255,255,0.05)"/></svg>') center/cover;
display: flex;
align-items: center;
color: white;
text-align: center;
position: relative;
}
.contact-content {
position: relative;
z-index: 2;
max-width: 800px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.contact-title {
font-family: var(--font-display);
font-size: clamp(2.5rem, 5vw, 4rem);
font-weight: 700;
margin-bottom: var(--spacing-md);
text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.contact-subtitle {
font-size: 1.3rem;
margin-bottom: var(--spacing-lg);
opacity: 0.95;
line-height: 1.5;
}
.contact-quick-info {
display: flex;
justify-content: center;
gap: var(--spacing-md);
flex-wrap: wrap;
max-width: 900px;
margin: 0 auto;
}
.quick-info-item {
background: rgba(255, 255, 255, 0.15);
padding: var(--spacing-md);
border-radius: 15px;
backdrop-filter: blur(10px);
text-align: center;
min-width: 180px;
flex: 1;
border: 1px solid rgba(255, 255, 255, 0.2);
transition: var(--transition-smooth);
cursor: pointer;
}
.quick-info-item:hover {
background: rgba(255, 255, 255, 0.2);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}
.quick-info-icon {
font-size: 2rem;
margin-bottom: var(--spacing-xs);
display: block;
}
.quick-info-text {
font-size: 0.9rem;
opacity: 0.9;
line-height: 1.4;
} .contact-main {
padding: var(--spacing-xxl) 0;
background: var(--cream-bg);
}
.contact-container {
max-width: 1400px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.contact-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--spacing-xxl);
}
.contact-info,
.contact-form {
background: white;
padding: var(--spacing-xxl);
border-radius: var(--border-radius-lg);
box-shadow: var(--shadow-soft);
border: 1px solid rgba(127, 179, 163, 0.1);
}
.section-title {
font-family: var(--font-display);
font-size: 2rem;
color: var(--text-dark);
margin-bottom: var(--spacing-lg);
font-weight: 600;
}
.info-block {
margin-bottom: var(--spacing-lg);
padding-bottom: var(--spacing-lg);
border-bottom: 1px solid var(--light-green);
}
.info-block:last-child {
border-bottom: none;
margin-bottom: 0;
}
.info-block h3 {
font-weight: 600;
color: var(--primary-green);
margin-bottom: var(--spacing-sm);
display: flex;
align-items: center;
gap: var(--spacing-xs);
font-size: 1.2rem;
}
.info-block p {
color: var(--text-medium);
line-height: 1.6;
margin-bottom: var(--spacing-xs);
}
.info-block a {
color: var(--primary-green);
text-decoration: none;
font-weight: 500;
transition: var(--transition-smooth);
}
.info-block a:hover {
color: var(--accent-gold);
text-decoration: underline;
}
.horaires-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--spacing-sm);
margin-top: var(--spacing-sm);
}
.horaire-item {
display: flex;
justify-content: space-between;
padding: var(--spacing-xs);
background: var(--light-green);
border-radius: var(--border-radius);
font-size: 0.9rem;
}
.horaire-jour {
font-weight: 600;
color: var(--text-dark);
}
.horaire-heure {
color: var(--text-medium);
} .form-group {
margin-bottom: var(--spacing-md);
}
.form-label {
display: block;
font-weight: 600;
color: var(--text-dark);
margin-bottom: var(--spacing-xs);
}
.form-input,
.form-textarea,
.form-select {
width: 100%;
padding: 12px 16px;
border: 2px solid var(--light-green);
border-radius: var(--border-radius);
font-size: 1rem;
transition: var(--transition-smooth);
background: white;
font-family: var(--font-primary);
}
.form-input:focus,
.form-textarea:focus,
.form-select:focus {
outline: none;
border-color: var(--primary-green);
box-shadow: 0 0 0 3px rgba(127, 179, 163, 0.1);
}
.form-textarea {
resize: vertical;
min-height: 120px;
}
.form-submit {
background: linear-gradient(135deg, var(--primary-green), var(--secondary-green));
color: white;
border: none;
padding: 16px 32px;
border-radius: var(--border-radius);
font-size: 1.1rem;
font-weight: 600;
cursor: pointer;
transition: var(--transition-smooth);
width: 100%;
box-shadow: var(--shadow-soft);
}
.form-submit:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-medium);
} .map-container {
margin-top: var(--spacing-sm);
}
.map-placeholder {
background: linear-gradient(135deg, var(--light-green), rgba(127, 179, 163, 0.3));
padding: var(--spacing-xl);
border-radius: var(--border-radius);
text-align: center;
border: 2px dashed var(--primary-green);
position: relative;
overflow: hidden;
}
.map-placeholder::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="30" r="2" fill="rgba(74,124,89,0.1)"/><circle cx="80" cy="70" r="3" fill="rgba(74,124,89,0.08)"/><path d="M10,10 Q50,30 90,10" stroke="rgba(74,124,89,0.1)" stroke-width="1" fill="none"/></svg>') repeat;
opacity: 0.5;
}
.map-icon {
font-size: 3rem;
margin-bottom: var(--spacing-sm);
position: relative;
z-index: 2;
}
.map-placeholder p {
color: var(--text-dark);
margin-bottom: var(--spacing-sm);
position: relative;
z-index: 2;
}
.map-placeholder strong {
color: var(--primary-green);
font-size: 1.1rem;
}
.map-link {
display: inline-block;
background: var(--primary-green);
color: white;
padding: 12px 24px;
border-radius: var(--border-radius);
text-decoration: none;
font-weight: 600;
margin-top: var(--spacing-sm);
transition: var(--transition-smooth);
position: relative;
z-index: 2;
box-shadow: var(--shadow-soft);
}
.map-link:hover {
background: var(--accent-gold);
color: white;
transform: translateY(-2px);
box-shadow: var(--shadow-medium);
}
.contact-page .contact-item {
margin-bottom: var(--spacing-md);
padding: var(--spacing-sm) 0;
border-bottom: 1px solid rgba(127, 179, 163, 0.2);
}
.contact-page .contact-item:last-child {
border-bottom: none;
}
.contact-page .contact-item a {
color: var(--primary-green);
text-decoration: none;
font-weight: 500;
transition: var(--transition-smooth);
}
.contact-page .contact-item a:hover {
color: var(--accent-gold);
text-decoration: underline;
}
.contact-page .services-list ul {
list-style: none;
padding: 0;
}
.contact-page .services-list li {
padding: var(--spacing-sm) 0;
border-bottom: 1px solid rgba(127, 179, 163, 0.1);
position: relative;
padding-left: var(--spacing-md);
}
.contact-page .services-list li::before {
content: '🍃';
position: absolute;
left: 0;
top: var(--spacing-sm);
}
.contact-page .contact-button {
display: inline-block;
padding: 12px 24px;
margin: var(--spacing-xs);
background: var(--primary-green);
color: white;
text-decoration: none;
border-radius: 50px;
font-weight: 600;
transition: var(--transition-smooth);
box-shadow: var(--shadow-soft);
}
.contact-page .contact-button:hover {
background: var(--accent-gold);
color: white;
transform: translateY(-2px);
box-shadow: var(--shadow-medium);
}
.contact-page .cta-buttons {
text-align: center;
margin: var(--spacing-xl) 0;
}
.contact-page .btn-primary,
.contact-page .btn-secondary {
display: inline-block;
padding: 12px 24px;
margin: var(--spacing-xs);
text-decoration: none;
border-radius: 50px;
font-weight: 600;
transition: var(--transition-smooth);
box-shadow: var(--shadow-soft);
}
.contact-page .btn-primary {
background: var(--primary-green);
color: white;
}
.contact-page .btn-secondary {
background: var(--accent-red);
color: white;
}
.contact-page .btn-primary:hover,
.contact-page .btn-secondary:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-medium);
}  .guide-hero {
min-height: 60vh;
background: linear-gradient(135deg, rgba(127, 179, 163, 0.95), rgba(172, 215, 210, 0.9));
display: flex;
align-items: center;
color: white;
text-align: center;
position: relative;
overflow: hidden;
}
.guide-hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,20 Q50,10 80,20 Q50,30 20,20" fill="rgba(255,255,255,0.1)"/><circle cx="30" cy="60" r="3" fill="rgba(255,255,255,0.08)"/><path d="M60,70 Q80,65 90,75" stroke="rgba(255,255,255,0.06)" stroke-width="2" fill="none"/></svg>') repeat;
opacity: 0.3;
}
.guide-content {
position: relative;
z-index: 2;
max-width: 800px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.hero-badge {
background: rgba(255, 255, 255, 0.2);
color: white;
padding: 8px 20px;
border-radius: 25px;
font-size: 0.9rem;
font-weight: 600;
display: inline-flex;
align-items: center;
gap: var(--spacing-xs);
margin-bottom: var(--spacing-md);
backdrop-filter: blur(10px);
}
.guide-title {
font-family: var(--font-display);
font-size: clamp(2.5rem, 5vw, 3.5rem);
font-weight: 700;
margin-bottom: var(--spacing-md);
line-height: 1.2;
text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.guide-subtitle {
font-size: 1.2rem;
margin-bottom: var(--spacing-lg);
opacity: 0.95;
line-height: 1.5;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.guide-stats {
display: flex;
justify-content: center;
gap: var(--spacing-lg);
margin-bottom: var(--spacing-xl);
flex-wrap: wrap;
}
.stat-item {
text-align: center;
background: rgba(255,255,255,0.1);
padding: var(--spacing-md);
border-radius: 15px;
backdrop-filter: blur(10px);
min-width: 120px;
border: 1px solid rgba(255, 255, 255, 0.2);
}
.stat-number {
font-size: 2rem;
font-weight: 700;
display: block;
margin-bottom: var(--spacing-xs);
}
.stat-label {
font-size: 0.9rem;
opacity: 0.8;
} .tea-families {
padding: var(--spacing-xxl) 0;
background: var(--cream-bg);
}
.section-header {
text-align: center;
margin-bottom: var(--spacing-xxl);
}
.section-title {
font-family: var(--font-display);
font-size: 2.5rem;
color: var(--text-dark);
margin-bottom: var(--spacing-md);
font-weight: 600;
}
.section-subtitle {
font-size: 1.2rem;
color: var(--text-medium);
max-width: 600px;
margin: 0 auto;
line-height: 1.6;
}
.families-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: var(--spacing-xl);
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.family-card {
background: white;
border-radius: var(--border-radius-lg);
padding: var(--spacing-xl);
box-shadow: var(--shadow-soft);
border: 2px solid transparent;
transition: var(--transition-smooth);
text-align: center;
position: relative;
overflow: hidden;
}
.family-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-medium);
border-color: var(--light-green);
}
.family-icon {
font-size: 3rem;
margin-bottom: var(--spacing-md);
display: block;
}
.family-name {
font-size: 1.5rem;
font-weight: 700;
color: var(--primary-green);
margin-bottom: var(--spacing-xs);
}
.family-chinese {
font-style: italic;
color: var(--accent-gold);
font-size: 1rem;
margin-bottom: var(--spacing-md);
font-weight: 500;
}
.family-description {
color: var(--text-medium);
line-height: 1.6;
margin-bottom: var(--spacing-md);
}
.family-details {
display: flex;
justify-content: center;
gap: var(--spacing-md);
margin-bottom: var(--spacing-md);
flex-wrap: wrap;
}
.detail-item {
background: var(--light-green);
color: var(--primary-green);
padding: 6px 12px;
border-radius: 20px;
font-size: 0.9rem;
font-weight: 600;
}
.family-examples {
font-size: 0.9rem;
color: var(--text-light);
font-style: italic;
padding-top: var(--spacing-sm);
border-top: 1px solid rgba(127, 179, 163, 0.2);
} .preparation-guide {
padding: var(--spacing-xxl) 0;
background: white;
}
.preparation-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.preparation-container .section-title {
margin-bottom: var(--spacing-lg);
}
.preparation-container .section-subtitle {
margin-bottom: var(--spacing-xxl);
}
.preparation-steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(--spacing-lg);
margin-bottom: var(--spacing-xxl);
align-items: stretch;
}
.step-card {
background: var(--cream-bg);
border-radius: 15px;
padding: var(--spacing-lg);
text-align: center;
box-shadow: var(--shadow-soft);
position: relative;
transition: var(--transition-smooth);
display: flex;
flex-direction: column;
justify-content: flex-start;
min-height: 200px;
} @media (max-width: 1200px) {
.preparation-steps {
grid-template-columns: repeat(2, 1fr);
gap: var(--spacing-md);
}
}
@media (max-width: 768px) {
.preparation-steps {
grid-template-columns: 1fr;
gap: var(--spacing-md);
}
.step-card {
min-height: auto;
}
}
.step-card:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-medium);
}
.step-number {
background: var(--primary-green);
color: white;
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
margin: 0 auto var(--spacing-md);
font-size: 1.3rem;
flex-shrink: 0;
box-shadow: var(--shadow-soft);
}
.step-title {
font-weight: 600;
color: var(--text-dark);
margin-bottom: var(--spacing-sm);
font-size: 1.2rem;
flex-shrink: 0;
}
.step-description {
color: var(--text-medium);
font-size: 0.95rem;
line-height: 1.6;
flex-grow: 1;
display: flex;
align-items: center;
text-align: center;
} .tea-calculator {
background: white;
border-radius: var(--border-radius-lg);
padding: var(--spacing-xxl);
box-shadow: var(--shadow-medium);
margin-top: var(--spacing-xxl);
border: 2px solid var(--light-green);
position: relative;
}
.tea-calculator::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--primary-green), var(--accent-gold), var(--secondary-green));
border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0;
}
.calculator-title {
font-family: var(--font-display);
font-size: 1.8rem;
color: var(--primary-green);
text-align: center;
margin-bottom: var(--spacing-lg);
}
.calculator-form {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--spacing-md);
margin-bottom: var(--spacing-lg);
}
.calculator-result {
background: var(--light-green);
padding: var(--spacing-lg);
border-radius: var(--border-radius);
text-align: center;
}
.calculator-result p {
margin-bottom: var(--spacing-sm);
color: var(--text-dark);
}
.calculator-result span {
font-weight: 600;
color: var(--primary-green);
} .guide-cta {
background: linear-gradient(135deg, var(--primary-green), var(--secondary-green));
color: white;
padding: var(--spacing-xxl) var(--spacing-lg);
text-align: center;
}
.guide-cta h2 {
color: white;
font-size: 2rem;
margin-bottom: var(--spacing-md);
}
.guide-cta p {
font-size: 1.2rem;
margin-bottom: var(--spacing-lg);
opacity: 0.9;
}
.cta-content {
max-width: 800px;
margin: 0 auto;
}
.cta-buttons {
display: flex;
justify-content: center;
gap: var(--spacing-md);
flex-wrap: wrap;
}
.btn-primary,
.btn-secondary {
display: inline-block;
padding: 16px 32px;
border-radius: var(--border-radius);
text-decoration: none;
font-weight: 600;
font-size: 1.1rem;
transition: var(--transition-smooth);
box-shadow: var(--shadow-soft);
}
.btn-primary {
background: white;
color: var(--primary-green);
}
.btn-secondary {
background: var(--accent-gold);
color: white;
}
.btn-primary:hover,
.btn-secondary:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-medium);
}
.guide-the-page .families-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: var(--spacing-lg);
margin-top: var(--spacing-xl);
}
.guide-the-page .family-card {
background: white;
border-radius: 20px;
padding: var(--spacing-lg);
box-shadow: var(--shadow-soft);
border: 2px solid transparent;
transition: var(--transition-smooth);
position: relative;
overflow: hidden;
}
.guide-the-page .family-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-medium);
border-color: var(--light-green);
}
.guide-the-page .family-color-bar {
width: 100%;
height: 4px;
margin-bottom: var(--spacing-md);
border-radius: 2px;
}
.guide-the-page .family-card h3 {
font-size: 1.5rem;
font-weight: 700;
color: var(--primary-green);
margin-bottom: var(--spacing-xs);
}
.guide-the-page .chinese-name {
font-style: italic;
color: var(--text-medium);
font-size: 1rem;
margin-bottom: var(--spacing-sm);
}
.guide-the-page .family-details {
display: flex;
gap: var(--spacing-md);
margin-bottom: var(--spacing-sm);
font-size: 0.9rem;
color: var(--accent-gold);
font-weight: 600;
}
.guide-the-page .examples {
font-size: 0.9rem;
color: var(--text-light);
font-style: italic;
margin-top: var(--spacing-sm);
padding-top: var(--spacing-sm);
border-top: 1px solid rgba(127, 179, 163, 0.2);
} .guide-the-page .techniques-grid,
.guide-the-page .benefits-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--spacing-lg);
margin-top: var(--spacing-xl);
}
.guide-the-page .technique-card,
.guide-the-page .benefit-card {
background: white;
padding: var(--spacing-lg);
border-radius: 15px;
box-shadow: var(--shadow-soft);
text-align: center;
transition: var(--transition-smooth);
}
.guide-the-page .technique-card:hover,
.guide-the-page .benefit-card:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-medium);
}
.guide-the-page .benefit-icon {
font-size: 3rem;
margin-bottom: var(--spacing-md);
}
.guide-the-page .guide-cta {
text-align: center;
background: linear-gradient(135deg, var(--primary-green), var(--secondary-green));
color: white;
padding: var(--spacing-xxl) var(--spacing-lg);
border-radius: 20px;
margin: var(--spacing-xxl) 0;
}
.guide-the-page .guide-cta h2 {
color: white;
margin-bottom: var(--spacing-md);
}
.guide-the-page .cta-buttons {
margin-top: var(--spacing-lg);
}
.guide-the-page .cta-buttons .btn-primary,
.guide-the-page .cta-buttons .btn-secondary {
background: white;
color: var(--primary-green);
margin: var(--spacing-xs);
}
.guide-the-page .cta-buttons .btn-secondary {
background: var(--accent-gold);
color: white;
}  .story-hero {
min-height: 80vh;
background: linear-gradient(135deg, rgba(127, 179, 163, 0.9), rgba(172, 215, 210, 0.8)),
url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M0,50 Q25,25 50,50 Q75,75 100,50" stroke="rgba(255,255,255,0.1)" stroke-width="2" fill="none"/><circle cx="20" cy="30" r="3" fill="rgba(255,255,255,0.08)"/><circle cx="80" cy="70" r="2" fill="rgba(255,255,255,0.06)"/></svg>') repeat;
display: flex;
align-items: center;
color: white;
position: relative;
overflow: hidden;
}
.story-hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,20 Q50,10 80,20 Q50,30 20,20" fill="rgba(255,255,255,0.1)"/><path d="M10,60 Q30,50 50,60 Q70,70 90,60" fill="rgba(255,255,255,0.08)"/></svg>') repeat;
opacity: 0.3;
animation: float 25s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-20px) rotate(5deg); }
}
.story-content {
position: relative;
z-index: 2;
max-width: 1000px;
margin: 0 auto;
padding: 0 var(--spacing-md);
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--spacing-xxl);
align-items: center;
}
.story-text {
text-align: left;
}
.story-visual {
text-align: center;
}
.story-badge {
background: rgba(255, 255, 255, 0.2);
color: white;
padding: 8px 20px;
border-radius: 25px;
font-size: 0.9rem;
font-weight: 600;
display: inline-block;
margin-bottom: var(--spacing-md);
backdrop-filter: blur(10px);
}
.chinese-name {
font-size: 2rem;
opacity: 0.9;
margin-bottom: var(--spacing-sm);
font-weight: 300;
color: var(--accent-gold);
}
.story-title {
font-family: var(--font-display);
font-size: clamp(2.5rem, 5vw, 3.5rem);
font-weight: 700;
margin-bottom: var(--spacing-md);
line-height: 1.2;
text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.story-subtitle {
font-size: 1.3rem;
margin-bottom: var(--spacing-lg);
opacity: 0.95;
line-height: 1.5;
}
.lin-portrait {
width: 300px;
height: 300px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.2);
display: flex;
align-items: center;
justify-content: center;
font-size: 8rem;
margin: 0 auto var(--spacing-md);
backdrop-filter: blur(10px);
border: 5px solid rgba(255, 255, 255, 0.3);
}
.portrait-caption {
text-align: center;
font-size: 1rem;
opacity: 0.9;
line-height: 1.4;
}
.heritage-stats {
display: flex;
justify-content: center;
gap: var(--spacing-lg);
margin-top: var(--spacing-lg);
flex-wrap: wrap;
} .story-timeline {
padding: var(--spacing-xxl) 0;
background: var(--cream-bg);
}
.timeline-container {
max-width: 1000px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.timeline {
position: relative;
margin-top: var(--spacing-xxl);
}
.timeline::before {
content: '';
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 2px;
background: var(--light-green);
transform: translateX(-50%);
}
.timeline-item {
display: flex;
margin-bottom: var(--spacing-xxl);
position: relative;
}
.timeline-item:nth-child(odd) {
flex-direction: row;
}
.timeline-item:nth-child(even) {
flex-direction: row-reverse;
}
.timeline-year {
width: 80px;
height: 80px;
background: var(--primary-green);
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1rem;
font-weight: 700;
flex-shrink: 0;
position: absolute;
left: 50%;
transform: translateX(-50%);
z-index: 2;
box-shadow: var(--shadow-soft);
border: 4px solid white;
}
.timeline-content {
flex: 1;
background: white;
padding: var(--spacing-lg);
border-radius: var(--border-radius);
box-shadow: var(--shadow-soft);
margin: 0 calc(50% + 60px) 0 0;
position: relative;
}
.timeline-item:nth-child(even) .timeline-content {
margin: 0 0 0 calc(50% + 60px);
}
.timeline-content::before {
content: '';
position: absolute;
top: 30px;
right: -10px;
width: 0;
height: 0;
border: 10px solid transparent;
border-left-color: white;
}
.timeline-item:nth-child(even) .timeline-content::before {
right: auto;
left: -10px;
border-left-color: transparent;
border-right-color: white;
}
.timeline-title {
font-size: 1.4rem;
font-weight: 700;
color: var(--primary-green);
margin-bottom: var(--spacing-sm);
}
.timeline-description {
color: var(--text-medium);
line-height: 1.6;
margin-bottom: var(--spacing-sm);
}
.timeline-highlight {
background: var(--light-green);
padding: var(--spacing-sm);
border-radius: var(--border-radius);
font-style: italic;
color: var(--primary-green);
font-weight: 500;
border-left: 4px solid var(--accent-gold);
} .philosophy-section {
padding: var(--spacing-xxl) 0;
background: white;
}
.philosophy-container {
max-width: 1000px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.philosophy-quote {
background: linear-gradient(135deg,
rgba(127, 179, 163, 0.05),
rgba(172, 215, 210, 0.05));
padding: var(--spacing-xl);
border-radius: var(--border-radius-lg);
border-left: 4px solid var(--accent-gold);
margin: var(--spacing-xl) 0;
font-style: italic;
font-size: 1.2rem;
line-height: 1.8;
text-align: center;
}
.philosophy-quote cite {
display: block;
text-align: right;
margin-top: var(--spacing-md);
font-weight: 600;
color: var(--accent-gold);
font-size: 1rem;
}
.philosophy-principles {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--spacing-lg);
margin-top: var(--spacing-xl);
}
.principle {
padding: var(--spacing-lg);
background: var(--cream-bg);
border-radius: var(--border-radius);
box-shadow: var(--shadow-soft);
transition: var(--transition-smooth);
}
.principle:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-medium);
}
.principle h3 {
color: var(--primary-green);
font-size: 1.2rem;
margin-bottom: var(--spacing-sm);
display: flex;
align-items: center;
gap: var(--spacing-xs);
}
.principle strong {
color: var(--primary-green);
font-size: 1rem;
} .today-section {
padding: var(--spacing-xxl) 0;
background: var(--cream-bg);
}
.today-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.today-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--spacing-lg);
margin-top: var(--spacing-xl);
}
.today-card {
background: white;
padding: var(--spacing-xl);
border-radius: var(--border-radius);
box-shadow: var(--shadow-soft);
transition: var(--transition-smooth);
text-align: center;
}
.today-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-medium);
}
.today-icon {
font-size: 3rem;
margin-bottom: var(--spacing-md);
display: block;
}
.today-card h3 {
font-size: 1.3rem;
font-weight: 600;
color: var(--primary-green);
margin-bottom: var(--spacing-sm);
}
.today-card p {
color: var(--text-medium);
line-height: 1.6;
} .story-cta {
background: linear-gradient(135deg, var(--primary-green), var(--secondary-green));
color: white;
padding: var(--spacing-xxl) var(--spacing-lg);
text-align: center;
}
.story-cta h2 {
color: white;
font-size: 2rem;
margin-bottom: var(--spacing-md);
}
.story-cta p {
font-size: 1.2rem;
margin-bottom: var(--spacing-lg);
opacity: 0.9;
}  .ateliers-hero {
min-height: 70vh;
background: linear-gradient(135deg,
rgba(127, 179, 163, 0.9),
rgba(172, 215, 210, 0.8)),
url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,20 Q50,10 80,20 Q50,30 20,20" fill="rgba(255,255,255,0.1)"/><circle cx="30" cy="60" r="3" fill="rgba(255,255,255,0.08)"/></svg>') repeat;
display: flex;
align-items: center;
color: white;
text-align: center;
position: relative;
overflow: hidden;
}
.ateliers-content {
position: relative;
z-index: 2;
max-width: 800px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.ateliers-title {
font-family: var(--font-display);
font-size: clamp(2.5rem, 5vw, 3.5rem);
font-weight: 700;
margin-bottom: var(--spacing-md);
line-height: 1.2;
text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.ateliers-subtitle {
font-size: 1.3rem;
margin-bottom: var(--spacing-lg);
opacity: 0.95;
line-height: 1.5;
}
.ateliers-highlights {
display: flex;
justify-content: center;
gap: var(--spacing-lg);
flex-wrap: wrap;
}
.highlight-item {
display: flex;
align-items: center;
gap: var(--spacing-xs);
background: rgba(255,255,255,0.1);
padding: var(--spacing-sm) var(--spacing-md);
border-radius: 25px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.highlight-icon {
font-size: 1.2rem;
}
.highlight-text {
font-weight: 500;
} .workshop-types {
padding: var(--spacing-xl) 0;
background: var(--cream-bg);
}
.workshop-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.workshop-grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--spacing-xl);
margin-top: var(--spacing-xl);
max-width: 500px;
margin-left: auto;
margin-right: auto;
}
@media (min-width: 768px) {
.workshop-grid {
grid-template-columns: repeat(2, 1fr);
max-width: 1000px;
gap: var(--spacing-xxl);
}
}
@media (min-width: 1600px) {
.workshop-grid {
grid-template-columns: repeat(3, 1fr);
max-width: 1400px;
}
}
.workshop-card {
background: white;
border-radius: var(--border-radius-lg);
padding: var(--spacing-lg) var(--spacing-xl);
box-shadow: var(--shadow-soft);
border: 2px solid transparent;
transition: var(--transition-smooth);
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
text-align: center;
}
.workshop-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-medium);
border-color: var(--primary-green);
}
.workshop-card.featured {
border-color: var(--accent-gold);
box-shadow: var(--shadow-medium);
}
.featured-badge {
position: absolute;
top: var(--spacing-md);
right: var(--spacing-md);
background: var(--accent-gold);
color: white;
padding: 6px 12px;
border-radius: 15px;
font-size: 0.8rem;
font-weight: 600;
}
.workshop-header {
display: flex;
align-items: center;
justify-content: center;
gap: var(--spacing-md);
margin-bottom: var(--spacing-md);
padding-bottom: var(--spacing-sm);
border-bottom: none;
}
.workshop-icon {
font-size: 1.8rem;
}
.workshop-name {
font-size: 1.4rem;
font-weight: 700;
color: var(--primary-green);
margin: 0;
}
.workshop-price {
font-size: 1.6rem;
font-weight: 700;
color: var(--accent-gold);
}
.workshop-details {
flex-grow: 1;
display: flex;
flex-direction: column;
}
.workshop-description {
color: var(--text-medium);
line-height: 1.6;
margin-bottom: var(--spacing-md);
font-size: 0.95rem;
}
.workshop-includes {
list-style: none;
padding: 0;
margin-bottom: var(--spacing-md);
flex-grow: 1;
}
.workshop-includes li {
padding: 5px 0;
color: var(--text-dark);
font-size: 0.9rem;
line-height: 1.4;
}
.workshop-info {
display: flex;
gap: var(--spacing-sm);
margin-bottom: var(--spacing-md);
flex-wrap: wrap;
justify-content: center;
}
.info-item {
background: var(--light-green);
color: var(--primary-green);
padding: 5px 10px;
border-radius: 15px;
font-size: 0.85rem;
font-weight: 600;
}
.workshop-btn {
width: 100%;
background: var(--primary-green);
color: white;
border: none;
padding: 14px;
border-radius: var(--border-radius);
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: var(--transition-smooth);
box-shadow: var(--shadow-soft);
margin-top: auto;
}
.workshop-btn:hover {
background: var(--accent-gold);
transform: translateY(-2px);
box-shadow: var(--shadow-medium);
} .calendar-section {
padding: var(--spacing-xxl) 0;
background: white;
}
.calendar-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.calendar-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: var(--spacing-lg);
margin-top: var(--spacing-lg);
}
.calendar-card {
background: var(--cream-bg);
border-radius: var(--border-radius-lg);
padding: var(--spacing-lg);
box-shadow: var(--shadow-soft);
border: 2px solid transparent;
transition: var(--transition-smooth);
position: relative;
overflow: hidden;
}
.calendar-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--primary-green), var(--accent-gold));
}
.calendar-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-medium);
border-color: var(--primary-green);
}
.calendar-date {
display: flex;
align-items: center;
gap: var(--spacing-sm);
margin-bottom: var(--spacing-md);
}
.date-badge {
background: var(--primary-green);
color: white;
padding: 12px 16px;
border-radius: 12px;
font-weight: 700;
text-align: center;
min-width: 80px;
}
.date-day {
font-size: 1.5rem;
line-height: 1;
}
.date-month {
font-size: 0.8rem;
opacity: 0.9;
}
.date-info h3 {
font-size: 1.3rem;
color: var(--text-dark);
margin-bottom: 4px;
font-weight: 600;
}
.date-info p {
color: var(--text-medium);
font-size: 0.9rem;
}
.availability {
display: inline-flex;
align-items: center;
padding: 6px 12px;
border-radius: 15px;
font-size: 0.8rem;
font-weight: 600;
margin-bottom: var(--spacing-sm);
}
.availability.available {
background: rgba(127, 179, 163, 0.1);
color: var(--primary-green);
}
.availability.limited {
background: rgba(211, 174, 39, 0.1);
color: var(--accent-gold);
}
.session-details p {
color: var(--text-medium);
font-size: 0.9rem;
margin-bottom: var(--spacing-sm);
}
.session-price {
font-size: 1.2rem;
font-weight: 700;
color: var(--accent-gold);
margin-bottom: var(--spacing-md);
}
.calendar-btn {
width: 100%;
background: var(--primary-green);
color: white;
border: none;
padding: 12px;
border-radius: var(--border-radius);
font-weight: 600;
cursor: pointer;
transition: var(--transition-smooth);
}
.calendar-btn:hover {
background: var(--accent-gold);
transform: translateY(-2px);
} .testimonials-section {
padding: var(--spacing-xxl) 0;
background: var(--cream-bg);
}
.testimonials-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.testimonials-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: var(--spacing-lg);
margin-top: var(--spacing-xl);
}
.testimonial-card {
background: white;
padding: var(--spacing-xl);
border-radius: var(--border-radius);
box-shadow: var(--shadow-soft);
transition: var(--transition-smooth);
}
.testimonial-card:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-medium);
}
.testimonial-rating {
font-size: 1.2rem;
margin-bottom: var(--spacing-md);
}
.testimonial-text {
color: var(--text-medium);
line-height: 1.6;
margin-bottom: var(--spacing-md);
font-style: italic;
}
.testimonial-author {
color: var(--text-dark);
font-weight: 600;
} .ateliers-cta {
background: linear-gradient(135deg, var(--primary-green), var(--secondary-green));
color: white;
padding: var(--spacing-xxl) var(--spacing-lg);
text-align: center;
}
.ateliers-cta h2 {
color: white;
font-size: 2rem;
margin-bottom: var(--spacing-md);
}
.ateliers-cta p {
font-size: 1.2rem;
margin-bottom: var(--spacing-lg);
opacity: 0.9;
}
.ateliers-cta .btn-primary {
background: var(--accent-red);
color: white;
}
.ateliers-cta .btn-primary:hover {
background: #A04A46;
transform: translateY(-2px);
box-shadow: var(--shadow-medium);
}
.ateliers-cta .btn-secondary {
background: white;
color: var(--primary-green);
}
.ateliers-cta .btn-secondary:hover {
background: var(--accent-gold);
color: white;
transform: translateY(-2px);
box-shadow: var(--shadow-medium);
}  .profile-hero {
background: linear-gradient(135deg, var(--primary-green), var(--secondary-green));
color: white;
padding: 120px 0 var(--spacing-xl);
}
.profile-header {
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--spacing-md);
display: grid;
grid-template-columns: auto 1fr auto;
gap: var(--spacing-lg);
align-items: center;
}
.profile-avatar {
width: 100px;
height: 100px;
border-radius: 50%;
background: rgba(255,255,255,0.2);
display: flex;
align-items: center;
justify-content: center;
font-size: 3rem;
backdrop-filter: blur(10px);
border: 3px solid rgba(255, 255, 255, 0.3);
}
.profile-info h1 {
font-size: 2rem;
margin-bottom: var(--spacing-xs);
font-weight: 600;
}
.profile-info p {
opacity: 0.9;
font-size: 1rem;
}
.profile-stats {
display: flex;
gap: var(--spacing-lg);
}
.stat-item {
text-align: center;
background: rgba(255,255,255,0.1);
padding: var(--spacing-md);
border-radius: 15px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
min-width: 100px;
}
.stat-number {
font-size: 1.5rem;
font-weight: 700;
display: block;
margin-bottom: var(--spacing-xs);
}
.stat-label {
font-size: 0.9rem;
opacity: 0.8;
} .dashboard-section {
padding: var(--spacing-xxl) 0;
background: var(--cream-bg);
}
.dashboard-container {
max-width: 1400px;
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.dashboard-nav {
display: flex;
gap: var(--spacing-md);
margin-bottom: var(--spacing-xl);
border-bottom: 2px solid rgba(127, 179, 163, 0.2);
overflow-x: auto;
}
.nav-tab {
padding: var(--spacing-md) var(--spacing-lg);
background: none;
border: none;
color: var(--text-medium);
font-weight: 600;
text-decoration: none;
border-bottom: 3px solid transparent;
transition: var(--transition-smooth);
white-space: nowrap;
}
.nav-tab:hover,
.nav-tab.active {
color: var(--primary-green);
border-bottom-color: var(--primary-green);
}
.dashboard-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--spacing-lg);
margin-bottom: var(--spacing-xl);
}
.dashboard-card {
background: white;
border-radius: var(--border-radius-lg);
padding: var(--spacing-lg);
box-shadow: var(--shadow-soft);
border: 2px solid transparent;
transition: var(--transition-smooth);
}
.dashboard-card:hover {
border-color: var(--light-green);
box-shadow: var(--shadow-medium);
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--spacing-md);
padding-bottom: var(--spacing-sm);
border-bottom: 2px solid var(--light-green);
}
.card-title {
font-size: 1.3rem;
font-weight: 600;
color: var(--text-dark);
}
.view-all {
color: var(--primary-green);
text-decoration: none;
font-weight: 500;
font-size: 0.9rem;
}
.view-all:hover {
color: var(--accent-gold);
}
.purchase-item {
display: flex;
gap: var(--spacing-md);
padding: var(--spacing-md);
border-radius: 10px;
background: var(--light-green);
margin-bottom: var(--spacing-sm);
transition: var(--transition-smooth);
}
.purchase-item:hover {
background: rgba(127, 179, 163, 0.2);
}
.purchase-image {
width: 60px;
height: 60px;
border-radius: 10px;
overflow: hidden;
flex-shrink: 0;
}
.purchase-image img {
width: 100%;
height: 100%;
object-fit: cover;
}
.placeholder-image {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-green);
color: white;
font-size: 1.5rem;
}
.purchase-details h4 {
font-size: 1rem;
font-weight: 600;
color: var(--text-dark);
margin-bottom: var(--spacing-xs);
}
.purchase-details p {
font-size: 0.9rem;
color: var(--text-medium);
margin-bottom: var(--spacing-xs);
}
.order-status {
font-size: 0.8rem;
padding: 4px 8px;
border-radius: 12px;
font-weight: 600;
}
.status-completed {
background: rgba(127, 179, 163, 0.1);
color: var(--primary-green);
}
.status-processing {
background: rgba(211, 174, 39, 0.1);
color: var(--accent-gold);
}
.histoire-lin-page .stat-item {
text-align: center;
padding: var(--spacing-md);
}
.histoire-lin-page .stat-number {
display: block;
font-size: 2.5rem;
font-weight: 700;
color: var(--accent-gold);
margin-bottom: var(--spacing-xs);
}
.histoire-lin-page .stat-label {
font-size: 0.9rem;
color: var(--text-medium);
font-weight: 500;
} .histoire-lin-page .experience-grid,
.histoire-lin-page .today-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--spacing-lg);
margin-top: var(--spacing-xl);
}
.histoire-lin-page .experience-card,
.histoire-lin-page .today-card {
background: white;
padding: var(--spacing-lg);
border-radius: 15px;
box-shadow: var(--shadow-soft);
transition: var(--transition-smooth);
text-align: center;
}
.histoire-lin-page .experience-card:hover,
.histoire-lin-page .today-card:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-medium);
}
.histoire-lin-page .today-icon {
font-size: 3rem;
margin-bottom: var(--spacing-md);
} .histoire-lin-page .timeline {
max-width: 800px;
margin: var(--spacing-xl) auto;
position: relative;
}
.histoire-lin-page .timeline::before {
content: '';
position: absolute;
left: 80px;
top: 0;
bottom: 0;
width: 2px;
background: var(--light-green);
}
.histoire-lin-page .timeline-item {
display: flex;
gap: var(--spacing-lg);
margin-bottom: var(--spacing-xl);
position: relative;
}
.histoire-lin-page .timeline-year {
width: 80px;
height: 80px;
background: var(--primary-green);
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.2rem;
font-weight: 700;
flex-shrink: 0;
position: relative;
z-index: 2;
box-shadow: var(--shadow-soft);
}
.histoire-lin-page .timeline-content {
flex: 1;
padding-top: var(--spacing-md);
}
.histoire-lin-page .timeline-content h3 {
font-size: 1.4rem;
font-weight: 700;
color: var(--primary-green);
margin-bottom: var(--spacing-sm);
} .histoire-lin-page .philosophy-quote {
background: linear-gradient(135deg,
rgba(127, 179, 163, 0.05),
rgba(172, 215, 210, 0.05));
padding: var(--spacing-xl);
border-radius: 20px;
border-left: 4px solid var(--accent-gold);
margin: var(--spacing-xl) 0;
font-style: italic;
font-size: 1.2rem;
line-height: 1.8;
}
.histoire-lin-page .philosophy-quote cite {
display: block;
text-align: right;
margin-top: var(--spacing-md);
font-weight: 600;
color: var(--accent-gold);
}
.histoire-lin-page .philosophy-principles {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--spacing-lg);
margin-top: var(--spacing-xl);
}
.histoire-lin-page .principle {
padding: var(--spacing-lg);
background: white;
border-radius: 15px;
box-shadow: var(--shadow-soft);
}
.histoire-lin-page .principle strong {
color: var(--primary-green);
font-size: 1.1rem;
} .blog-header {
text-align: center;
margin-bottom: var(--spacing-xxl);
padding: var(--spacing-xl) 0;
background: linear-gradient(135deg,
rgba(127, 179, 163, 0.05),
rgba(172, 215, 210, 0.05));
border-radius: 20px;
}
.blog-title {
font-size: clamp(2.5rem, 5vw, 4rem);
font-weight: 700;
color: var(--primary-green);
margin-bottom: var(--spacing-sm);
}
.blog-description {
font-size: 1.2rem;
color: var(--text-medium);
max-width: 600px;
margin: 0 auto;
line-height: 1.6;
}
.articles-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: var(--spacing-xl);
margin-bottom: var(--spacing-xxl);
}
.article-card {
background: white;
border-radius: 20px;
overflow: hidden;
box-shadow: var(--shadow-soft);
transition: var(--transition-smooth);
border: 2px solid transparent;
}
.article-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-medium);
border-color: var(--light-green);
}  .widget_search,
.widget_recent_entries,
.widget_recent_comments,
.widget_archives,
.widget_categories,
.widget_meta,
.widget_calendar,
.widget_text,
.widget_rss,
.widget_tag_cloud,
#secondary,
.sidebar,
.widget-area,
.wp-block-search,
.wp-block-latest-posts,
.wp-block-latest-comments,
.wp-block-archives,
.wp-block-categories {
display: none !important;
visibility: hidden !important;
opacity: 0 !important;
height: 0 !important;
overflow: hidden !important;
} .search-form,
.searchform,
#searchform,
.wp-block-search__input,
.wp-block-search__button {
display: none !important;
} h2:contains("Rechercher"),
h2:contains("Articles récents"),
h2:contains("Commentaires récents"),
h2:contains("Archives"),
h2:contains("Catégories") {
display: none !important;
} .contact-page .site-content,
.guide-the-page .site-content,
.histoire-lin-page .site-content {
width: 100% !important;
max-width: none !important;
}
.contact-page .content-wrapper,
.guide-the-page .content-wrapper,
.histoire-lin-page .content-wrapper {
display: block !important;
flex-direction: column !important;
}
.contact-page #primary,
.guide-the-page #primary,
.histoire-lin-page #primary {
width: 100% !important;
margin: 0 !important;
} @media (max-width: 768px) {
.page-header {
padding: var(--spacing-lg) var(--spacing-md);
}
.page-title {
font-size: 2rem;
} .contact-quick-info {
flex-direction: column;
gap: var(--spacing-sm);
max-width: 400px;
}
.quick-info-item {
min-width: auto;
flex: none;
}
.contact-grid {
grid-template-columns: 1fr;
gap: var(--spacing-lg);
}
.map-placeholder {
padding: var(--spacing-lg);
}
.contact-page .contact-grid {
grid-template-columns: 1fr;
gap: var(--spacing-lg);
}
.guide-the-page .families-grid {
grid-template-columns: 1fr;
}
.histoire-lin-page .heritage-stats {
flex-direction: column;
gap: var(--spacing-md);
}
.histoire-lin-page .timeline::before {
left: 40px;
}
.histoire-lin-page .timeline-year {
width: 60px;
height: 60px;
font-size: 1rem;
}
}