/* Tarifs cliquables et cartes de massages (voir js/tarifs-clic.js), accueil et page Tarifs */

/* ── Accueil : massages et soins sans le spa ── */
.mc-sec { margin-top: 3.5rem; }
.mc-entete { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
.mc-titre { font-family: var(--serif); font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; margin: 0 0 0.5rem; color: var(--text); }
.mc-intro { max-width: 620px; margin: 0; font-size: 0.9rem; line-height: 1.6; color: var(--text-muted); }
.mc-tous { font-size: 0.82rem; font-weight: 600; color: var(--accent); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; white-space: nowrap; }
.mc-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 1rem; }
.mc-carte { display: flex; gap: 1rem; padding: 1rem; background: var(--bg-card); border: 1px solid var(--border); border-radius: 18px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.mc-carte:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(60,40,20,0.10); border-color: rgba(166,124,82,0.4); }
.mc-photo { flex: none; width: 104px; height: 104px; border-radius: 14px; overflow: hidden; display: block; }
.mc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.mc-carte:hover .mc-photo img { transform: scale(1.07); }
.mc-corps { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mc-tete { display: flex; align-items: baseline; gap: 0.5rem; flex-wrap: wrap; }
.mc-nom { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 1.12rem; line-height: 1.25; color: var(--text); }
.mc-duree { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent);
  background: rgba(166,124,82,0.1); border-radius: 999px; padding: 2px 8px; white-space: nowrap; }
.mc-desc { margin: 0.35rem 0 0.7rem; font-size: 0.83rem; line-height: 1.5; color: var(--text-muted); }
.mc-pied { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.mc-prix { font-family: var(--serif); font-size: 1.5rem; color: var(--text); line-height: 1; white-space: nowrap; }
.mc-prix small { display: block; margin-top: 3px; font-family: var(--sans, inherit); font-size: 0.68rem; color: var(--text-muted); }
.mc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 1.25rem; border-radius: 999px;
  background: var(--accent); color: #fff !important; font-size: 0.82rem; font-weight: 600; text-decoration: none; box-shadow: 0 6px 16px rgba(166,124,82,0.28); transition: filter .2s; }
.mc-btn:hover { filter: brightness(0.94); }
@media (max-width: 520px) {
  .mc-carte { padding: 0.85rem; gap: 0.8rem; }
  .mc-photo { width: 76px; height: 76px; }
  .mc-nom { font-size: 1.02rem; }
  .mc-prix { font-size: 1.3rem; }
  .mc-btn { padding: 0 1rem; }
}

/* ── Accueil : tableaux Classique / Intense, plus lisibles et cliquables ── */
table.price-tbl.tc-clic { border-collapse: separate; border-spacing: 0; }
table.price-tbl.tc-clic th { font-size: 0.72rem !important; color: var(--text) !important; }
table.price-tbl.tc-clic td { font-size: 0.95rem !important; color: var(--text) !important; font-family: var(--sans, inherit) !important; font-weight: 500; padding-top: 0.6rem !important; padding-bottom: 0.6rem !important; }
table.price-tbl.tc-clic td:first-child { font-size: 0.85rem !important; color: var(--text-muted) !important; font-weight: 400; }
table.price-tbl.tc-clic td:not(:first-child) { cursor: pointer; border-radius: 8px; transition: background .15s, color .15s; }
table.price-tbl.tc-clic td:not(:first-child):hover { background: var(--accent) !important; color: #fff !important; }
.tc-aide { margin: 0.5rem 0 0.9rem; font-size: 0.75rem; color: var(--text-muted); }
.tc-aide::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); margin-right: 6px; vertical-align: middle; }

/* ── Page Tarifs ── */
.tc-sommaire { position: sticky; top: var(--nav, 68px); z-index: 50; background: rgba(250,247,242,0.94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border); }
.tc-sommaire-in { display: flex; gap: 0.4rem; align-items: center; overflow-x: auto; scrollbar-width: none; padding: 0.6rem clamp(1rem, 4vw, 2.5rem); max-width: 1200px; margin: 0 auto; }
.tc-sommaire-in::-webkit-scrollbar { display: none; }
.tc-sommaire a { flex: none; font-size: 0.8rem; font-weight: 600; color: var(--text); text-decoration: none; padding: 0.45rem 0.9rem; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-card); }
.tc-sommaire a:hover { border-color: var(--accent); color: var(--accent); }
.tc-sommaire a.tc-sommaire-cta { margin-left: auto; background: var(--accent); border-color: var(--accent); color: #fff; }
section[id] { scroll-margin-top: calc(var(--nav, 68px) + 56px); }
.tarif-table td .tc-prix { color: inherit; text-decoration: none; display: inline-block; padding: 2px 8px; margin: -2px -8px; border-radius: 8px; transition: background .15s, color .15s; }
.tarif-table td .tc-prix:hover { background: var(--accent); color: #fff; }
.tc-zone { display: flex; flex-direction: column; align-items: flex-end; gap: 0.5rem; }
.tc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 1rem; border-radius: 999px; background: var(--accent);
  color: #fff !important; font-family: var(--sans, inherit); font-size: 0.78rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: filter .2s; }
.tc-btn:hover { filter: brightness(0.93); }
.tc-btn-s { min-height: 30px; padding: 0 0.8rem; font-size: 0.74rem; }
.rituel-table td.tc-col { text-align: right; padding-right: 0; }
.soin-card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.soin-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(60,40,20,0.08); border-color: rgba(166,124,82,0.4); }
@media (max-width: 600px) {
  .rituel-table td.tc-col { padding-left: 0.4rem; }
  .tc-btn-s { padding: 0 0.6rem; }
}
@media (prefers-color-scheme: dark) { .tc-sommaire { background: rgba(20,24,30,0.92); } }
/* le sommaire reste visible : « clip » ne bloque pas le défilement collant, contrairement à « hidden » */
html:has(.tc-sommaire), html:has(.tc-sommaire) body { overflow-x: clip; }
@media (max-width: 600px) { .rituel-table td.prix { white-space: nowrap; font-size: 0.95rem; } .rituel-table th { font-size: 0.6rem; } }
.tc-lien-mob { display: none; }
@media (max-width: 600px) {
  .rituel-table th.tc-col, .rituel-table td.tc-col { display: none; }
  .tc-lien-mob { display: inline-flex; align-items: center; margin-top: 0.4rem; min-height: 28px; padding: 0 0.75rem; border-radius: 999px; background: var(--accent);
    color: #fff !important; font-size: 0.72rem; font-weight: 600; text-decoration: none; }
}
/* Téléphone : « 3 pers. » sur une ligne, colonnes resserrées pour voir plus de durées sans faire défiler */
table.price-tbl.tc-clic td:first-child { white-space: nowrap; }
@media (max-width: 520px) {
  table.price-tbl.tc-clic th, table.price-tbl.tc-clic td { padding-left: 0.28rem !important; padding-right: 0.28rem !important; }
  table.price-tbl.tc-clic td:first-child { font-size: 0.78rem !important; }
  table.price-tbl.tc-clic td:not(:first-child) { font-size: 0.86rem !important; }
}
@media (max-width: 370px) {
  table.price-tbl.tc-clic th, table.price-tbl.tc-clic td { padding-left: 0.2rem !important; padding-right: 0.2rem !important; }
  table.price-tbl.tc-clic td:not(:first-child) { font-size: 0.8rem !important; }
  table.price-tbl.tc-clic td:first-child { font-size: 0.74rem !important; }
}
