/*!
 * Themeasy — Price List
 *
 * The classic price menu: repeater rows of title + description + price joined
 * by a dotted leader line sitting on the text baseline, with an optional image,
 * badge pill, crossed-out original price and a featured (accent-washed) row.
 * Structure and every interaction are pure CSS — no JavaScript: the hover wash,
 * linked-title accent and image zoom are transitions that fully relax under
 * (prefers-reduced-motion: reduce). Per-item links are stretched overlay
 * anchors, so rows stay keyboard-focusable and the focus ring mirrors the
 * hover wash geometry.
 *
 * Tokens consumed: --tms-primary-color, --tms-heading-color, --tms-body-color,
 * --tms-border-color, --tms-radius-md, --tms-radius-pill (public --tms-*
 * design API).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-price-list{--tms-price-list-columns:1;--tms-price-list-column-gap:3rem;--tms-price-list-item-gap:.875rem;--tms-price-list-image-size:4.5rem;--tms-price-list-image-gap:1.125rem;--tms-price-list-image-ratio:1 / 1;--tms-price-list-leader-style:dotted;--tms-price-list-leader-weight:2px;--tms-price-list-leader-spacing:.625em;--tms-price-list-leader-offset:0px;--tms-price-list-leader-color:color-mix(in srgb, var(--tms-heading-color,#111827) 30%, transparent);--tms-price-list-description-spacing:.375rem;--tms-price-list-accent:var(--tms-primary-color,#5b6cff);--tms-price-list-hover-wash:color-mix(in srgb, var(--tms-heading-color,#111827) 4%, transparent);--tms-price-list-item-padding:10px 15px;--tms-price-list-item-radius:var(--tms-radius-md,10px);--tms-price-list-divider-style:solid;--tms-price-list-divider-weight:1px;--tms-price-list-divider-color:var(--tms-border-color,#0f172a1a);width:100%;position:relative}.tms-price-list__items{grid-template-columns:repeat(var(--tms-price-list-columns,1), minmax(0, 1fr));gap:var(--tms-price-list-item-gap) var(--tms-price-list-column-gap);margin:0;padding:0;list-style:none;display:grid}.tms-price-list__item{align-items:flex-start;gap:var(--tms-price-list-image-gap);padding:var(--tms-price-list-item-padding);border-radius:var(--tms-price-list-item-radius);transition:background-color .25s;display:flex;position:relative}@media (hover:hover){.tms-price-list__item:not(.tms-price-list__item--featured):hover{background-color:var(--tms-price-list-hover-wash)}}.tms-price-list__item:not(.tms-price-list__item--featured):has(.tms-price-list__link:focus-visible){background-color:var(--tms-price-list-hover-wash)}.tms-price-list__item--featured{background:var(--tms-price-list-featured-bg,color-mix(in srgb, var(--tms-price-list-accent) 8%, transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tms-price-list-accent) 25%, transparent)}.tms-price-list--divider .tms-price-list__item:not(:last-child):after{content:"";border-block-end:var(--tms-price-list-divider-weight) var(--tms-price-list-divider-style) var(--tms-price-list-divider-color);position:absolute;bottom:calc(var(--tms-price-list-item-gap) / -2);left:0;right:0}.tms-price-list__media{width:var(--tms-price-list-image-size);border-radius:var(--tms-radius-md,10px);flex:none;position:relative;overflow:hidden}.tms-price-list__img{width:100%;height:auto;aspect-ratio:var(--tms-price-list-image-ratio);object-fit:cover;transition:transform .35s;display:block}@media (hover:hover){.tms-price-list__item:hover .tms-price-list__img{transform:scale(1.05)}}.tms-price-list__body{flex:auto;min-width:0}.tms-price-list__header{align-items:center;display:flex}.tms-price-list__title{letter-spacing:normal;overflow-wrap:break-word;min-width:0;color:var(--tms-heading-color,#111827);flex:0 auto;margin:0;font-size:1rem;font-weight:600;line-height:1.35;transition:color .25s}@media (hover:hover){.tms-price-list__item:has(.tms-price-list__link):hover .tms-price-list__title{color:var(--tms-price-list-accent)}}.tms-price-list__item:has(.tms-price-list__link:focus-visible) .tms-price-list__title{color:var(--tms-price-list-accent)}.tms-price-list .tms-price-list__badge{color:var(--tms-price-list-accent);background-color:color-mix(in srgb, var(--tms-price-list-accent) 12%, transparent);margin-inline-start:1em}@media (max-width:767px){.tms-price-list__header:has(.tms-price-list__badge){grid-template-columns:minmax(0,auto) minmax(1.5rem,1fr) auto;display:grid}.tms-price-list__header:has(.tms-price-list__badge) .tms-price-list__prices{grid-area:1/3}.tms-price-list .tms-price-list__badge{grid-area:2/1/auto/-1;justify-self:start;margin-block-start:.375rem;margin-inline-start:0}}.tms-price-list__leader{min-width:1.5rem;margin-inline:var(--tms-price-list-leader-spacing);border-block-end-width:var(--tms-price-list-leader-weight);border-block-end-style:var(--tms-price-list-leader-style);border-block-end-color:var(--tms-price-list-leader-color);transform:translateY(var(--tms-price-list-leader-offset));flex:auto}.tms-price-list__prices{white-space:nowrap;flex:none;align-items:baseline;gap:.5em;display:flex}.tms-price-list__price{font-variant-numeric:tabular-nums;color:var(--tms-heading-color,#111827);font-size:1rem;font-weight:700;line-height:1.35;transition:color .25s}.tms-price-list__price-old{color:color-mix(in srgb, var(--tms-body-color,#4b5563) 70%, transparent);font-size:.875rem;line-height:1.35;text-decoration-thickness:1px}.tms-price-list__description{margin:var(--tms-price-list-description-spacing) 0 0;overflow-wrap:break-word;color:var(--tms-body-color,#4b5563);font-size:.875rem;line-height:1.6}.tms-price-list__link{z-index:2;border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.tms-price-list__link-label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tms-price-list__link:focus-visible{outline:2px solid var(--tms-price-list-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.tms-price-list__item,.tms-price-list__title,.tms-price-list__price,.tms-price-list__img{transition:none}.tms-price-list__item:hover .tms-price-list__img{transform:none}}@media (max-width:767px){.tms-price-list{--tms-price-list-image-size:3.75rem}.tms-price-list__title,.tms-price-list__price{font-size:1rem}}