:root{
    --dm-card:#ffffff;
    --dm-muted:#667085;
    --dm-border:#e6e9ee;
    --dm-accent:#2ea44f;
    --dm-accent-strong:#278a43;
    --dm-accent-soft:#e9f6ee;
    --dm-shadow:0 10px 30px rgba(2,12,27,.08);
    --dm-radius:16px;
    --dm-dash:#eef2f7;
}

body {
    background: linear-gradient(180deg,#f7f9fc, #fff);
}

main {
	padding: 40px 0;
}

.dm-pricing{
    padding: 32px 16px;
}

.dm-pricing__table{
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(2, 1fr);
}

.dm-pricing__table.get-started-card {
    display: flex;
    gap: 0;
}

.dm-plan{
    background: var(--dm-card);
    border: 1px solid var(--dm-border);
    border-radius: var(--dm-radius);
    box-shadow: var(--dm-shadow);
    display: flex;
    flex-direction: column;
    overflow: clip;
    position: relative;
}
.dm-plan__head{
    padding: 24px 24px 12px;
    border-bottom: 1px solid var(--dm-border);
    background: linear-gradient(180deg,#fff,#fafcff);
}
.dm-plan__title{ font-size: 22px; margin: 0 0 6px; letter-spacing:.2px; }
.dm-plan__desc{ color: var(--dm-muted); margin: 0 0 10px; line-height: 1.4; }
.dm-plan__price {
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 14px;
	color: #1f2937;
}

.dm-plan__price > span {
    text-align: center;
}

.dm-price__setup{ padding:6px 10px; border-radius:999px; background:#f3f4f6; border:1px solid #e5e7eb; }
.dm-price__monthly{ padding:6px 10px; border-radius:999px; background: var(--dm-accent-soft); color:#14532d; border:1px solid #cce8d5; }

#pricingLoader {
	text-align: center;
	height: 500px;
	line-height: 600px;
}

/* Style de la carte sélectionnée */
.dm-plan--selected {
	outline: 1px solid var(--accent);
	box-shadow: 0 0 12px rgba(var(--accent-rgb),0.5) !important;
}

/* GROUPS */
.dm-plan__features{ display:grid; gap:14px; padding:16px; }
.dm-group{
    border: 1px dashed var(--dm-dash);
    border-radius: 12px;
    padding: 12px;
    background:#fff;
    position: relative;
}
.dm-group::before{
    content: attr(data-group-title);
    position: absolute;
    top: -10px; inset-inline-start: 12px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #9aa4b2;
    background: #fff;
    padding: 0 6px;
    border-radius: 6px;
}
.dm-group ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }

.dm-feature{
    display:flex; align-items:center; justify-content:space-between;
    padding:5px 12px; border-radius:10px; background:#fff; font-size:15px;
    border: 0;
}

/* OK & NO badges */
.dm-feature .ok::after{
    content:"✓";
    display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center;
    border-radius:999px; background: var(--dm-accent-soft); color: var(--dm-accent-strong);
    border:1px solid #cce8d5; font-weight:700;
}
.dm-feature .no::after{
    content:"✕";
    display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center;
    border-radius:999px; background:#fee2e2; color:#b91c1c; border:1px solid #fecaca; font-weight:700;
}

.dm-feature .light-badge {
    display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center;
    border-radius:999px; background: #ffffff; color: #111;
    border:1px solid #cfcfcf; font-weight:700;
}

/* Small folder icon for categories */
.icon-categories{
    color: #f59e0b;
    font-size: 21px;
}

.dm-plan__footer{
    padding: 18px 16px 22px; margin-top:auto; border-top:1px solid var(--dm-border);
    background: linear-gradient(180deg,#fff,#fbfbfe); display:grid; place-items:center;
}
.dm-btn {
    width:100%; max-width:320px; height:46px; font-weight:600; border-radius:12px;
    border:1px solid #d1d5db; background:#fff; cursor:pointer;
    padding: 0 20px;
    transition: transform .08s ease, box-shadow .2s ease, background .2s ease;
}

.dm-btn.btn-sm {
    width:auto;
}

.dm-btn:hover{ box-shadow:0 6px 18px rgba(2,12,27,.08); transform:translateY(-1px); }
.dm-btn:active{ transform:translateY(0); }

/* PREMIUM highlight */
.dm-plan--pro{ border-color:#bfe7cd; box-shadow:0 16px 40px rgba(34,197,94,.18); }
.dm-plan--pro .dm-plan__head{ background:linear-gradient(180deg,#e8f7ee,#fff); }
.dm-btn--pro{ background:var(--dm-accent); color:#fff; border-color:var(--dm-accent); }
.dm-btn--pro:hover{ background:var(--dm-accent-strong); border-color:var(--dm-accent-strong); }
.dm-btn--info { background:var(--info); color:#fff; border-color:var(--info); }
.dm-btn--info:hover{ background:var(--info-darker); border-color:var(--info-darker); }

.dm-badge{
    position:absolute; top:12px; inset-inline-end:12px; inset-inline-start: unset;
    background:var(--dm-accent); color:#fff; padding:6px 10px; font-size:12px;
    border-radius:999px; box-shadow:0 6px 16px rgba(34,197,94,.35);
}

.dm-notes {
    max-width:1100px;
    margin:32px auto 0;
    color:#667085;
    font-size:14px;
}

.dm-notes > div {
    border-top:1px solid #e6e9ee;
    padding-top:12px;
}

.dm-notes > div ul {
    margin:8px 0 0 18px;
    line-height:1.5;
}

/* Bloc prix global */
.dm-billing{ margin:24px 0 32px }
.dm-billing__year{ font-size:28px; font-weight:700; line-height:1.2; }
.dm-billing__month{ font-size:14px; color: var(--dm-muted); margin-top:2px; }
.dm-billing__note{ font-size:12px; color: var(--dm-muted); margin-top:6px; }

/* Bloc prix global */
.dm-billing{
    margin: 12px 0 16px;
    text-align: center;            /* <-- centrage horizontal */
}
.dm-billing__year{
    font-size: 32px;               /* un peu plus grand */
    font-weight: 700;
    line-height: 1.2;
    color: #0f172a;                /* foncé lisible */
}
.dm-billing__month{
    margin-top: 4px;
    font-size: 15px;
    color: #475569;                /* gris plus doux */
}
.dm-billing__note{
    margin-top: 6px;
    font-size: 13px;
    color: #94a3b8;
}

/* Currency Picker */
.currency-picker {
	max-width: 420px;
	display: flex;
	gap: 15px;
	margin: 0 auto;
}
.currency-label {
	display: block;
	font-size: 14px;
	color: #475569;
	align-content: center;
}
.currency-control {
    position: relative;
    display: flex;
    align-items: center;
}
.currency-select {
	width: 100%;
	appearance: none;
	border: 1px solid #e5e7eb;
	background: #fff;
	border-radius: 10px;
	padding: 10px 12px 10px 12px;
	font-size: 15px;
	padding-inline-end: 42px;
}

.currency-icon {
    position: absolute;
    inset-inline-end: 10px;
    pointer-events: none;
    font-size: 18px;
    color: #334155;
    line-height: 1;
}

/* Si tu utilises Bootstrap Icons, l’icône prendra ces classes automatiquement */
.currency-icon .bi { 
    display:inline-block;
    vertical-align:middle;
}

.product-info .plan-prices {
	margin: 10px 0 !important;
}

.plan-prices > div:not(.total) span {
	font-size: 16px;
	color: #555;
}

/* Conteneur sur une seule ligne, contrôle total de l'espacement */
.currency{
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
    white-space: nowrap;
    vertical-align: baseline;
}

/* Valeur numérique */
.currency-value{
    line-height: 1;
}

/* Symbole plus petit, bien en haut */
.currency-symbol{
    font-size: 0.72em!important;
    line-height: 1;
    opacity: .85;
}

/* Option : symbole à gauche (si tu veux inverser selon la langue)
   Ajoute la classe .currency--symbol-left au conteneur */
.currency.currency--symbol-left{
    flex-direction: row-reverse;
}

.product-info .plan-prices > .total {
	font-size: 16px;
	margin-top: 5px;
}

.product-info .note {
    font-style: italic;
}

/* Responsive */
@media (max-width: 880px){ .dm-pricing__table{ grid-template-columns:1fr; } }

/* Chips (différences clés) */
.dm-keydiff{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:8px 0 4px;
}
.dm-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border:1px solid #e5e7eb;
    background:#fff;
    border-radius:999px;
    font-size:13px;
    line-height:1;
    white-space:nowrap;
}
.dm-chip .chip-i{ font-weight:700; font-size:12px; opacity:.8; }
.dm-chip--muted{ background:#f8fafc; color:#475569; }
.dm-chip--success{ background:var(--dm-accent-soft); border-color:#cce8d5; color:var(--dm-accent-strong); }
.dm-chip--info{ background:#eef2ff; border-color:#d6dafe; color:#1e3a8a; }
.dm-chip--strong{ border-color:#c7e7d3; background:#f0fbf4; font-weight:600; }

/* Tooltip pur CSS (sur les chips quota) */
.dm-chip--tooltip{ position:relative; cursor:help; }
.dm-chip--tooltip::after{
    content: attr(data-tooltip);
    position:absolute;
    inset-inline-start:0;
    bottom: calc(100% + 8px);
    min-width:260px; max-width:320px;
    padding:10px 12px;
    background:#111827; color:#fff;
    border-radius:10px;
    box-shadow:0 8px 24px rgba(0,0,0,.15);
    font-size:12px; line-height:1.35;
    opacity:0; transform: translateY(4px);
    pointer-events:none;
    transition: opacity .15s ease, transform .15s ease;
    z-index:5;
}
.dm-chip--tooltip:hover::after{ opacity:1; transform: translateY(0); }
.dm-chip--tooltip::before{
    content:"";
    position:absolute;
    bottom: calc(100% + 4px);
    inset-inline-start:12px;
    border:6px solid transparent;
    border-top-color:#111827;
    opacity:0; transition: opacity .15s ease;
}
.dm-chip--tooltip:hover::before{ opacity:1; }

/* Collapse natif */
.dm-collapsible{ margin:10px 16px 0; }
.dm-collapsible > summary{
    list-style:none; cursor:pointer; user-select:none;
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 14px;
    border:1px dashed var(--dm-dash);
    border-radius:12px; background:#fff;
    font-weight:600; color:#0f172a;
}
.dm-collapsible > summary::-webkit-details-marker{ display:none; }
.dm-collapsible .arrow{
    width:10px; height:10px;
    border-inline-end:2px solid #64748b; border-bottom:2px solid #64748b;
    transform: rotate(-45deg); transition: transform .15s ease;
}
.dm-collapsible[open] .arrow{ transform: rotate(135deg); }
.dm-collapsible .lbl-hide{ display:none; }
.dm-collapsible[open] .lbl-show{ display:none; }
.dm-collapsible[open] .lbl-hide{ display:inline; }

/* Teinte plus légère des ✓ sur Basic pour baisser la parité visuelle */
#basicPlan .dm-feature .ok::after{
    background:#f3f4f6; color:#6b7280; border-color:#e5e7eb;
}

/* Ajustement badge premium (on garde ton style) */
.dm-plan--pro .dm-badge{ background: var(--dm-accent); }

/* Alignement chips dans le bloc prix */
.dm-plan__price > .dm-chip{ margin: 0 auto; }