.elementor-11110 .elementor-element.elementor-element-0c4ac1b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-11110 .elementor-element.elementor-element-0c4ac1b .trx_addons_bg_text{z-index:0;}.elementor-11110 .elementor-element.elementor-element-0c4ac1b .trx_addons_bg_text.trx_addons_marquee_wrap:not(.trx_addons_marquee_reverse) .trx_addons_marquee_element{padding-right:50px;}.elementor-11110 .elementor-element.elementor-element-0c4ac1b .trx_addons_bg_text.trx_addons_marquee_wrap.trx_addons_marquee_reverse .trx_addons_marquee_element{padding-left:50px;}.elementor-11110 .elementor-element.elementor-element-bb71012{width:100%;max-width:100%;}/* Start custom CSS for html, class: .elementor-element-bb71012 *//* ============================================================
   CSS PAGE : Tarifs traitement couperose laser Rouen
   Site : traitement-laser-medical.com
   À coller dans :
   Elementor > Site Settings > Custom CSS
   OU WordPress > Appearance > Customize > Additional CSS
   ============================================================ */

/* ── TOKENS ── */
:root {
  --nyc-violet: #5A1F4F;
  --nyc-violet-dark: #42173A;
  --nyc-lavande: #F4F0F7;
  --nyc-lavande-deep: #EDE8F5;
  --nyc-champagne: #D8B56D;
  --nyc-champagne-light: #FDF6E8;
  --nyc-blanc: #FFFFFF;
  --nyc-texte: #1F1F1F;
  --nyc-texte-sec: #5A5A6A;
  --nyc-sep: #E7DDEA;
  --nyc-sep-light: #F0EBF2;
}

/* ── LAYOUT ── */
.nyc-section { padding: 56px 24px; }
.nyc-blanc   { background: var(--nyc-blanc); }
.nyc-lavande { background: var(--nyc-lavande); }
.nyc-champagne { background: var(--nyc-champagne-light); }
.nyc-violet  { background: var(--nyc-violet); color: #fff; }
.nyc-container { max-width: 1020px; margin: 0 auto; }
.nyc-narrow  { max-width: 780px; }

/* ── TYPOGRAPHIE ── */
.nyc-h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(1.5rem, 2.5vw, 1.95rem);
  font-weight: 400;
  line-height: 1.25;
  margin-bottom: 12px;
  color: var(--nyc-violet);
}
.nyc-sh {
  font-family: 'Montserrat', sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--nyc-violet);
  margin: 0 0 10px;
}
.nyc-intro {
  font-size: 15px;
  color: var(--nyc-texte-sec);
  max-width: 700px;
  margin-bottom: 20px;
  line-height: 1.8;
}
.nyc-list {
  padding-left: 20px;
  font-size: 15px;
  line-height: 1.9;
  color: var(--nyc-texte);
}

/* ── TARIF CARDS ── */
.nyc-tarif-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin: 24px 0;
}
.nyc-tarif-card {
  background: var(--nyc-blanc);
  border: 1px solid var(--nyc-sep);
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(90,31,79,.07);
  padding: 22px 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.nyc-tarif-card:hover {
  border-color: var(--nyc-violet);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(90,31,79,.13);
}
.nyc-featured {
  border-color: var(--nyc-champagne) !important;
  border-width: 2px;
}
.nyc-featured::before {
  content: 'Très demandé';
  position: absolute;
  top: 10px; right: 10px;
  background: var(--nyc-champagne);
  color: var(--nyc-violet-dark);
  font-family: 'Montserrat', sans-serif;
  font-size: 9px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 100px;
}
.nyc-tc-surface {
  font-family: 'Montserrat', sans-serif;
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--nyc-texte-sec);
  margin-bottom: 6px;
}
.nyc-tc-dim {
  font-size: 12.5px;
  color: var(--nyc-texte-sec);
  margin-bottom: 14px;
  line-height: 1.4;
}
.nyc-tc-price {
  font-family: 'DM Serif Display', serif;
  font-size: 2.5rem;
  color: var(--nyc-violet);
  line-height: 1;
  margin-bottom: 4px;
}
.nyc-tc-price sup {
  font-size: 1.1rem;
  vertical-align: top;
  margin-top: 8px;
}
.nyc-tc-unit {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  color: var(--nyc-texte-sec);
  letter-spacing: .04em;
}

/* ── NOTE CHAMPAGNE ── */
.nyc-note-champagne {
  background: var(--nyc-champagne-light);
  border-left: 3px solid var(--nyc-champagne);
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 20px 0;
  font-size: 14.5px;
  color: var(--nyc-texte-sec);
  line-height: 1.7;
}
.nyc-note-champagne strong { color: var(--nyc-violet-dark); }

/* ── TABLES ── */
.nyc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14.5px;
  margin: 20px 0;
}
.nyc-table thead tr { background: rgba(90,31,79,.07); }
.nyc-table th {
  text-align: left;
  padding: 11px 14px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px; font-weight: 700;
  color: var(--nyc-violet);
  border-bottom: 2px solid var(--nyc-sep);
  letter-spacing: .03em;
}
.nyc-table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--nyc-sep-light);
  vertical-align: top;
  color: var(--nyc-texte);
}
.nyc-table tr:last-child td { border-bottom: none; }
.nyc-tr-alt { background: rgba(244,240,247,.5); }
.nyc-budget {
  text-align: right;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: var(--nyc-violet);
}
.nyc-ind-yes { color: #1a7a4a; font-weight: 600; font-size: 13px; }
.nyc-ind-eval { color: #a06000; font-weight: 600; font-size: 13px; }
.nyc-ci { color: var(--nyc-texte-sec); font-size: 13px; }

/* ── ZONES GRID ── */
.nyc-zone-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
  margin-top: 22px;
}
.nyc-zone-card {
  background: var(--nyc-lavande);
  border-radius: 14px;
  padding: 22px 20px;
}
.nyc-zone-featured {
  background: var(--nyc-lavande-deep);
  border: 1.5px solid var(--nyc-sep);
}
.nyc-zone-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--nyc-texte-sec);
  margin-bottom: 6px;
}
.nyc-zone-price {
  font-family: 'DM Serif Display', serif;
  font-size: 1.6rem;
  color: var(--nyc-violet);
  margin-bottom: 10px;
}
.nyc-zone-card p {
  font-size: 14px;
  color: var(--nyc-texte-sec);
  line-height: 1.7;
  margin: 0;
}

/* ── 2 COLONNES ── */
.nyc-deux-col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 10px;
}
.nyc-info-card {
  background: var(--nyc-blanc);
  border-radius: 12px;
  padding: 20px;
  border: 1px solid rgba(216,181,109,.3);
}
.nyc-info-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--nyc-violet);
  margin-bottom: 10px;
}

/* ── RECAP VIOLET ── */
.nyc-recap-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  margin: 28px auto;
  max-width: 820px;
}
.nyc-recap-card {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  padding: 18px 12px;
  text-align: center;
}
.nyc-recap-featured {
  background: rgba(216,181,109,.18);
  border: 2px solid var(--nyc-champagne);
}
.nyc-rc-zone {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: 8px;
}
.nyc-rc-price {
  font-family: 'DM Serif Display', serif;
  font-size: 2.2rem;
  color: var(--nyc-champagne);
}
.nyc-rc-per { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 4px; }

/* ── BOUTON ── */
.nyc-btn-champagne {
  display: inline-block;
  background: var(--nyc-champagne);
  color: var(--nyc-violet-dark);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700; font-size: 14px;
  padding: 14px 32px;
  border-radius: 100px;
  text-decoration: none;
  transition: opacity .2s, transform .2s;
}
.nyc-btn-champagne:hover { opacity: .9; transform: translateY(-1px); }

/* ── FAQ ── */
.nyc-faq {
  border-bottom: 1px solid var(--nyc-sep);
  padding: 16px 0;
}
.nyc-faq summary {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700; font-size: 14px;
  color: var(--nyc-violet);
  cursor: pointer;
  list-style: none;
}
.nyc-faq summary::-webkit-details-marker { display: none; }
.nyc-faq summary::after {
  content: ' +';
  color: var(--nyc-champagne);
  font-size: 16px;
  margin-left: 6px;
}
.nyc-faq[open] summary::after { content: ' −'; }
.nyc-faq p {
  font-size: 14px;
  color: var(--nyc-texte-sec);
  line-height: 1.7;
  margin-top: 10px;
  padding-left: 4px;
}

/* ── LIENS UTILES ── */
.nyc-link-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.nyc-link-list li {
  border-bottom: 1px solid var(--nyc-sep-light);
  padding: 8px 0;
}
.nyc-link-list li:last-child { border-bottom: none; }
.nyc-link-list a {
  color: var(--nyc-violet);
  font-size: 14px; font-weight: 500;
  text-decoration: none;
}
.nyc-link-list a::after { content: ' →'; color: var(--nyc-champagne); font-size: 12px; }

/* ── VALIDATED ── */
.nyc-validated {
  background: var(--nyc-lavande);
  border: 1px solid var(--nyc-sep);
  border-radius: 10px;
  padding: 14px 18px;
  font-size: 12.5px;
  color: var(--nyc-texte-sec);
  margin-top: 28px;
  line-height: 1.8;
}
.nyc-validated strong { color: var(--nyc-violet); }/* End custom CSS */