@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=DM+Sans:wght@300;400;500;600&display=swap');

* { box-sizing: border-box; margin: 0; padding: 0; }

.site {
font-family: 'DM Sans', sans-serif;
color: var(--color-text-primary);
background: var(--color-background-tertiary);
min-height: 100vh;
}

/* HEADER */
.header {
background: #C1001F;
padding: 0;
position: sticky;
top: 0;
z-index: 100;
}
.header-top {
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 24px;
gap: 12px;
}
.logo-area {
display: flex;
align-items: center;
gap: 12px;
}
.flag-icon {
width: 44px;
height: 30px;
border-radius: 3px;
overflow: hidden;
display: flex;
flex-shrink: 0;
}
.flag-svg { width: 100%; height: 100%; }
.site-title {
color: white;
font-family: 'Playfair Display', serif;
font-size: 15px;
font-weight: 700;
line-height: 1.2;
}
.site-subtitle {
color: rgba(255,255,255,0.75);
font-size: 11px;
font-weight: 300;
letter-spacing: 0.05em;
}
.header-meta {
display: flex;
align-items: center;
gap: 16px;
}

.lang-switcher {
background: rgba(255,255,255,0.15);
border: none;
border-radius: 4px;
padding: 5px 10px;
}

.lang-btn {
color: rgba(255,255,255,0.85);
font-size: 12px;
font-weight: 500;
text-decoration:none;
cursor: pointer;
border: none;
padding: 0px 5px;
letter-spacing: 0.05em;
}
.contact-btn {
margin-left: auto;
background: white;
color: #C1001F;
font-size: 12px;
font-weight: 600;
padding: 7px 14px;
border-radius: 6px;
border: none;
cursor: pointer;
white-space: nowrap;
}
.nav-bar {
background: rgba(0,0,0,0.2);
display: flex;
gap: 0;
overflow-x: auto;
scrollbar-width: none;
padding: 10px 25px;
gap: 10px;
}
.nav-bar::-webkit-scrollbar { display: none; }
.nav-item {
color: rgba(255,255,255,0.8);
font-size: 12px;
font-weight: 400;
padding: 9px 18px;
text-decoration: none;
cursor: pointer;
white-space: nowrap;
border-bottom: 2px solid transparent;
transition: all 0.2s;
border: none;
background: none;
}
.nav-item:hover, .nav-item.active {
color: white;
background: rgba(255,255,255,0.1);
}

/* HERO */
.hero {
background: white;
padding: 30px 25px 35px;
text-align: center;
position: relative;
overflow: hidden;
}
.hero-eyebrow {
color: #C1001F;
font-size: 11px;
font-weight: 500;
letter-spacing: 0.15em;
text-transform: uppercase;
margin-bottom: 12px;
}
.hero-title {
font-family: 'Playfair Display', serif;
color: #C1001F;
font-size: 28px;
font-weight: 700;
line-height: 1.25;
margin-bottom: 8px;
}
.hero-title span { font-style: italic; font-weight: 400; }
.hero-subtitle {
color: rgba(255,255,255,0.75);
font-size: 14px;
font-weight: 300;
margin-bottom: 36px;
}


/* SERVICE */
.service {
background: linear-gradient(135deg, #8B0000 0%, #C1001F 50%, #E8000D 100%);
padding: 48px 24px 56px;
text-align: center;
position: relative;
overflow: hidden;
}
.service::before {
content: '';
position: absolute;
inset: 0;
background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5 L32 20 L46 20 L35 29 L39 43 L30 34 L21 43 L25 29 L14 20 L28 20 Z' fill='rgba(255,255,255,0.03)'/%3E%3C/svg%3E") repeat;
pointer-events: none;
}
.service-question {
color: white;
font-size: 15px;
font-weight: 500;
margin-bottom: 20px;
opacity: 0.9;
}

/* SERVICE GRID */
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
gap: 10px;
max-width: 680px;
margin: 0 auto;
}
.service-card {
background: rgba(255,255,255,0.12);
border: 1px solid rgba(255,255,255,0.2);
border-radius: 12px;
padding: 16px 12px;
text-decoration:none;
cursor: pointer;
transition: all 0.2s;
text-align: center;
backdrop-filter: blur(4px);
}
.service-card:hover {
background: rgba(255,255,255,0.22);
transform: translateY(-2px);
}
.service-card:active { transform: scale(0.97); }
.service-icon {
font-size: 26px;
margin-bottom: 10px;
display: block;
filter: drop-shadow(0 1px 2px rgba(0,0,0,0.2));
}
.service-label {
color: white;
font-size: 12px;
font-weight: 500;
line-height: 1.3;
}

/* URGENCE BANNER */
.urgence-banner {
background: #FFF3CD;
border-left: 4px solid #E6A817;
margin-top: 30px;
margin-left: 25px;
margin-right: 25px;
border-radius: 0 8px 8px 0;
padding: 10px 14px;
display: flex;
align-items: center;
gap: 10px;
}
.urgence-text {
font-size: 14px;
color: #7A5000;
line-height: 1.4;
}
.urgence-text strong { font-weight: 600; }

/* MAIN CONTENT */
.main { padding: 0 16px 40px; max-width: 680px; margin: 0 auto; }

.section-title {
font-family: 'Playfair Display', serif;
font-size: 19px;
font-weight: 700;
margin: 28px 0 14px;
color: var(--color-text-primary);
display: flex;
align-items: center;
gap: 10px;
}
.section-title::after {
content: '';
flex: 1;
height: 1px;
background: var(--color-border-tertiary);
}

/* INFO CARDS */
.info-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 10px;
margin-bottom: 8px;
}
.info-card {
background: var(--color-background-primary);
border: 0.5px solid var(--color-border-tertiary);
border-radius: 12px;
padding: 14px 16px;
}
.info-card-label {
font-size: 11px;
color: var(--color-text-secondary);
font-weight: 500;
letter-spacing: 0.05em;
text-transform: uppercase;
margin-bottom: 4px;
}
.info-card-value {
font-size: 13px;
font-weight: 500;
color: var(--color-text-primary);
line-height: 1.4;
}
.info-card-value a { color: #C1001F; text-decoration: none; }

/* SERVICE DETAIL LIST */
.service-list { display: flex; flex-direction: column; gap: 8px; }
.service-row {
background: var(--color-background-primary);
border: 0.5px solid var(--color-border-tertiary);
border-radius: 10px;
padding: 14px 16px;
display: flex;
align-items: center;
justify-content: space-between;
text-decoration: none;
cursor: pointer;
transition: border-color 0.15s;
}
.service-row:hover { border-color: #C1001F; }
.service-row-left { display: flex; align-items: center; gap: 12px; }
.service-row-icon {
width: 38px; height: 38px;
background: #FFF0F2;
border-radius: 9px;
display: flex; align-items: center; justify-content: center;
font-size: 18px; flex-shrink: 0;
}
.service-row-title { font-size: 13px; font-weight: 500; color: var(--color-text-primary); }
.service-row-sub { font-size: 11px; color: var(--color-text-secondary); margin-top: 2px; }
.arrow-icon { color: #C1001F; font-size: 16px; }
.badge {
font-size: 10px;
font-weight: 600;
padding: 2px 7px;
border-radius: 20px;
display: inline-block;
margin-left: 8px;
vertical-align: middle;
}
.badge-new { background: #FFF0F2; color: #C1001F; }
.badge-doc { background: #EAF3DE; color: #3B6D11; }

/* TARIFS TABLE */
.tarif-table {
background: var(--color-background-primary);
border: 0.5px solid var(--color-border-tertiary);
border-radius: 12px;
overflow: hidden;
font-size: 13px;
}
.tarif-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 11px 16px;
border-bottom: 0.5px solid var(--color-border-tertiary);
}
.tarif-row:last-child { border-bottom: none; }
.tarif-row:nth-child(even) { background: var(--color-background-secondary); }
.tarif-name { color: var(--color-text-primary); font-weight: 400; }
.tarif-price {
font-weight: 600;
color: #C1001F;
font-size: 13px;
white-space: nowrap;
}

/* HORAIRES */
.horaires-grid {
background: var(--color-background-primary);
border: 0.5px solid var(--color-border-tertiary);
border-radius: 12px;
overflow: hidden;
}
.jour-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 16px;
border-bottom: 0.5px solid var(--color-border-tertiary);
font-size: 13px;
}
.jour-row:last-child { border-bottom: none; }
.jour-nom { color: var(--color-text-secondary); }
.jour-heure { color: var(--color-text-primary); font-weight: 500; }
.jour-ferme { color: var(--color-text-secondary); font-style: italic; font-weight: 300; }

/* CTA */
.cta-block {
background: #C1001F;
border-radius: 12px;
padding: 20px;
text-align: center;
margin: 20px 0;
}
.cta-title { color: white; font-size: 15px; font-weight: 600; margin-bottom: 6px; }
.cta-sub { color: rgba(255,255,255,0.75); font-size: 12px; margin-bottom: 14px; }
.cta-link {
background: white;
color: #C1001F;
padding: 10px 24px;
border-radius: 8px;
font-weight: 600;
font-size: 13px;
text-decoration: none;
display: inline-block;
cursor: pointer;
border: none;
}

/* FOOTER */
.footer {
background: #1a1a1a;
padding: 24px;
margin-top: 0;
}
.footer-logo {
color: white;
font-family: 'Playfair Display', serif;
font-size: 14px;
font-weight: 700;
margin-bottom: 4px;
}
.footer-sub { color: rgba(255,255,255,0.5); font-size: 11px; margin-bottom: 16px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 14px; }
.footer-link { color: rgba(255,255,255,0.6); font-size: 12px; text-decoration: none; cursor: pointer; }
.footer-link:hover { color: white; }
.footer-bottom {
border-top: 0.5px solid rgba(255,255,255,0.1);
margin-top: 16px;
padding-top: 14px;
font-size: 11px;
color: rgba(255,255,255,0.35);
}