﻿@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@200..800&family=Text+Me+One&family=Viga&display');

:root {
  --bg: #F2F2F2;
  --card: #fff;
  --text: #1a1a1a;
  --muted: #6b6560;
  --brand: #343434;
  --brand2: #f39200;
  --danger: #c0392b;
  --ok: #2d6a4f;
  --border: #e0d8d0;
  --serif: 'Dosis', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--sans);
  font-weight: 400;
  background: var(--bg);
  color: var(--text);
}

a {
  color: var(--brand);
  text-decoration: none;
}

.wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px;
}

.narrow {
  max-width: 680px;
}

.topbar {
  background: #EEEEEE;
  color: var(--text);
  border-bottom: 1px solid var(--border);
}

.topbar .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 28px;
}

.brand {
  font-weight: 800;
  letter-spacing: .5px;
}

.nav a {
  color: var(--text);
  margin-left: 18px;
  font-weight: 400;
  font-size: 14px;
}

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 28px 32px;
  box-shadow: none;
  margin-bottom: 16px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}

.form {
  display: grid;
  gap: 14px;
}

.form label {
  font-weight: 700;
  font-size: 14px;
}

.form input,
.form select,
.form textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid var(--border);
  border-radius: 4px;
  margin-top: 6px;
  font-size: 14px;
  background: var(--card);
  font-family: var(--sans);
  color: var(--text);
}

.form textarea {
  min-height: 110px;
}

.push-notification-panel {
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 14px;
  background: #f8fafc;
  display: grid;
  gap: 10px;
}

.push-notification-panel p {
  margin: 0;
}

.push-diagnostic-list {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
}

.push-diagnostic-list li.ok {
  color: #166534;
}

.push-diagnostic-list li.ko {
  color: #b45309;
}

.pwa-install-panel {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 1000;
  max-width: 520px;
  margin: 0 auto;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
  display: grid;
  gap: 12px;
}

.pwa-install-panel[hidden] {
  display: none;
}

.pwa-install-panel p {
  margin: 0;
  color: var(--text);
  font-weight: 700;
}

.pwa-install-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.btn,
button.btn {
  display: inline-block;
  background: var(--brand);
  color: #fff;
  border: 1px solid var(--brand);
  border-radius: 4px;
  padding: 5px 10px;
  font-weight: 500;
  cursor: pointer;
  font-size: 12px;
  letter-spacing: .03em;
  font-family: var(--sans);
  text-decoration: none;
	min-width:80px;
}

.btn:hover {
  background: var(--brand2);
	color: #333;
}

.btn.danger {
  background: var(--danger);
}

.btn.secondary {
  background: transparent;
  color: var(--text);
  border-color: var(--border);
}

.btn.secondary:hover {
  background: var(--bg);
  border-color: var(--text);
}

.btn.btn-marketplace{
  background:var(--brand2);
  border-color:var(--brand2);
  color:#333;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  font-weight:800;
  gap:8px;
}
.btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  line-height:1;
}

.btn.btn-marketplace:hover{
  background:var(--danger);
  border-color:var(--danger);
  color:#fff;
}

.hero-cta{
  display:grid;
  gap:10px;
  justify-items:start;
}
.hero-cta-main,
.hero-cta-secondary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
}

.table th,
.table td {
  padding: 4px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  font-size: 14px;
}

.table th {
  background: var(--bg);
}

.muted {
  color: var(--muted);
}

.success {
  background: #e8f7ef;
  color: var(--ok);
  padding: 12px;
  border-radius: 4px;
}

.error {
  background: #fdecec;
  color: var(--danger);
  padding: 12px;
  border-radius: 4px;
}

.pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 3px;
  background: #f0ede8;
  color: var(--muted);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.slots {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.slot {
  position: relative;
}

.slot input {
  position: absolute;
  opacity: 0;
}

.slot span {
  display: block;
  border: 1px solid var(--border);
  padding: 10px 12px;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}

.slot input:checked + span {
  background: var(--brand);
  color: #fff;
}

.booking-collaborators {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.booking-collaborators-title {
  flex: 0 0 100%;
  font-weight: 700;
  font-size: 14px;
}

.booking-provider-choice.active {
  background: var(--brand1);
  box-shadow: 0 0 0 2px rgba(24, 42, 122, .18);
}

.booking-provider-choice {
  margin-top: 0;
}

.booking-service-list {
  display: grid;
  gap: 8px;
}

.booking-service-list .muted {
  margin: 0;
}

.booking-service-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: #fff;
  font-size: 13px;
}

.booking-service-chip a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  color: #991b1b;
  background: #fee2e2;
  font-weight: 700;
}
.booking-service-chip small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:400;text-transform:lowercase}

.booking-confirm-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  width:100%;
}

.booking-confirm-actions .btn{
  flex:1 1 100%;
  width:100%;
  text-align:center;
}

.booking-confirm-submit{
  display:block;
  width:100%;
  margin-top:12px;
  text-align:center;
}

.booking-confirm-open.is-disabled,
.booking-confirm-submit:disabled{
  opacity:1;
  cursor:not-allowed;
  color:#8a93a6;
  background:#fff;
  border:1px solid #d7dce8;
  box-shadow:none;
}

.booking-confirm-submit:not(:disabled){
  background:var(--brand2);
  border-color:var(--brand2);
  color:#333;
}

.booking-confirm-submit:not(:disabled):hover{
  background:var(--danger);
  border-color:var(--danger);
  color:#fff;
}

.booking-confirm-box{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .65s ease, opacity .45s ease, margin-top .45s ease;
  margin-top:0;
}

.booking-confirm-box.is-open{
  max-height:320px;
  opacity:1;
  margin-top:12px;
}

.booking-confirm-box .alert-info{
  margin:0;
}

@media(max-width:560px){
  .booking-confirm-actions{
    gap:8px;
  }
  .booking-confirm-actions .btn,
  .booking-confirm-submit{
    min-width:0;
    text-align:center;
  }
}

.actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.footer {
  text-align: center;
  color: var(--muted);
  padding: 30px;
}

.footer a {
  color: var(--text);
  margin-left: 12px;
  font-weight: 600;
}

.about-page h2 {
  margin-top: 0;
}

.about-hero {
  padding-bottom: 28px;
}

.about-feature-grid {
  margin-bottom: 16px;
}

.about-feature-grid .card ul {
  margin: 0;
  padding-left: 18px;
}

.about-feature-grid .card li {
  margin: 7px 0;
}

.about-push-card {
  display: grid;
  grid-template-columns: minmax(220px, 36%) 1fr;
  gap: 28px;
  align-items: center;
}

.about-push-image {
  display: flex;
  justify-content: center;
}

.about-push-image img {
  display: block;
  width: 250px;
  height: auto;
}

.about-push-content p:last-child {
  margin-bottom: 0;
}

.about-push-test {
  margin-top: 16px;
}

.about-push-test .btn {
  justify-self: start;
}

.about-qr-image {
  display: grid;
  place-items: center;
  width: min(250px, 100%);
  aspect-ratio: 1;
  margin: 0 auto;
  border: 2px dashed var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-weight: 700;
}

.about-qr-image img {
  display: grid;
  place-items: center;
  width: 90%;
  aspect-ratio: 1;
  border: 1px solid var(--border);
  border-radius: 4px;
  background:
    linear-gradient(90deg, #1d1d1f 12px, transparent 12px) 0 0 / 30px 30px,
    linear-gradient(#1d1d1f 12px, transparent 12px) 0 0 / 30px 30px,
    #f8f8fc;
  box-shadow: inset 0 0 0 14px #fff;
  text-align: center;
}

.faq-list {
  display: grid;
  gap: 10px;
}

.faq-list details {
  border: 1px solid var(--border);
  border-radius: 4px;
  background: #fff;
  padding: 12px 14px;
}

.faq-list summary {
  cursor: pointer;
  font-weight: 700;
}

.faq-list p {
  margin-bottom: 0;
  color: var(--muted);
}

.google-business-help{margin:4px 0 24px;border:1px solid var(--border);border-radius:4px;background:#fffaf5;overflow:hidden}
.google-business-help summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;color:var(--text);font-weight:700;list-style:none}
.google-business-help summary::-webkit-details-marker{display:none}
.google-business-help-icon{display:inline-flex;flex:0 0 24px;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:var(--brand2);color:#fff;font-family:Georgia,serif;font-size:16px;font-weight:700}
.google-business-help summary::after{content:"+";margin-left:auto;color:var(--brand2);font-size:22px;line-height:1}
.google-business-help[open] summary::after{content:"−"}
.google-business-help-content{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:20px;padding:0 14px 16px;border-top:1px solid var(--border)}
.google-business-help-content img{display:block;width:100%;height:auto;margin-top:16px;border-radius:4px}
.google-business-help-content ol{padding-left:22px}
.google-business-help-content li{margin-bottom:7px}
.google-business-help-content code{overflow-wrap:anywhere}
@media(max-width:760px){.google-business-help-content{grid-template-columns:1fr}}

.table-wrap {
  overflow-x: auto;
  margin: 14px 0;
}

.appointments-page-layout{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.appointments-page-layout > .card{
  margin-bottom:0;
}
.appointment-add-panel{
  order:-1;
  padding:18px 22px;
  overflow:hidden;
}
.appointment-add-panel > summary{
  display:flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  cursor:pointer;
  list-style:none;
}
.appointment-add-panel > summary::-webkit-details-marker{
  display:none;
}
.appointment-add-toggle::after{
  content:"+";
  margin-left:10px;
  font-size:18px;
  line-height:1;
}
.appointment-add-panel[open] .appointment-add-toggle::after{
  content:"−";
}
.appointment-add-content{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .55s ease,opacity .3s ease,margin-top .35s ease;
}
.appointment-add-panel[open] .appointment-add-content{
  max-height:2400px;
  margin-top:22px;
  opacity:1;
}
.appointment-add-content h2{
  margin-top:0;
}
@media(max-width:700px){
  .appointment-add-panel{padding:14px}
  .appointment-add-panel > summary,.appointment-add-toggle{width:100%}
  .appointment-add-toggle{justify-content:center}
}
.admin-appointments-year{
  margin:14px 0;
  border:1px solid var(--border);
  border-radius:4px;
  background:var(--card);
  overflow:hidden;
}
.admin-appointments-year summary{
  cursor:pointer;
  padding:14px 16px;
  font-weight:700;
  background:#f8f8fc;
}
.admin-appointments-year .table{
  margin:0;
  border:0;
}
.admin-appointments-table{
  font-size:12px;
}
.admin-appointments-table th,
.admin-appointments-table td{
  font-size:12px;
}
.admin-appointments-table .btn{
  font-size:12px;
  padding:6px 8px;
}
.admin-appointments-table .appointment-validate-btn{
  background:#16a34a;
  border-color:#16a34a;
  color:#fff;
}
.admin-appointments-table .appointment-validate-btn:hover{
  background:#15803d;
  border-color:#15803d;
  color:#fff;
}
.inline-form.appointment-admin-filter{
  display:flex;
  align-items:end;
  gap:12px;
  max-width:760px;
}
.appointment-admin-filter label{
  flex:1 1 auto;
}
.appointment-admin-filter button{
  flex:0 0 auto;
}
@media(max-width:700px){
  .about-push-card {
    grid-template-columns: 1fr;
  }
  .inline-form.appointment-admin-filter{
    display:grid;
    grid-template-columns:1fr;
  }
  .appointment-admin-filter button{
    width:100%;
  }
}

.about-table td:last-child,
.about-table th:last-child {
  min-width: 240px;
}

.legal-content h2 {
  margin-top: 24px;
}

.legal-content h2:first-child {
  margin-top: 0;
}

.hero {
  padding: 50px 0;
}

.hero h1 {
  font-size: 45px;
  line-height: 1.05;
  margin: 0 0 20px;
  font-weight: 300;
  letter-spacing: -.01em;
  font-family: var(--serif);
}

.hero p {
  font-size: 18px;
  color: var(--muted);
}

.pro-company-heading{display:flex;align-items:center;gap:16px;margin:0 0 20px}
.pro-company-heading h1{margin:0}
.pro-company-logo,.settings-company-logo-preview{width:80px;height:80px;flex:0 0 80px;border-radius:50%;object-fit:cover;background:#fff;border:1px solid var(--border)}

.hero-sub {
  font-size: 16px;
  color: var(--muted);
  line-height: 1.75;
  margin: 0 0 36px;
  max-width: 540px;
  font-weight: 300;
}

.hero-cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 8px;
}

@media (max-width: 720px) {
  .wrap {
    padding: 18px;
  }
  
  .topbar .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  
  .nav {
    margin-top: 0;
    margin-left: auto;
    text-align: right;
  }
  
  .nav a {
    margin: 0 0 0 12px;
  }
  
  .hero h1 {
    font-size: 32px;
  }
  
  .table {
    display: block;
    overflow: auto;
  }
}


/* Agenda visuel admin - PLANICASA V2 */
.agenda-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.agenda-toolbar .date-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.agenda-shell{overflow:visible;border:1px solid #e6e8ef;border-radius:4px;background:#fff;box-shadow:0 10px 30px rgba(20,30,60,.06)}
.agenda-grid{display:grid;position:relative;min-width:920px;background:#fff}
.agenda-corner,.agenda-staff{position:sticky;top:0;z-index:4;background:#fafafa;border-bottom:1px solid #ddd;min-height:64px;display:flex;align-items:center;justify-content:center;font-weight:700}
.agenda-corner{left:0;z-index:5;border-right:1px solid #ddd;color:#888}
.agenda-staff{border-right:1px solid #ddd;gap:10px}
.agenda-avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e9eef7;color:#333;font-weight:800;font-size:14px}
.agenda-time{position:sticky;left:0;z-index:2;background:#fff;border-right:1px solid #ddd;border-bottom:1px solid #eee;color:#777;font-size:14px;padding:6px 8px;text-align:right}
.agenda-cell{position:relative;border-right:1px solid #ddd;border-bottom:1px solid #eee;background:linear-gradient(to bottom, rgba(0,0,0,.025), rgba(0,0,0,0));}
.agenda-event{position:absolute;left:6px;right:6px;border-radius:4px;padding:9px 10px;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.6) inset;border:1px solid rgba(0,0,0,.08);z-index:3;color:#073763}
.agenda-event strong{display:block;font-size:15px;line-height:1.05;text-transform:uppercase}
.agenda-event .name{font-weight:800;font-size:15px;line-height:1.1;margin-top:1px}
.agenda-event .meta{font-size:12px;margin-top:8px;line-height:1.2}
.agenda-event .price{position:absolute;right:8px;top:8px;background:#35d6b5;color:#fff;border-radius:4px;padding:3px 7px;font-weight:800;font-size:12px}
.agenda-event.pending{opacity:.78}
.agenda-event.cancelled{opacity:.45;text-decoration:line-through}
.agenda-now{position:absolute;left:0;right:0;height:2px;background:#ff4d58;z-index:6;pointer-events:none}
.agenda-empty{padding:20px;color:#777;text-align:center}
@media(max-width:800px){.agenda-grid{min-width:760px}.agenda-staff{font-size:13px}.agenda-event strong,.agenda-event .name{font-size:13px}}

/* PLANICASA V2.1 - Agenda type Planity : jour / semaine / mois */
.agenda-page{padding:0;overflow:visible}.agenda-top{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px 24px;border-bottom:1px solid #eef0f4;background:linear-gradient(135deg,#ffffff,#f8fbff)}.agenda-top h1{margin:0;font-size:30px}.agenda-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.agenda-tabs{display:flex;background:#eef2f7;border-radius:999px;padding:4px;gap:3px}.agenda-tabs a{padding:10px 16px;border-radius:999px;color:#334155;font-weight:800;font-size:14px}.agenda-tabs a.active{background:#111827;color:#fff;box-shadow:0 6px 18px rgba(17,24,39,.18)}.agenda-actions .date-nav{display:flex;align-items:center;gap:8px}.inline-form{display:block}.inline-form input{margin:0;padding:10px 12px;border-radius:4px;background:#fff}.planity-shell{border:0;border-radius:0;box-shadow:none;max-height:none;overflow:visible}.planity-day,.planity-week{min-width:980px}.agenda-corner,.agenda-staff{background:#fbfcfe;color:#111827;border-color:#e8edf3}.agenda-staff{font-size:15px;line-height:1.25}.agenda-staff.today{background:#eff6ff;color:#1d4ed8}.agenda-staff strong{font-size:17px}.agenda-time{background:#fbfcfe;color:#64748b;font-weight:700;font-size:13px}.agenda-cell{background:#fff}.agenda-cell:nth-child(even){background:#fcfdff}.agenda-event{display:block;left:7px;right:7px;border-radius:4px;padding:10px 11px 8px;color:#06243c;border:1px solid rgba(15,23,42,.1);box-shadow:0 10px 20px rgba(15,23,42,.12);transition:transform .12s ease,box-shadow .12s ease}.agenda-event:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(15,23,42,.18)}.agenda-event .event-time{display:inline-block;font-size:12px;font-weight:900;background:rgba(255,255,255,.72);border-radius:999px;padding:3px 7px;margin-bottom:6px}.agenda-event strong{font-size:14px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-event .name{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-event .meta{display:block;color:rgba(6,36,60,.8)}.agenda-event.compact{padding:8px 9px}.agenda-event.compact strong{font-size:13px}.agenda-event.compact .name{font-size:12px}.agenda-event.pending{filter:saturate(.75);opacity:.82}.agenda-now{background:#ef4444;height:3px;box-shadow:0 0 0 2px rgba(239,68,68,.12)}.agenda-now:before{content:"";position:absolute;left:76px;top:-5px;width:12px;height:12px;border-radius:50%;background:#ef4444}.month-wrap{padding:22px;background:#f8fafc}.month-head{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.month-head div{text-align:center;font-weight:900;color:#475569;padding:10px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.month-cell{min-height:132px;background:#fff;border:1px solid #e6ebf2;border-radius:4px;padding:10px;box-shadow:0 8px 18px rgba(15,23,42,.05);overflow:hidden}.month-cell.outside{opacity:.46;background:#f8fafc}.month-cell.today{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.12)}.month-date{font-weight:900;color:#0f172a;margin-bottom:8px}.month-events{display:grid;gap:5px}.month-event{display:block;border-radius:3px;padding:5px 7px;color:#06243c;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-event span{font-weight:900;background:rgba(255,255,255,.65);border-radius:6px;padding:1px 4px;margin-right:3px}.month-more{font-size:12px;font-weight:800;color:#64748b;padding:3px 5px}@media(max-width:850px){.agenda-top{display:block}.agenda-actions{margin-top:14px}.planity-shell{max-height:none}.month-grid,.month-head{min-width:760px}.month-wrap{overflow:auto}.month-cell{min-height:118px}.agenda-tabs a{padding:9px 12px}}


/* PLANICASA v2.2 - corrections agenda semaine */
.planity-week{min-width:0!important;width:100%!important;}
.planity-week .agenda-event{position:relative!important;box-sizing:border-box;min-width:0;max-width:calc(100% - 14px);z-index:5;}
.planity-week .agenda-staff,.planity-week .agenda-time,.planity-week .agenda-corner{box-sizing:border-box;}
.planity-week .agenda-staff{padding:10px 4px;font-size:13px;}
.planity-week .agenda-staff strong{font-size:15px;}
.planity-week .agenda-time{font-size:12px;padding:8px 6px;}
.planity-week .agenda-event.compact{left:5px!important;right:5px!important;padding:7px 8px;}
.planity-week .agenda-event.compact strong,.planity-week .agenda-event.compact .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:1100px){.planity-week{min-width:980px!important;}}

.form-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:14px}
.checkline{display:flex!important;align-items:center;gap:10px;font-weight:700}.checkline input{width:auto!important}
@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}}

/* PLANICASA 1.03 correctif - horaires par jour */
.weekly-hours{display:grid;gap:12px;margin:10px 0 18px}
.weekly-hour-row{display:grid;gap:10px;border:1px solid var(--border);border-radius:4px;padding:12px 14px;background:#fafbff}
.weekly-hour-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.weekly-hour-head strong{font-size:16px}
.weekly-hour-slots{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.weekly-hour-slots[hidden]{display:none!important}
.weekly-hour-slots label{display:grid;gap:5px;margin:0;font-size:13px;color:var(--muted);font-weight:700}
.weekly-hour-slots input[type=time]{width:70px;min-width:70px;padding:8px 9px}
.weekly-hour-slots .checkbox-line{display:flex;align-items:center;gap:8px;align-self:center;color:var(--text);white-space:nowrap}
.weekly-hour-slots .toggle-second-range{width:34px;height:34px;min-width:34px;padding:0;font-size:20px;line-height:1;align-self:end}
.weekly-hour-slots .second-range{display:inline-flex;align-items:end;gap:10px;flex-wrap:wrap}
.weekly-hour-slots .second-range[hidden]{display:none!important}
.checkbox-line{display:flex!important;align-items:center;gap:8px;margin-bottom:12px}
.checkbox-line input{width:auto!important;margin:0!important}
.settings-form-section{border-top: 2px solid #f39200;padding-top:16px;margin-top:12px}
.settings-form-section h3{margin:0 0 12px;font-size:15px;font-weight:700;color:#596174}
.validation-toggle{border:1px solid var(--border);border-radius:4px;padding:12px 14px;background:#fbfcfe}
.validation-toggle legend{padding:0 6px;font-size:13px;font-weight:700;color:#596174}
.validation-toggle-options{display:inline-grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border:1px solid #d8dee8;border-radius:4px;background:#eef2f7}
.validation-toggle-options label{position:relative;margin:0!important;font-size:13px;font-weight:600;color:#596174;cursor:pointer}
.validation-toggle-options input{position:absolute;opacity:0;pointer-events:none}
.validation-toggle-options span{display:block;min-width:70px;padding:5px 10px;border-radius:3px;text-align:center;line-height:1.2;transition:background .15s ease,color .15s ease,box-shadow .15s ease}
.validation-toggle-options input:checked+span{background:#fff;color:#111827;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.validation-toggle-options input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:780px){.weekly-hour-head{display:grid;gap:8px}}
@media(max-width:520px){.weekly-hour-slots{display:grid;grid-template-columns:1fr 1fr}.weekly-hour-slots input[type=time]{width:100%;min-width:0}.weekly-hour-slots .checkbox-line,.weekly-hour-slots .second-range{grid-column:1/-1}.weekly-hour-slots .second-range{display:grid;grid-template-columns:1fr 1fr}}


/* PLANICASA 1.03 correctif - statut pending cliquable */
.status-link{font-weight:800;text-decoration:none;transition:.18s ease}
.status-link:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.12)}
.pill.pending{background:#fff3cd;color:#856404}
.pill.confirmed{background:#e8f7ef;color:#167744}
.pill.cancelled{background:#fdecec;color:#c62828}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}

/* Mot de passe oublié / réinitialisation */
.forgot-password {
    text-align: center;
    margin-top: 16px;
}
.forgot-password a {
    color: #596174;
    font-size: 14px;
    text-decoration: none;
    font-weight: 600;
}
.forgot-password a:hover {
    text-decoration: underline;
}
.muted {
    color: var(--muted);
    line-height: 1.5;
}
.success {
    padding: 5px 5px;
    border-radius: 5px;
    background: #e8fff1;
    border: 1px solid #b8f0cc;
    color: #146c36;
    font-weight: 600;
}


/* PLANICASA V1.03f - correctif agenda V4 */
.agenda-page{overflow:visible!important;}
.agenda-shell.planity-shell{overflow:visible!important;max-height:none!important;}
.planity-week .agenda-now-day{position:absolute!important;height:3px!important;background:#ef4444!important;z-index:20!important;pointer-events:none!important;box-shadow:0 0 0 2px rgba(239,68,68,.12)!important;}
.planity-week .agenda-now-day:before{content:"";position:absolute;left:-6px!important;top:-5px;width:12px;height:12px;border-radius:50%;background:#ef4444;}


/* PLANICASA V1.03f - correctif agenda V5 : heures fermées grisées */
.agenda-cell.closed{
    background:repeating-linear-gradient(45deg,#f1f3f7 0,#f1f3f7 8px,#e9edf3 8px,#e9edf3 16px)!important;
    opacity:.82;
}
.agenda-time.closed{
    background:#f1f3f7!important;
    color:#9aa3b2!important;
}

/* PLANICASA 1.04a - Accueil + inscription professionnels */
.landing-hero{padding:50px 0 72px;max-width:820px}
.landing-hero .pill{margin-bottom:16px}
.benefits{margin-bottom:20px}
.pro-list{display:grid;gap:12px;margin-top:14px}
.pro-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:4px;padding:14px;background:var(--card)}
.pro-row .muted{word-break:break-all}
.latest-pro-row{justify-content:flex-start}
.latest-pro-photo-link{display:block;flex:0 0 86px;width:86px;height:86px;border-radius:4px;overflow:hidden;background:#f0ede8}
.latest-pro-photo{width:86px;height:86px;aspect-ratio:1/1;object-fit:cover;flex:0 0 86px;border-radius:4px;background:#f0ede8}
.latest-pro-photo-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  background:#e5e7eb;
}
.latest-pro-photo-placeholder span{
  width:30px;
  height:23px;
  border:2px solid #9ca3af;
  border-radius:4px;
  position:relative;
}
.latest-pro-photo-placeholder span::before{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  top:4px;
  right:5px;
  border-radius:50%;
  background:#9ca3af;
}
.latest-pro-photo-placeholder span::after{
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  bottom:4px;
  height:8px;
  background:#9ca3af;
  clip-path:polygon(0 100%,35% 35%,54% 68%,70% 25%,100% 100%);
}
.latest-pro-content{min-width:0;flex:1}
@media(max-width:680px){
  .pro-row{display:block}
  .pro-row .btn{margin-top:12px}
  .latest-pro-row{
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    align-items:center;
    gap:10px 12px;
  }
  .latest-pro-photo-link,
  .latest-pro-photo{
    width:74px;
    height:74px;
    flex-basis:74px;
  }
  .latest-pro-content{
    font-size:13px;
    line-height:1.28;
  }
  .latest-pro-content strong{
    font-size:14px;
    line-height:1.2;
  }
  .latest-pro-content .muted{
    font-size:12px;
    line-height:1.25;
  }
  .latest-pro-row .btn{
    grid-column:2;
    justify-self:start;
    margin-top:0;
  }
}
.pro-presentation{max-width:820px;line-height:1.6;color:#374151}
.pro-photo-single{--pro-photo-slide-height:300px;width:fit-content;max-width:100%;height:var(--pro-photo-slide-height);margin:0 0 22px;overflow:hidden}
.pro-photo-single .pro-photo-lightbox-trigger,
.pro-photo-single .pro-photo-lightbox-trigger picture,
.pro-photo-single .pro-photo-lightbox-trigger img{height:var(--pro-photo-slide-height)}
.pro-photo-carousel{--pro-photo-slide-height:300px;margin:0 0 22px;overflow:hidden}
.pro-photo-carousel-viewport{overflow:hidden;cursor:grab;touch-action:pan-y}
.pro-photo-carousel-viewport.is-dragging{cursor:grabbing}
.pro-photo-carousel-track{display:flex;gap:14px;align-items:center;will-change:transform;transition:transform .75s ease}
.pro-photo-slide{flex:0 0 auto;height:var(--pro-photo-slide-height)}
.pro-photo-lightbox-trigger{display:inline-flex;width:auto;justify-content:center;align-items:center;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:transparent;box-shadow:none;cursor:pointer}
.pro-photo-lightbox-trigger picture{display:inline-flex;width:auto;height:var(--pro-photo-slide-height);align-items:center;justify-content:center;overflow:hidden;background:transparent}
.pro-photo-lightbox-trigger img{display:block;width:auto;max-width:100%;height:var(--pro-photo-slide-height);object-fit:contain;transition:transform .18s ease}
.pro-photo-lightbox-trigger:hover img{transform:scale(1.025)}
.pro-photo-carousel-dots{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:12px}
.pro-photo-carousel-dot{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#d9d1c8;cursor:pointer}
.pro-photo-carousel-dot.is-active{background:var(--brand)}
@media(max-width:680px){.pro-photo-single,.pro-photo-carousel{--pro-photo-slide-height:300px}.pro-photo-carousel-track{gap:12px}}
.provider-team{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;margin:0 0 24px}
.provider-profile{width:72px;text-align:center}
.provider-profile-photo{width:50px;height:50px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#f0ede8;color:var(--text);font-weight:800;border:1px solid var(--border)}
.provider-profile-initials{font-size:18px;text-transform:uppercase}
.provider-profile-name{display:block;margin-top:6px;font-size:12px;line-height:1.25;color:var(--text);overflow-wrap:anywhere}
.booking-provider-team{margin:10px 0 0}
.photo-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,13,26,.88)}
.photo-lightbox[hidden]{display:none}
.photo-lightbox img{display:block;max-width:min(1120px,100%);max-height:86vh;border-radius:4px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.photo-lightbox-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;border-radius:999px;background:#fff;color:#111827;font-size:24px;font-weight:800;line-height:1;cursor:pointer}
.photo-lightbox-close:hover{background:#f3f4f6}
.brand a{display:inline-flex;align-items:center}.brand-logo{display:block;width:auto;height:30px;padding:4px 8px}
.hero-check-list{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:8px;color:var(--muted);font-size:15px;font-weight:300}
.hero-check-list li{position:relative;padding-left:30px;line-height:1.45}
.hero-check-list li::before{content: "\2713";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:999px;background:#e4ede4;color:var(--ok);font-weight:800;font-size:14px;display:inline-flex;align-items:center;justify-content:center}
.btn-small{padding:8px 12px;font-size:13px;border-radius:4px}
.account-delete-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,13,26,.72)}
.account-delete-modal[hidden]{display:none}
.account-delete-box{width:min(520px,100%);background:#fff;border-radius:4px;border:1px solid var(--border);box-shadow:0 24px 70px rgba(0,0,0,.35);padding:22px}
.account-delete-box h2{margin-top:0}
.service-list{display:grid;gap:12px}
.service-row{display:flex!important;align-items:center;gap:18px;border:1px solid var(--border);border-radius:4px;padding:16px;background:var(--card)}
.service-row-main{flex:1 1 auto;min-width:0}
.service-row-main h3{margin:0 0 5px;font-size:16px;line-height:1.25;color:var(--text)}
.service-row-main p{margin:0;font-size:13px;line-height:1.45}
.service-row-meta{flex:0 0 220px;display:grid;gap:4px;text-align:center;justify-items:center}
.service-row-meta strong{font-size:17px;line-height:1.2;color:var(--text)}
.service-row-meta span{color:var(--muted);font-size:14px;font-weight:800}
.service-price-text{font-size:12px;font-weight:700;line-height:1.2}
.service-price-amount{font-size:17px;font-weight:800;line-height:1.2}
.service-row-action{flex:0 0 auto;white-space:nowrap;text-align:center;margin-left:auto}
@media(max-width:720px){.service-row{display:grid!important;grid-template-columns:1fr;align-items:stretch}.service-row-main,.service-row-meta,.service-row-action{flex:auto}.service-row-meta{text-align:left;justify-items:start}.service-row-action{width:100%;margin-left:0}}
.settings-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.settings-photo-item{border:1px solid var(--border);border-radius:4px;padding:14px;background:var(--card)}
.settings-photo-item a{display:block;margin-bottom:12px;border-radius:4px;overflow:hidden;border:1px solid var(--border);background:#fff}
.settings-photo-item img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.settings-photo-item small{display:block;color:var(--muted);font-weight:400;margin-top:6px}
.settings-profile-photo-grid{grid-template-columns:minmax(0,260px)}
.settings-profile-photo-preview{width:96px!important;height:96px!important;aspect-ratio:1/1!important;border-radius:50%!important;object-fit:cover!important}
@media(max-width:680px){.settings-photo-grid{grid-template-columns:1fr}}
.planicasa-public-url-field{display:block;margin-top:6px}
.form .planicasa-public-url-input,.form .readonly-link-input{margin-top:0;background:#e5e7eb;color:#64748b;border-color:#cbd5e1;box-shadow:inset 0 1px 2px rgba(15,23,42,.08);cursor:not-allowed}
.planicasa-public-url-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.planicasa-public-url-actions .btn{margin-top:0;white-space:nowrap}
@media(max-width:760px){.planicasa-public-url-actions .btn{width:100%}}

.service-collaborators{border:1px solid var(--border);border-radius:4px;padding:14px;background:var(--card)}
.service-collaborators legend{font-weight:800;padding:0 6px}
.collaborator-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 14px;margin-top:8px}
.service-color-picker{min-width:0;border:1px solid var(--border);border-radius:4px;padding:14px;background:var(--card)}
.service-color-picker legend{padding:0 6px;font-weight:800}
.service-color-picker small{display:block;margin-top:9px;color:var(--muted);line-height:1.4}
.service-color-palette{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.service-color-swatch,.service-color-custom{position:relative;display:inline-flex;flex:0 0 38px;width:38px;height:38px;align-items:center;justify-content:center;margin:0;padding:0;border:2px solid #fff;border-radius:50%;background:var(--swatch-color);box-shadow:0 0 0 1px #cbd5e1;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.service-color-swatch:hover,.service-color-custom:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #64748b,0 4px 10px rgba(15,23,42,.14)}
.service-color-swatch span{visibility:hidden;color:#111827;font-size:18px;font-weight:900;text-shadow:0 1px 1px rgba(255,255,255,.8)}
.service-color-swatch.is-selected,.service-color-custom.is-selected{box-shadow:0 0 0 3px #111827,0 4px 10px rgba(15,23,42,.18)}
.service-color-swatch.is-selected span{visibility:visible}
.service-color-custom{background:var(--custom-color,#fff)}
.service-color-custom span{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.9);color:#111827;font-size:21px;font-weight:700;line-height:1}
.service-color-custom.is-selected span{font-size:0}
.service-color-custom.is-selected span::after{content:"✓";font-size:16px;font-weight:900}
#serviceColorCustomInput{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}
@media(max-width:520px){.service-color-palette{gap:8px}.service-color-swatch,.service-color-custom{flex-basis:36px;width:36px;height:36px}}
.collaborator-checks.is-disabled{opacity:.45}
.service-stats-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,auto) minmax(140px,auto) auto;gap:12px;align-items:end;margin:18px 0}
.service-stats-filters label{font-weight:700;font-size:14px}
.service-stats-filters input,.service-stats-filters select{width:100%;height:42px;padding:10px 12px;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text);font-family:var(--sans)}
.service-stats-filters .btn{height:42px;margin:0;white-space:nowrap}
.service-stats-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:#fff;margin-top:18px}
.service-stats-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}
.service-stats-table th,.service-stats-table td{padding:13px 14px;border-bottom:1px solid #e5e7eb;vertical-align:middle}
.service-stats-table th{background:#f8fafc;color:#111827;font-size:13px;font-weight:800;text-align:left}
.service-stats-table tbody tr:last-child td{border-bottom:0}
.service-stats-col-name{width:25%}
.service-stats-col-count{width:10%}
.service-stats-col-bar{width:50%}
.service-stats-col-percent{width:15%}
.service-stats-name{font-weight:700;color:#111827;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.service-stats-number,.service-stats-percent{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:#111827}
.service-stats-progress-cell{min-width:260px}
.service-stats-progress{width:100%;height:14px;background:#f1f5f9;border:1px solid #d9e2ec;border-radius:999px;overflow:hidden}
.service-stats-progress-fill{height:100%;border-radius:999px}
.service-pricing-price-field,.service-pricing-custom-field{transition:opacity .18s ease,transform .18s ease}
.service-pricing-price-field[hidden],.service-pricing-custom-field[hidden]{display:none}
.readonly-field{background:#f1f5f9!important;color:#64748b!important;border-color:#cbd5e1!important;cursor:not-allowed}
@media(max-width:980px){.service-stats-filters{grid-template-columns:1fr 1fr}.service-stats-filters .btn{grid-column:1/-1;width:100%}}
@media(max-width:560px){.service-stats-filters{grid-template-columns:1fr}.service-stats-table{min-width:640px}.service-stats-table th,.service-stats-table td{padding:10px 12px}.service-stats-progress-cell{min-width:220px}}

.registration-choice h1{margin-top:0}
.account-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.account-choice{display:grid;gap:8px;border:1px solid var(--border);border-radius:4px;padding:20px;background:var(--card);color:var(--text)}
.account-choice:hover{border-color:var(--text);box-shadow:none}
.account-choice strong{font-size:18px;color:var(--text)}
.account-choice span{color:var(--muted);line-height:1.45}
@media(max-width:680px){.account-choice-grid{grid-template-columns:1fr}.account-choice{padding:16px}}

/* Menu compte */
.brand a{color:var(--text);text-decoration:none}
.account-menu{position:relative;display:inline-block;color:var(--text);margin-left:18px}
.account-menu summary{list-style:none;cursor:pointer;font-weight:700}
.account-menu summary{display:flex;align-items:center;gap:12px;font-weight:500}
.account-menu-text{display:grid;gap:4px;line-height:1.15;text-align:right}
.account-name{font-size:16px;font-weight:500}
.account-status{font-size:11px;color:var(--muted);font-weight:400}
.account-arrow{font-size:10px;line-height:1;margin-left:2px}
.account-menu summary::-webkit-details-marker{display:none}
.account-menu-list{position:absolute;right:0;top:calc(100% + 10px);z-index:30;min-width:220px;background:#fff;border:1px solid var(--border);border-radius:4px;box-shadow:0 16px 34px rgba(15,23,42,.18);padding:8px}
.nav .account-menu-list a,.account-menu-list a{display:block;color:var(--text);margin:0;padding:10px 12px;border-radius:4px;white-space:nowrap}
.account-menu-list a:hover{background:#f5ebe4}
@media(max-width:720px){.account-menu{margin:10px 0 0}.account-menu-list{position:static;margin-top:8px}}

/* PLANICASA agenda premium */
.agenda-wrap{max-width:none;width:100%;padding:22px clamp(14px,2.2vw,34px)}
.agenda-wrap .agenda-page{border:1px solid #dfe5ee;border-radius:4px;padding:0;margin:0;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.08);overflow:hidden!important}
.agenda-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px clamp(16px,2vw,28px)!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid #e6ebf2!important;backdrop-filter:blur(12px)}
.agenda-top h1{font-size:28px!important;letter-spacing:0;color:#111827}
.agenda-top .muted{margin:5px 0 0;color:#64748b;font-weight:600}
.agenda-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.agenda-tabs{display:inline-flex;gap:4px;padding:4px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px}
.agenda-tabs a{border-radius:4px!important;padding:9px 13px!important;color:#475569!important;font-weight:800}
.agenda-tabs a.active{background:#111827!important;color:#fff!important;box-shadow:0 8px 18px rgba(15,23,42,.18)!important}
.agenda-actions .date-nav{display:flex;align-items:center;gap:8px}
.agenda-actions .date-nav .btn{min-width:42px;height:42px;padding:10px 12px;border-radius:4px;background:#fff;color:#111827;border:1px solid #dbe3ee}
.agenda-actions .date-nav .btn:hover{background:#f8fafc}
.agenda-actions .inline-form input{height:42px;margin:0;border-radius:4px;border-color:#dbe3ee;background:#fff;font-weight:700;color:#111827}
.agenda-shell.planity-shell{position:relative;overflow:auto!important;max-height:calc(100vh - 190px)!important;border:0;border-radius:0;background:#fff;box-shadow:none}
.agenda-grid{display:grid;position:relative;background:#fff;isolation:isolate}
.planity-week{min-width:1180px!important;width:100%!important}
.planity-day{min-width:980px!important;width:100%!important}
.agenda-corner,.agenda-staff{position:sticky;top:0;z-index:20;min-height:72px;background:#f8fafc!important;border-right:1px solid #e5eaf1!important;border-bottom:1px solid #dfe5ee!important;color:#0f172a;box-sizing:border-box}
.agenda-corner{left:0;z-index:25;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.agenda-staff{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;text-align:center;font-size:13px;font-weight:900}
.agenda-staff.today{background:#eff6ff!important;color:#1d4ed8!important;box-shadow:inset 0 -3px 0 #2563eb}
.agenda-staff strong{display:block;font-size:20px;line-height:1.05;margin-top:2px}
.agenda-avatar{width:32px;height:32px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:13px}
.agenda-time{position:sticky;left:0;z-index:15;display:flex;align-items:flex-start;justify-content:flex-end;padding:7px 10px 0 6px!important;background:#f8fafc!important;border-right:1px solid #e5eaf1!important;border-bottom:1px solid #edf1f6!important;color:#64748b!important;font-size:12px!important;font-weight:800;box-sizing:border-box}
.agenda-cell{position:relative;border-right:1px solid #eef2f7!important;border-bottom:1px solid #eef2f7!important;background:#fff!important;box-sizing:border-box}
.agenda-cell:nth-child(even){background:#fcfdff!important}
.agenda-cell.closed{background:repeating-linear-gradient(45deg,#f3f6fa 0,#f3f6fa 8px,#e9eef5 8px,#e9eef5 16px)!important;opacity:1}
.agenda-time.closed{background:#f1f5f9!important;color:#94a3b8!important}
.agenda-event{position:absolute!important;left:7px!important;right:7px!important;display:block;overflow:hidden;border-radius:4px!important;padding:9px 10px!important;color:var(--agenda-event-text,#082f49)!important;border:1px solid rgba(8,47,73,.12)!important;box-shadow:0 10px 20px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.55)!important;z-index:12;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}
.agenda-event:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.2), inset 0 1px 0 rgba(255,255,255,.55)!important;filter:saturate(1.05)}
.agenda-event .event-time{display:inline-flex;align-items:center;height:21px;padding:2px 7px;margin:0 0 5px;border-radius:999px;background:rgba(255,255,255,.76);font-size:11px;font-weight:900;color:#0f172a}
.agenda-event strong{display:block;font-size:13px!important;line-height:1.15;letter-spacing:0!important;text-transform:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-event .name{display:block;margin-top:2px;font-size:12px!important;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-event .meta{display:block;margin-top:5px;color:rgba(8,47,73,.75);font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-event .price{right:7px;top:7px;border-radius:999px;background:rgba(15,23,42,.82);font-size:11px;padding:3px 7px}
.agenda-event.compact{padding:8px 9px!important}
.agenda-event.pending{opacity:.88;filter:saturate(.85)}
.agenda-event.confirmed{opacity:1}
.agenda-event.cancelled{opacity:.45;text-decoration:line-through}
.planity-week .agenda-event{position:absolute!important;box-sizing:border-box;min-width:0;max-width:none!important}
.planity-week .agenda-event.compact{left:7px!important;right:7px!important}
.agenda-now{height:3px!important;background:#ef4444!important;z-index:24!important;box-shadow:0 0 0 2px rgba(239,68,68,.12)}
.agenda-now:before{content:"";position:absolute;left:72px;top:-5px;width:12px;height:12px;border-radius:999px;background:#ef4444}
.planity-week .agenda-now-day{position:absolute!important;left:0!important;right:0!important}
.planity-week .agenda-now-day:before{left:-6px!important}
.month-wrap{padding:18px;background:#f8fafc;overflow:auto}
.month-head{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;margin-bottom:8px;min-width:1050px}
.month-head div{padding:10px;border-radius:4px;background:#eef2f7;color:#475569;text-align:center;font-weight:900}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;min-width:1050px}
.month-cell{min-height:138px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.month-cell.today{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.12)}
.month-event{border-radius:7px;padding:6px 7px;font-size:12px}
@media(max-width:900px){
  .agenda-wrap{padding:12px}
  .agenda-wrap .agenda-page{border-radius:4px}
  .agenda-top{position:relative;display:block;padding:16px!important}
  .agenda-actions{margin-top:14px;display:grid;gap:10px}
  .agenda-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .agenda-tabs a{text-align:center}
  .agenda-actions .date-nav{display:grid;grid-template-columns:42px minmax(0,1fr) 42px}
  .agenda-shell.planity-shell{max-height:none!important;overflow:auto!important;border-top:1px solid #e6ebf2}
  .planity-week,.planity-day{min-width:900px!important}
  .agenda-corner,.agenda-staff{min-height:62px}
  .agenda-staff{font-size:12px}
  .agenda-staff strong{font-size:16px}
  .agenda-event{border-radius:3px!important;padding:7px 8px!important}
  .agenda-event .meta{display:none}
}

/* Corrections structurelles agenda : colonnes contenues + menu au-dessus */
.topbar{position:relative;z-index:5000}
.topbar .wrap{position:relative;z-index:5001}
.nav,.account-menu{position:relative;z-index:5100}
.account-menu-list{z-index:5200!important}
.agenda-wrap{position:relative;z-index:1}
.agenda-wrap .agenda-page{position:relative;z-index:1;overflow:hidden!important}
.agenda-top{z-index:20!important}
.agenda-shell.planity-shell{overflow:auto!important;max-width:100%}
.agenda-grid{overflow:visible}
.agenda-event-layer{position:relative;overflow:hidden;min-width:0;z-index:10;pointer-events:none;border-right:1px solid transparent}
.agenda-day-event-layer{position:relative}
.agenda-event-layer .agenda-event{position:absolute!important;left:8px!important;right:8px!important;width:auto!important;max-width:none!important;box-sizing:border-box;pointer-events:auto}
.agenda-event-layer .agenda-now{position:absolute!important;left:0!important;right:0!important;grid-column:auto!important;grid-row:auto!important}
.agenda-event-layer .agenda-now:before{left:-6px!important}
.planity-week .agenda-event,.planity-day .agenda-event{position:absolute!important;grid-column:auto!important;grid-row:auto!important}

/* ==================================================
   AGENDA / CALENDRIER PLANICASA
   ================================================== */
.agenda-wrap{
  --agenda-font-size-small:11px;
  --agenda-font-size-normal:13px;
  --agenda-border-color:#e3e8ef;
  --agenda-bg:#f6f8fb;
  --agenda-card-radius:10px;
  --agenda-sidebar-width:270px;
  --agenda-hour-width:72px;
  --agenda-header-height:64px;
  --agenda-soft-text:#64748b;
  --agenda-strong-text:#111827;
  max-width:none;
  width:100%;
  padding:18px clamp(12px,2vw,28px);
  position:relative;
  z-index:1;
}
.topbar{position:relative;z-index:9000}
.topbar .wrap{position:relative;z-index:9001}
.nav,.account-menu{position:relative;z-index:9100}
.account-menu-list{z-index:9200!important}
.agenda-layout{display:grid;grid-template-columns:var(--agenda-sidebar-width) minmax(0,1fr);gap:16px;align-items:start}
.agenda-sidebar{position:sticky;top:14px;z-index:2}
.agenda-mini-calendar{background:#fff;border:1px solid var(--agenda-border-color);border-radius:4px;padding:14px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.agenda-mini-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:8px;margin-bottom:12px}
.agenda-mini-head strong{font-size:var(--agenda-font-size-normal);font-weight:600;text-align:center;color:var(--agenda-strong-text)}
.agenda-mini-head a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--agenda-border-color);border-radius:4px;background:#f8fafc;color:#334155;font-size:12px;font-weight:600}
.agenda-mini-weekdays,.agenda-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.agenda-mini-weekdays span{height:24px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:10px;font-weight:500}
.agenda-mini-grid a{position:relative;height:31px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#334155;font-size:12px;font-weight:400}
.agenda-mini-grid a:hover{background:#eef2f7}
.agenda-mini-grid a.outside{color:#cbd5e1}
.agenda-mini-grid a.today{box-shadow:inset 0 0 0 1px #93c5fd}
.agenda-mini-grid a.selected{background:#111827;color:#fff}
.agenda-mini-grid a.has-events:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:999px;background:#3b82f6}
.agenda-mini-grid a.selected.has-events:after{background:#fff}
.agenda-page{min-width:0;margin:0!important;padding:0!important;border:1px solid var(--agenda-border-color)!important;border-radius:4px!important;background:#fff!important;box-shadow:0 14px 36px rgba(15,23,42,.07)!important;overflow:hidden!important}
.agenda-account-banner{margin:0!important;padding:12px 16px!important;border-bottom:1px solid #bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;font-size:14px!important;font-weight:600!important;line-height:1.35!important}
.agenda-account-banner strong{font-weight:800;color:#1e3a8a}
.agenda-top{position:relative!important;top:auto!important;z-index:5!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:14px 16px!important;background:#fff!important;border-bottom:1px solid var(--agenda-border-color)!important;backdrop-filter:none!important}
.agenda-top h1{margin:0!important;font-size:18px!important;font-weight:600!important;letter-spacing:0!important;color:var(--agenda-strong-text)!important}
.agenda-top .muted{margin:3px 0 0!important;color:var(--agenda-soft-text)!important;font-size:12px!important;font-weight:400!important;line-height:1.3}
.agenda-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.agenda-scale-form{display:flex!important;align-items:center!important;gap:6px!important}.agenda-scale-form label{color:#64748b;font-size:12px;font-weight:500}.agenda-scale-form select{height:34px!important;min-height:0!important;margin:0!important;padding:6px 28px 6px 9px!important;border:1px solid var(--agenda-border-color)!important;border-radius:4px!important;background-color:#fff!important;color:#334155!important;font-size:12px!important}
.agenda-tabs{display:inline-flex!important;gap:2px!important;padding:3px!important;border:1px solid var(--agenda-border-color)!important;border-radius:3px!important;background:#f8fafc!important}
.agenda-tabs a{padding:7px 10px!important;border-radius:7px!important;color:#475569!important;font-size:12px!important;font-weight:500!important;line-height:1!important}
.agenda-tabs a.active{background:#111827!important;color:#fff!important;box-shadow:none!important}
.agenda-actions .date-nav{display:flex!important;align-items:center!important;gap:6px!important}
.agenda-actions .date-nav .btn{width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;border:1px solid var(--agenda-border-color)!important;border-radius:4px!important;background:#fff!important;color:#334155!important;font-size:12px!important;line-height:34px!important;text-align:center!important}
.agenda-actions .inline-form input{height:34px!important;min-height:0!important;margin:0!important;padding:6px 9px!important;border:1px solid var(--agenda-border-color)!important;border-radius:4px!important;background:#fff!important;color:#334155!important;font-size:12px!important;font-weight:400!important}
.agenda-mobile-day{display:none}
.agenda-desktop-planner{display:block}
.agenda-shell.planity-shell{position:relative!important;max-width:100%!important;max-height:calc(100vh - 150px)!important;overflow:auto!important;background:#fff!important;border:0!important;box-shadow:none!important}
.agenda-grid{display:grid!important;position:relative!important;background:#fff!important;isolation:isolate!important;overflow:visible!important}
.planity-week{min-width:1050px!important;width:100%!important}
.planity-day{min-width:860px!important;width:100%!important}
.agenda-corner,.agenda-staff{position:sticky!important;top:0!important;z-index:20!important;min-height:var(--agenda-header-height)!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fbfcfe!important;border-right:1px solid var(--agenda-border-color)!important;border-bottom:1px solid var(--agenda-border-color)!important;color:#334155!important;box-sizing:border-box!important}
.agenda-corner{left:0!important;z-index:25!important;width:var(--agenda-hour-width);font-size:10px!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.04em}
.agenda-staff{padding:8px 6px!important;text-align:center!important;font-size:12px!important;font-weight:400!important;line-height:1.2!important}
.agenda-staff span,.agenda-staff strong{font-weight:400!important}
.agenda-staff strong{display:block!important;margin-top:2px!important;font-size:14px!important;line-height:1.1!important}
.agenda-staff.today{background:#f0f7ff!important;color:#1d4ed8!important;box-shadow:inset 0 -2px 0 #60a5fa!important}
.agenda-avatar{width:26px!important;height:26px!important;border-radius:999px!important;background:#e0f2fe!important;color:#075985!important;font-size:11px!important;font-weight:600!important}
.agenda-time{position:sticky!important;left:0!important;z-index:15!important;display:flex!important;align-items:flex-start!important;justify-content:flex-end!important;padding:6px 8px 0 4px!important;background:#fbfcfe!important;border-right:1px solid var(--agenda-border-color)!important;border-bottom:1px solid #edf1f6!important;color:#94a3b8!important;font-size:10px!important;font-weight:400!important;box-sizing:border-box!important}
.agenda-cell{position:relative!important;min-width:0!important;border-right:1px solid #edf1f6!important;border-bottom:1px solid #edf1f6!important;background:#fff!important;box-sizing:border-box!important}
.agenda-cell.closed{background:repeating-linear-gradient(45deg,#f7f9fc 0,#f7f9fc 8px,#eef2f7 8px,#eef2f7 16px)!important;opacity:1!important}
.agenda-time.closed{background:#f8fafc!important;color:#cbd5e1!important}
.agenda-event-layer{position:relative!important;min-width:0!important;overflow:hidden!important;z-index:10!important;pointer-events:none!important;contain:layout paint}
.agenda-event-layer .agenda-event{position:absolute!important;left:6px!important;right:6px!important;width:auto!important;max-width:none!important;box-sizing:border-box!important;display:block!important;min-height:58px!important;overflow:hidden!important;pointer-events:auto!important;border-radius:var(--agenda-card-radius)!important;padding:7px 8px!important;color:var(--agenda-event-text,#082f49)!important;border:1px solid rgba(15,23,42,.11)!important;box-shadow:0 6px 14px rgba(15,23,42,.11), inset 0 1px 0 rgba(255,255,255,.55)!important;z-index:2!important;grid-column:auto!important;grid-row:auto!important}
.agenda-event:hover{transform:none!important;filter:saturate(1.03)}
.agenda-event .event-time{display:inline-flex!important;align-items:center!important;height:18px!important;margin:0 0 4px!important;padding:1px 6px!important;border-radius:999px!important;background:rgba(255,255,255,.72)!important;color:#0f172a!important;font-size:10px!important;font-weight:600!important;line-height:1!important}
.agenda-event strong{display:block!important;margin:0!important;color:var(--agenda-event-text,#0f172a)!important;font-size:12px!important;font-weight:600!important;line-height:1.15!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.agenda-event .name{display:block!important;margin-top:2px!important;color:var(--agenda-event-text,#334155)!important;font-size:11px!important;font-weight:400!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.agenda-event .meta{display:block!important;margin-top:4px!important;color:var(--agenda-event-text,#475569)!important;font-size:10px!important;font-weight:400!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.agenda-event .price{position:absolute!important;right:6px!important;top:6px!important;padding:2px 6px!important;border-radius:999px!important;background:rgba(15,23,42,.76)!important;color:#fff!important;font-size:9px!important;font-weight:500!important}
.agenda-event.pending{opacity:.86!important;filter:saturate(.86)}
.agenda-event.cancelled{opacity:.45!important;text-decoration:line-through!important}
.agenda-now{position:absolute!important;left:0!important;right:0!important;height:2px!important;background:#ef4444!important;z-index:30!important;pointer-events:none!important;box-shadow:none!important}
.agenda-now:before{content:"";position:absolute;left:0!important;top:-4px;width:9px;height:9px;border-radius:999px;background:#ef4444}
.month-wrap{padding:14px!important;background:#f8fafc!important;overflow:auto!important}
.month-head{display:grid!important;grid-template-columns:repeat(7,minmax(132px,1fr))!important;gap:6px!important;min-width:924px!important;margin-bottom:6px!important}
.month-head div{padding:8px!important;border-radius:4px!important;background:#eef2f7!important;color:#64748b!important;text-align:center!important;font-size:11px!important;font-weight:400!important}
.month-grid{display:grid!important;grid-template-columns:repeat(7,minmax(132px,1fr))!important;gap:6px!important;min-width:924px!important}
.month-cell{min-height:120px!important;border:1px solid var(--agenda-border-color)!important;border-radius:4px!important;background:#fff!important;box-shadow:none!important;padding:8px!important}

/* PLANICASA V1.06 - Refonte Editorial Luxe */
h1,h2{font-family:var(--serif);font-weight:300;letter-spacing:-.01em}
.card-icon{font-size:20px;width:40px;height:40px;border-radius:4px;background:#f0ede8;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px}
.benefits .card{transition:border-color .18s ease}
.benefits .card:hover{border-color:var(--text)}
.benefits .card h2{font-size:25px;margin:0 0 10px;font-weight:400;font-family:var(--serif)}
.benefit-card{
  position:relative;
  overflow:hidden;
  min-height:430px;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.benefit-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  pointer-events:none;
}
.benefit-card::before{
  z-index:0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.benefit-card .card-icon,
.benefit-card h2,
.benefit-card p{
  position:relative;
  z-index:1;
}
.benefit-page::before{
  background-image:-webkit-linear-gradient(bottom, #fff 0%, rgba(255,255,255,.78) 45%, rgba(255,255,255,0) 100%), url("../img/benefit-page01.jpg");
  background-image:linear-gradient(to top, #fff 0%, rgba(255,255,255,.78) 45%, rgba(255,255,255,0) 100%), url("../img/benefit-page01.jpg");
}
.benefit-planning::before{
  background-image:-webkit-linear-gradient(bottom, #fff 0%, rgba(255,255,255,.78) 45%, rgba(255,255,255,0) 100%), url("../img/benefit-planning01.jpg");
  background-image:linear-gradient(to top, #fff 0%, rgba(255,255,255,.78) 45%, rgba(255,255,255,0) 100%), url("../img/benefit-planning01.jpg");
}
.benefit-place::before{
  background-image:-webkit-linear-gradient(bottom, #fff 0%, rgba(255,255,255,.78) 45%, rgba(255,255,255,0) 100%), url("../img/benefit-place01.jpg");
  background-image:linear-gradient(to top, #fff 0%, rgba(255,255,255,.78) 45%, rgba(255,255,255,0) 100%), url("../img/benefit-place01.jpg");
}
.landing-hero .pill{text-transform:uppercase;letter-spacing:.1em;font-size:10px;background:transparent;border:1px solid var(--border);color:var(--muted)}
.hero-cta .btn{min-width:160px;text-align:center}
.landing-hero .hero-cta{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  justify-items:start;
}
.landing-hero .hero-cta-main,
.landing-hero .hero-cta-secondary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.landing-hero .hero-cta-main{
  grid-row:1;
}
.landing-hero .hero-cta-secondary{
  grid-row:2;
}
.pro-info-row{display:block;margin:12px 0 0;max-width:760px}
.pro-contact-btn{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
}
.pro-contact-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  font-size:13px;
  line-height:1;
  opacity:.72;
}
.pro-address{display:flex;align-items:flex-start;gap:7px;line-height:1.7;font-size:14px;font-weight: 600;margin:0}
.pro-opening-toggle{margin-top:8px;max-width:240px}
.pro-opening-button{appearance:none;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:6px;min-width:200px;padding:5px 8px;font:inherit;font-size:11px;line-height:1.2;cursor:pointer}
.pro-opening-button:hover{border-color:var(--text)}
.pro-opening-hours{display:grid;row-gap:2px;max-height:0;margin-top:0;padding:0 8px;border:1px solid transparent;border-radius:6px;background:#fff;min-width:200px;font-size:12px;line-height:1.25;text-align:left;opacity:0;overflow:hidden;transition:max-height .5s ease,opacity .5s ease,margin-top .5s ease,padding .5s ease,border-color .5s ease}
.pro-opening-hours.is-open{max-height:220px;margin-top:6px;padding:8px;border-color:var(--border);opacity:1}
.pro-opening-hours span{display:grid;grid-template-columns:30px 1fr;gap:7px}
.pro-opening-hours b{font-weight:700;color:var(--text)}
@media(max-width:640px){.pro-opening-toggle{max-width:100%}.pro-opening-hours{min-width:0;width:100%;max-width:240px}}
.pro-row{border-color:var(--border);transition:border-color .18s ease}
.agenda-event .event-line2{display:block;margin:0px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-event .event-service{display:inline;font-size:13px;font-weight:700;letter-spacing:.01em}
.agenda-event:hover{z-index:1000!important;overflow:hidden!important;box-shadow:0 16px 30px rgba(15,23,42,.22), inset 0 1px 0 rgba(255,255,255,.55)!important}
.agenda-event-layer:hover,
.agenda-event-layer:has(.agenda-event:hover){
  z-index:999!important;
  overflow:visible!important;
  contain:none!important;
}
.agenda-event-layer .agenda-event:hover{
  z-index:1000!important;
  overflow:hidden!important;
}
.agenda-event .event-client{font-size:12px;font-weight:300;color:var(--agenda-event-text,currentColor);opacity:.85;margin-left:5px}
.agenda-event .event-status{position:absolute;right:7px;top:7px;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600;background:rgba(255,255,255,.72);color:#073763;letter-spacing:.02em}
.agenda-event .event-status.confirmed{color:#166534;background:rgba(220,252,231,.82)}
.agenda-event .event-status.pending{color:#92400e;background:rgba(254,243,199,.82)}
.agenda-event .event-status.cancelled{color:#991b1b;background:rgba(254,226,226,.82)}
.agenda-event.compact .event-service{font-size:11px}
.agenda-event.compact .event-time{font-size:11px;padding:2px 5px}
.agenda-event.text-light,
.agenda-event.text-light .event-line2,
.agenda-event.text-light .event-service,
.agenda-event.text-light .event-client,
.agenda-event.text-light strong,
.agenda-event.text-light .name,
.agenda-event.text-light .meta,
.month-event.text-light,
.agenda-mobile-event.text-light,
.agenda-mobile-event.text-light span,
.agenda-mobile-event.text-light strong,
.agenda-mobile-event.text-light em{color:#ffffff!important}
.agenda-event.text-dark,
.agenda-event.text-dark .event-line2,
.agenda-event.text-dark .event-service,
.agenda-event.text-dark .event-client,
.agenda-event.text-dark strong,
.agenda-event.text-dark .name,
.agenda-event.text-dark .meta,
.month-event.text-dark,
.agenda-mobile-event.text-dark,
.agenda-mobile-event.text-dark span,
.agenda-mobile-event.text-dark strong,
.agenda-mobile-event.text-dark em{color:#111827!important}
.pro-row:hover{border-color:var(--text)}
.service-category-group{margin-top:24px;padding-top:18px;border-top:10px solid var(--border)}
.service-category-group:first-child{margin-top:0;padding-top:0;border-top:0}
.service-category-title{margin:0 0 10px;font-size:16px;line-height:1.25;font-weight:700;color:var(--text)}
@media(max-width:720px){.hero h1{font-size:40px}.hero-sub{font-size:15px}}.hero-sub{font-size:17px}}
.month-date{font-size:12px!important;font-weight:400!important;color:#334155!important}
.month-event{border-radius:7px!important;padding:5px 6px!important;font-size:11px!important;font-weight:400!important;color:var(--agenda-event-text,#06243c)!important}
.agenda-cell.blocked{
  background:repeating-linear-gradient(45deg,#e5e7eb 0,#e5e7eb 8px,#d1d5db 8px,#d1d5db 16px)!important;
  opacity:1!important;
}
.agenda-time.blocked{
  background:#e5e7eb!important;
  color:#6b7280!important;
}
.month-cell.blocked{
  background:#f1f5f9!important;
  color:#64748b;
}
.month-cell.blocked .month-date:after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:6px;
  border-radius:50%;
  background:#94a3b8;
  vertical-align:middle;
}
.month-blocked{
  display:block;
  border-radius:6px;
  padding:5px 6px;
  background:#e2e8f0;
  color:#475569;
  font-size:11px;
  font-weight:600;
}
@media(max-width:900px){
  .agenda-wrap{padding:10px;background:#f6f8fb}
  .agenda-layout{display:block}
  .agenda-sidebar{display:none}
  .agenda-page{border-radius:4px!important;box-shadow:none!important}
  .agenda-top{display:none!important}
  .agenda-desktop-planner{display:none!important}
  .agenda-mobile-day{display:block;padding:10px}
  .agenda-mobile-nav{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-bottom:10px}
  .agenda-mobile-nav a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--agenda-border-color);border-radius:4px;background:#fff;color:#334155;font-size:12px}
  .agenda-mobile-nav span{text-align:center;color:#111827;font-size:13px;font-weight:400;line-height:1.25}
  .agenda-mobile-empty{margin:14px 0;color:#64748b;font-size:12px;text-align:center}
  .agenda-mobile-list{display:grid;gap:8px}
  .agenda-mobile-event{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--agenda-border-color);border-left:4px solid #9ee5df;border-radius:4px;background:#fff;color:#111827}
  .agenda-mobile-event span{color:#64748b;font-size:11px;font-weight:400}
  .agenda-mobile-event strong{font-size:13px;font-weight:500;line-height:1.2}
  .agenda-mobile-event em{color:#475569;font-size:12px;font-style:normal;line-height:1.2}
  .topbar{z-index:9000}
  .account-menu-list{z-index:9200!important}
}

.agenda-mobile-view-toggle,.agenda-mobile-classic-nav,.agenda-staff-mobile-date{display:none}
@media(max-width:900px){
  .agenda-mobile-view-toggle{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px;
    padding:10px 10px 0;
    background:#fff;
  }
  .agenda-mobile-view-toggle button{
    min-width:0;
    padding:9px 8px;
    border:1px solid var(--agenda-border-color);
    border-radius:4px;
    background:#f8fafc;
    color:#475569;
    font:inherit;
    font-size:12px;
    font-weight:500;
    line-height:1.15;
    cursor:pointer;
  }
  .agenda-mobile-view-toggle button.active{
    background:#111827;
    border-color:#111827;
    color:#fff;
  }
  .agenda-mobile-classic-nav{
    grid-template-columns:34px minmax(0,1fr) 34px;
    align-items:center;
    gap:8px;
    padding:10px;
    border-top:1px solid var(--agenda-border-color);
    background:#fff;
  }
  .agenda-mobile-classic-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border:1px solid var(--agenda-border-color);
    border-radius:4px;
    background:#fff;
    color:#334155;
    font-size:12px;
  }
  .agenda-mobile-classic-nav .inline-form,
  .agenda-mobile-classic-nav input[type=date]{
    width:100%;
    min-width:0;
    margin:0;
  }
  .agenda-mobile-classic-nav input[type=date]{
    height:34px;
    padding:6px 9px;
    border:1px solid var(--agenda-border-color);
    border-radius:4px;
    background:#fff;
    color:#334155;
    font-size:12px;
    font-weight:400;
  }
  .agenda-page[data-mobile-agenda-view="compact"] .agenda-mobile-day,
  .agenda-page:not([data-mobile-agenda-view]) .agenda-mobile-day{
    display:block!important;
  }
  .agenda-page[data-mobile-agenda-view="compact"] .agenda-desktop-planner,
  .agenda-page:not([data-mobile-agenda-view]) .agenda-desktop-planner{
    display:none!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .agenda-mobile-day{
    display:none!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .agenda-mobile-classic-nav{
    display:grid!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .agenda-desktop-planner{
    display:block!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .agenda-shell.planity-shell{
    max-height:calc(100vh - 145px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
    border-top:1px solid var(--agenda-border-color)!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .planity-day{
    min-width:100%!important;
    width:100%!important;
    grid-template-columns:52px repeat(var(--agenda-day-admin-columns,1), minmax(0,1fr))!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .planity-day .agenda-corner{
    width:52px!important;
    min-width:52px!important;
    font-size:9px!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .planity-day .agenda-time{
    width:52px!important;
    min-width:52px!important;
    padding:6px 5px 0 2px!important;
    font-size:9px!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .planity-day .agenda-staff{
    min-width:0!important;
    padding:7px 4px!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .planity-day .agenda-staff-identity{
    display:none!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .planity-day .agenda-staff-mobile-date{
    display:inline!important;
    text-transform:capitalize;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .planity-day .agenda-avatar{
    display:none!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .planity-day .agenda-event-layer .agenda-event{
    left:4px!important;
    right:4px!important;
    padding:6px 6px!important;
  }
  .agenda-page[data-mobile-agenda-view="classic"] .planity-week{
    min-width:900px!important;
  }
}

/* Accueil - moteur de recherche */
.home-search{
  padding:26px;
  background:#fff;
  border-color:#d9d1c8;
}
.home-search h2{
  margin:0 0 14px;
  font-family:var(--serif);
  font-size:28px;
  font-weight:400;
  line-height:1.15;
}
.home-search h3{
  margin:22px 0 12px;
  font-size:17px;
  font-weight:600;
}
.home-search-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  margin:0;
  padding:8px;
  border:1px solid var(--border);
  border-radius:6px;
  background:#EEEEEE;
}
.home-search-form input[type="search"]{
  width:100%;
  min-height:42px;
  margin:0;
  padding:10px 14px;
  border:1px solid transparent;
  border-radius:4px;
  background:#fff;
  color:var(--text);
  font:400 15px/1.4 var(--sans);
  outline:none;
}
.home-search-form input[type="search"]:focus{
  border-color:#a99f94;
  box-shadow:0 0 0 3px rgba(169,159,148,.18);
}
.home-search-form .btn{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  white-space:nowrap;
}
.home-search .pro-list{
  gap:10px;
  margin-top:12px;
}
.home-search .pro-row{
  align-items:center;
  border-color:#e7e0d9;
  border-radius:6px;
  padding:14px 16px;
  background:#fff;
}
.home-search .pro-row strong{
  display:inline-block;
  margin-bottom:3px;
  font-size:16px;
  font-weight:600;
}
.home-search .pro-row .muted{
  font-size:13px;
  word-break:break-word;
}
.home-search .pro-row:hover{
  border-color:#b8ada2;
  background:#fbfaf8;
}
@media(max-width:720px){
  .home-search{
    padding:20px;
  }
  .home-search h2{
    font-size:24px;
  }
  .home-search-form{
    grid-template-columns:1fr;
    padding:10px;
  }
  .home-search-form .btn{
    width:100%;
  }
  .home-search .latest-pro-content strong{
    font-size:14px;
  }
  .home-search .latest-pro-content .muted{
    font-size:12px;
  }
}

/* PLANICASA - Annuaire marketplace locale */
.marketplace-page .hero{
  margin-bottom:20px;
}
.marketplace-search .toolbar{
  align-items:end;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;
}
.marketplace-search input{
  min-width:220px;
}
.marketplace-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.marketplace-pro-list{
  display:grid;
  gap:14px;
}
.marketplace-pro-card{
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  gap:16px;
  align-items:stretch;
  padding:14px;
  border:1px solid var(--border);
  border-radius:4px;
  background:#fff;
}
.marketplace-pro-photo{
  display:block;
  width:128px;
  height:128px;
  min-height:128px;
  border-radius:4px;
  overflow:hidden;
  background:#f0ede8;
}
.marketplace-pro-photo-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  background:#e5e7eb;
}
.marketplace-pro-photo-placeholder span{
  width:38px;
  height:28px;
  border:2px solid #9ca3af;
  border-radius:4px;
  position:relative;
}
.marketplace-pro-photo-placeholder span::before{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  top:5px;
  right:6px;
  border-radius:50%;
  background:#9ca3af;
}
.marketplace-pro-photo-placeholder span::after{
  content:"";
  position:absolute;
  left:5px;
  right:5px;
  bottom:5px;
  height:10px;
  background:#9ca3af;
  clip-path:polygon(0 100%,35% 35%,54% 68%,70% 25%,100% 100%);
}
.marketplace-pro-photo img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}
.marketplace-pro-body{
  min-width:0;
}
.marketplace-pro-body h2{
  margin:0 0 4px;
  font-size:22px;
}
.marketplace-pro-body p{
  margin:7px 0;
}
.marketplace-pro-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.marketplace-available-today{
  background:#e8f7ef;
  color:#167744;
}
@media(max-width:680px){
  .marketplace-search .toolbar{
    display:grid;
    grid-template-columns:1fr;
  }
  .marketplace-search input,
  .marketplace-search .btn{
    width:100%;
  }
  .marketplace-pro-card{
    grid-template-columns:86px minmax(0,1fr);
    gap:12px;
    padding:12px;
  }
  .marketplace-pro-photo{
    width:86px;
    height:86px;
    min-height:86px;
  }
  .marketplace-pro-body h2{
    font-size:18px;
  }
  .marketplace-pro-actions{
    grid-column:1/-1;
  }
  .marketplace-pro-actions .btn{
    width:100%;
    text-align:center;
  }
}
