/* ============================================
   SSIAD - Widget Contact
   ============================================ */

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

.ssiad-contact {
    font-family: 'Roboto', -apple-system, sans-serif;
    color: #0f172a;
    line-height: 1.6;
    --primary: #1a2980;
    --secondary: #e6ebfb;
    --muted: #64748b;
    --border: #e2e8f0;
    --card: #fff;
    --destructive: #ef4444;
    --radius: 1rem;
}

/* Hero */
.ssiad-page-hero { background: var(--primary); color: #fff; padding: 5rem 1.5rem 6rem; position: relative; overflow: hidden; }
.ssiad-page-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(26,41,128,.8), rgba(26,41,128,.97)); }
.ssiad-page-hero__inner { position: relative; max-width: 1280px; margin: 0 auto; text-align: left; }
.ssiad-page-hero__eyebrow { font-size: .7rem; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: rgba(255,255,255,.7); margin-bottom: 1.25rem; }
.ssiad-page-hero__title { font-family: 'Montserrat', sans-serif; font-size: clamp(2rem,5vw,3.5rem); font-weight: 700; line-height: 1.1; margin-bottom: 1.5rem; }
.ssiad-page-hero__title em { font-style: italic; font-weight: 400; color: rgba(255,255,255,.75); }
.ssiad-page-hero__desc { font-size: 1.05rem; color: rgba(255,255,255,.8); max-width: 600px; }

/* ─── Grid ─── */
.ssiad-contact__section { max-width: 1280px; margin: 0 auto; padding: 5rem 1.5rem; }
.ssiad-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: start; }

/* ─── Cards infos ─── */
.ssiad-info-cards { display: flex; flex-direction: column; gap: 1.5rem; }

.ssiad-info-card {
    position: relative;
    background: var(--card);
    border-radius: var(--radius);
    padding: 1.5rem;
    box-shadow: 0 4px 20px rgba(0,0,0,.12);
    overflow: hidden;
    cursor: default;
    transition: transform 0.3s, box-shadow 0.3s;
}
.ssiad-info-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(26,41,128,.1); }
.ssiad-info-card__blob { position: absolute; top: -3rem; right: -3rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(26,41,128,.05); transition: transform 0.6s; }
.ssiad-info-card:hover .ssiad-info-card__blob { transform: scale(1.5); }

.ssiad-info-card--urgent { background: #fff8f8; }
.ssiad-info-card--urgent .ssiad-info-card__blob { background: rgba(239,68,68,.05); }

.ssiad-info-card__title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    position: relative;
}
.ssiad-info-card__title--icon {
    display: flex;
    align-items: center;
    gap: .6rem;
}
.ssiad-info-card__icon-wrap {
    display: flex; align-items: center; justify-content: center;
    width: 2.25rem; height: 2.25rem;
    border-radius: 50%;
    background: rgba(26,41,128,.1);
    color: var(--primary);
    transition: transform 0.4s;
    flex-shrink: 0;
}
.ssiad-info-card:hover .ssiad-info-card__icon-wrap { transform: rotate(12deg); }

.ssiad-info-card--urgent .ssiad-info-card__icon-wrap { background: rgba(239,68,68,.15); color: var(--destructive); }
.ssiad-info-card--urgent .ssiad-info-card__pulse {
    position: relative;
}
.ssiad-info-card--urgent .ssiad-info-card__pulse::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: rgba(239,68,68,.3);
    animation: ssiad-contact-pulse 2s ease-in-out infinite;
}
@keyframes ssiad-contact-pulse { 0%,100% { transform:scale(1); opacity:.7; } 50% { transform:scale(1.8); opacity:0; } }

.ssiad-contact-item {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .5rem;
    margin: 0 -.5rem;
    border-radius: .5rem;
    transition: background 0.3s;
    text-decoration: none;
    color: inherit;
    margin-bottom: .5rem;
}
.ssiad-contact-item:last-child { margin-bottom: 0; }
.ssiad-contact-item:hover { background: var(--secondary); }
.ssiad-contact-item__icon {
    flex-shrink: 0;
    width: 2rem; height: 2rem;
    border-radius: 50%;
    background: rgba(26,41,128,.1);
    color: var(--primary);
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.3s;
}
.ssiad-contact-item:hover .ssiad-contact-item__icon { transform: scale(1.1) rotate(6deg); }
.ssiad-contact-item__label { font-weight: 600; font-size: .85rem; color: #0f172a; margin-bottom: .15rem; }
.ssiad-contact-item__val { font-size: .9rem; color: var(--muted); }
a.ssiad-contact-item .ssiad-contact-item__val { font-weight: 600; color: #0f172a; transition: color 0.3s; }
a.ssiad-contact-item:hover .ssiad-contact-item__val { color: var(--primary); }

.ssiad-horaire-item {
    padding: .5rem .75rem;
    border-left: 2px solid rgba(26,41,128,.3);
    margin-bottom: .75rem;
    transition: border-color 0.3s;
}
.ssiad-horaire-item:last-child { margin-bottom: 0; }
.ssiad-horaire-item:hover { border-left-color: var(--primary); }
.ssiad-horaire-item strong { display: block; font-size: .85rem; color: #0f172a; margin-bottom: .2rem; }
.ssiad-horaire-item span { font-size: .85rem; color: var(--muted); }

.ssiad-urgences__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; position: relative; }
.ssiad-urgence-item {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: .5rem;
    padding: .75rem;
    text-decoration: none;
    transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}
.ssiad-urgence-item:hover { border-color: var(--destructive); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(239,68,68,.1); }
.ssiad-urgence-item__name { font-size: .75rem; color: var(--muted); }
.ssiad-urgence-item__num { font-size: 1.4rem; font-weight: 700; color: var(--destructive); margin-top: .2rem; transition: transform 0.3s; }
.ssiad-urgence-item:hover .ssiad-urgence-item__num { transform: scale(1.1); }

/* ─── Formulaire ─── */
.ssiad-form-card {
    background: var(--card);
    border-radius: var(--radius);
    box-shadow: 0 20px 60px rgba(0,0,0,.12);
    overflow: hidden;
    position: sticky;
    top: 7rem;
}
.ssiad-form-card__header {
    background: linear-gradient(135deg, var(--primary), #2a3f9a);
    padding: 1.25rem 1.5rem;
    color: #fff;
}
.ssiad-form-card__header h2 {
    font-size: 1.1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .25rem;
}
.ssiad-form-card__header p { font-size: .8rem; color: rgba(255,255,255,.8); }
.ssiad-form-card__body { padding: 1.5rem; }

.ssiad-form-group { margin-bottom: 1.25rem; }
.ssiad-form-group label { display: block; font-size: .85rem; font-weight: 500; color: #0f172a; margin-bottom: .4rem; }
.ssiad-form-group input,
.ssiad-form-group textarea {
    width: 100%;
    padding: .65rem .9rem;
    border: 1px solid var(--border);
    border-radius: .5rem;
    font-family: inherit;
    font-size: .9rem;
    color: #0f172a;
    background: #fff;
    transition: border-color 0.3s, box-shadow 0.3s;
    outline: none;
}
.ssiad-form-group input:focus,
.ssiad-form-group textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(26,41,128,.1);
}
.ssiad-form-group textarea { resize: vertical; min-height: 110px; }

.ssiad-form-submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: .85rem 1.5rem;
    font-size: .95rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
    font-family: inherit;
}
.ssiad-form-submit:hover { background: #111d60; transform: translateY(-2px); box-shadow: 0 10px 25px rgba(26,41,128,.3); }
.ssiad-form-note { font-size: .75rem; color: var(--muted); text-align: center; margin-top: .75rem; }

/* Reveal */
.ssiad-contact .ssiad-reveal { opacity: 0; transform: translateY(1.5rem); transition: opacity 0.6s ease, transform 0.6s ease; }
.ssiad-contact .ssiad-reveal.is-visible { opacity: 1; transform: none; }

/* Responsive */
@media (max-width: 768px) {
    .ssiad-contact__grid { grid-template-columns: 1fr; }
    .ssiad-form-card { position: static; }
    .ssiad-urgences__grid { grid-template-columns: 1fr 1fr; }
}
