/* Atelierliste: native CSS; calm, light design matching the approved preview.
   No font families, font imports, external assets, or JavaScript required.
   Design variance 3 / motion 0 / density 4. */
.tafleur-prices {
    --tafleur-accent: #8c6921;
    --tafleur-line: #e8e1d4;
    --tafleur-text: #363b3a;
    --tafleur-muted: #646966;
    --tafleur-price-width: 8rem;
    --tafleur-shipping-width: 7rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 1140px;
    margin-inline: auto;
    color: var(--tafleur-text);
    background: #fff;
    text-align: left;
    line-height: 1.65;
}
.tafleur-prices *, .tafleur-prices *::before, .tafleur-prices *::after { box-sizing: border-box; }
.tafleur-prices .tafleur-prices__eyebrow {
    margin: 0 0 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--tafleur-line);
    color: var(--tafleur-accent);
    font-size: .78em;
    letter-spacing: .12em;
}
.tafleur-prices .tafleur-prices__title { margin: 0 0 1rem; color: var(--tafleur-text); font-size: clamp(1.6em, 4vw, 2.2em); line-height: 1.25; }
.tafleur-prices .tafleur-prices__intro { max-width: 56ch; margin: 0 0 2rem; color: var(--tafleur-muted); }
.tafleur-prices .tafleur-prices__columns { display: grid; grid-template-columns: minmax(0, 1fr) var(--tafleur-price-width) var(--tafleur-shipping-width); gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--tafleur-line); color: var(--tafleur-muted); font-size: .85em; }
.tafleur-prices__columns span:not(:first-child) { text-align: right; }
.tafleur-prices .tafleur-prices__list { list-style: none; margin: 0; padding: 0; }
.tafleur-prices .tafleur-prices__row { display: grid; grid-template-columns: minmax(0, 1fr) calc(var(--tafleur-price-width) + var(--tafleur-shipping-width) + 1.5rem); gap: 1.5rem; margin: 0; padding: 1.65rem 0; border: 0; border-bottom: 1px solid var(--tafleur-line); }
.tafleur-prices .tafleur-prices__row::before, .tafleur-prices .tafleur-prices__row::after { content: none; }
.tafleur-prices .tafleur-prices__name { margin: 0 0 .4rem; color: var(--tafleur-text); font-size: 1.08em; line-height: 1.45; }
.tafleur-prices .tafleur-prices__description { margin: 0; color: var(--tafleur-muted); font-size: .9em; }
.tafleur-prices .tafleur-prices__amounts { display: grid; grid-template-columns: var(--tafleur-price-width) var(--tafleur-shipping-width); gap: 1.5rem; margin: 0; padding: 0; text-align: right; }
.tafleur-prices__amount { min-width: 0; }
.tafleur-prices .tafleur-prices__amount dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tafleur-prices .tafleur-prices__amount dd { margin: 0; padding: 0; font-variant-numeric: tabular-nums; }
.tafleur-prices .tafleur-prices__price { color: var(--tafleur-text); font-size: 1.25em; line-height: 1.4; }
.tafleur-prices .tafleur-prices__shipping { color: var(--tafleur-muted); font-size: .95em; line-height: 1.85; }
.tafleur-prices .tafleur-prices__note { margin: 1.5rem 0 0; color: var(--tafleur-muted); font-size: .82em; }
.tafleur-prices .tafleur-prices__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: 1.8rem; padding-top: 1rem; }
.tafleur-prices__footer p { margin: 0; color: var(--tafleur-muted); font-size: .9em; }
.tafleur-prices a.tafleur-prices__link { color: var(--tafleur-accent); font-size: .95em; text-decoration: underline; text-underline-offset: .3em; }
.tafleur-prices a.tafleur-prices__link:hover { text-decoration-thickness: 2px; }
.tafleur-prices a.tafleur-prices__link:focus-visible { outline: 2px solid var(--tafleur-accent); outline-offset: 5px; }
.tafleur-prices__work, .tafleur-prices__description, .tafleur-prices__name, .tafleur-prices__amount dd, .tafleur-prices__footer { overflow-wrap: anywhere; }
/* Avoid inline-size containment: Elementor flex widgets otherwise reserve
   their oversized intrinsic height on mobile, leaving a large blank area. */
@media (max-width: 640px) {
    .tafleur-prices .tafleur-prices__columns { display: none; }
    .tafleur-prices .tafleur-prices__row { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .tafleur-prices .tafleur-prices__amounts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; text-align: left; }
    .tafleur-prices .tafleur-prices__amount dt { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; color: var(--tafleur-muted); font-size: .8em; font-weight: normal; margin-bottom: .2rem; }
    .tafleur-prices .tafleur-prices__footer { align-items: flex-start; flex-direction: column; }
}
