.pricing-page {
  --barber-red: #b52b35;
  --barber-blue: #183f62;
  --barber-ink: #17232d;
  --barber-cream: #faf7f1;
  width: 100%; max-width: 1240px; margin: 0 auto; color: var(--barber-ink);
}

.pricing-hero { position: relative; max-width: 850px; margin: 20px auto 46px; text-align: center; }
.pricing-hero::before, .pricing-hero::after { position: absolute; top: 44px; width: 80px; height: 3px; background: repeating-linear-gradient(90deg,var(--barber-red) 0 18px,#fff 18px 28px,var(--barber-blue) 28px 46px,#fff 46px 56px); content: ""; }
.pricing-hero::before { left: 3%; } .pricing-hero::after { right: 3%; }
.pricing-hero__icon { width: 76px; height: 76px; display: grid; place-items: center; margin: 0 auto 12px; border: 1px solid #e5ddd0; border-radius: 50%; background: #fff; box-shadow: 0 12px 28px rgba(23,35,45,.09); }
.pricing-hero__icon img { width: 51px; height: 51px; }
.pricing-eyebrow { color: var(--barber-red); font-size: .7rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.pricing-hero h2 { margin: 10px 0 14px; color: var(--barber-ink); font-size: clamp(2rem,4vw,3.45rem); letter-spacing: -.055em; line-height: 1.02; }
.pricing-hero > p:not(.pricing-eyebrow) { max-width: 680px; margin-inline: auto; color: #68737a; font-size: .98rem; line-height: 1.7; }
.pricing-trial-pill { width: max-content; display: flex; gap: 9px; align-items: center; margin: 22px auto 0; border: 1px solid #ddd2c1; border-radius: 999px; background: var(--barber-cream); padding: 8px 15px 8px 9px; color: #687078; font-size: .7rem; font-weight: 750; }
.pricing-trial-pill strong { border-radius: 999px; background: var(--barber-blue); padding: 6px 10px; color: #fff; font-size: .68rem; text-transform: uppercase; }

.pricing-plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: stretch; }
.pricing-plan { position: relative; display: flex; min-height: 350px; flex-direction: column; overflow: hidden; border: 1px solid #dfe3e5; border-radius: 16px; background: #fff; padding: 23px; box-shadow: 0 12px 32px rgba(23,35,45,.045); cursor: pointer; transition: .2s ease; }
.pricing-plan:hover { border-color: #9cabb4; transform: translateY(-3px); box-shadow: 0 18px 38px rgba(23,35,45,.09); }
.pricing-plan.is-selected { border-color: var(--barber-blue); box-shadow: 0 0 0 2px rgba(24,63,98,.1),0 18px 38px rgba(23,35,45,.1); }
.pricing-plan--featured { border-top: 4px solid var(--barber-red); }
.pricing-plan input { position: absolute; opacity: 0; pointer-events: none; }
.pricing-plan__popular { position: absolute; top: 0; right: 0; border-radius: 0 12px 0 12px; background: var(--barber-red); padding: 7px 12px; color: #fff; font-size: .61rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.pricing-plan__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pricing-plan__top img { width: 39px; height: 39px; object-fit: contain; }
.pricing-plan__tag { border-radius: 999px; background: #f1f4f6; padding: 6px 9px; color: #63717a; font-size: .61rem; font-weight: 850; }
.pricing-plan__name { display: block; min-height: 48px; margin-top: 18px; color: var(--barber-ink); font-size: 1.12rem; line-height: 1.3; }
.pricing-plan__name span { display: block; color: #68747c; font-size: .78rem; }
.pricing-plan__price { display: block; margin: 12px 0; color: var(--barber-blue); font-size: 2rem; font-weight: 950; letter-spacing: -.055em; }
.pricing-plan__price small { font-size: .75rem; letter-spacing: 0; vertical-align: 8px; }
.pricing-plan__price sup { font-size: .85rem; letter-spacing: 0; }
.pricing-plan__price em { margin-left: 4px; color: #879198; font-size: .64rem; font-style: normal; font-weight: 700; letter-spacing: 0; }
.pricing-plan p { flex: 1; color: #68747c; font-size: .75rem; line-height: 1.55; }
.pricing-plan__select { display: grid; min-height: 39px; place-items: center; margin-top: 18px; border: 1px solid #d9e0e4; border-radius: 8px; color: #58666e; font-size: .71rem; font-weight: 900; }
.pricing-plan.is-selected .pricing-plan__select { border-color: var(--barber-blue); background: var(--barber-blue); color: #fff; }
.pricing-plan:last-child { grid-column: 2; }

.pricing-checkout { display: grid; grid-template-columns: minmax(0,1fr) 355px; gap: 22px; align-items: start; margin-top: 28px; }
.pricing-addons, .pricing-summary { border: 1px solid #dfe3e5; border-radius: 16px; background: #fff; box-shadow: 0 14px 36px rgba(23,35,45,.055); }
.pricing-addons { display: grid; gap: 10px; padding: 25px; }
.pricing-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 10px; }
.pricing-section-head h3 { margin-top: 4px; font-size: 1.35rem; }
.pricing-section-head > span { color: #849097; font-size: .67rem; font-weight: 750; }
.pricing-addon { position: relative; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 13px; align-items: center; border: 1px solid #e1e6e8; border-radius: 10px; padding: 15px; cursor: pointer; transition: .18s ease; }
.pricing-addon:hover { border-color: #9baeb9; transform: translateY(-1px); }
.pricing-addon:has(input:checked) { border-color: var(--barber-blue); background: #f3f7fa; }
.pricing-addon input { position: absolute; opacity: 0; }
.pricing-addon__check { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #cad3d8; border-radius: 7px; color: transparent; font-size: .72rem; font-weight: 900; }
.pricing-addon input:checked + .pricing-addon__check { border-color: var(--barber-blue); background: var(--barber-blue); color: #fff; }
.pricing-addon__content, .pricing-addon__content strong, .pricing-addon__content small, .pricing-addon__price small { display: block; }
.pricing-addon__content strong { font-size: .86rem; }
.pricing-addon__content small { margin-top: 3px; color: #78838a; font-size: .7rem; line-height: 1.45; }
.pricing-addon__price { color: var(--barber-ink); font-size: .84rem; font-weight: 900; text-align: right; white-space: nowrap; }
.pricing-addon__price small { color: #8b9499; font-size: .58rem; }

.pricing-summary { position: sticky; top: 22px; padding: 25px; }
.pricing-summary__head { display: flex; gap: 12px; align-items: center; margin-bottom: 17px; }
.pricing-summary__head img { width: 42px; height: 42px; object-fit: contain; }
.pricing-summary__head h3 { margin-top: 2px; font-size: 1.25rem; }
.pricing-trial { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; margin-bottom: 17px; border: 1px solid #d9cdbd; border-radius: 10px; background: var(--barber-cream); padding: 11px; }
.pricing-trial > strong { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 9px; background: var(--barber-red); color: #fff; }
.pricing-trial b, .pricing-trial small { display: block; }
.pricing-trial b { font-size: .76rem; }.pricing-trial small { margin-top: 2px; color: #7b746b; font-size: .61rem; line-height: 1.4; }
.pricing-summary__items { display: grid; gap: 11px; border-block: 1px solid #e4e8ea; padding: 17px 0; }
.pricing-summary__items > div { display: flex; justify-content: space-between; gap: 15px; color: #66737a; font-size: .73rem; }
.pricing-summary__items span { max-width: 205px; }.pricing-summary__items strong { color: #34434b; white-space: nowrap; }
.pricing-summary__items strong small { display: inline; margin-left: 3px; color: #7c878e; font-size: .55rem; font-weight: 800; }
.pricing-summary__total { display: flex; align-items: end; justify-content: space-between; gap: 14px; padding: 21px 0; }
.pricing-summary__total span, .pricing-summary__total small { display: block; }.pricing-summary__total span { font-size: .77rem; font-weight: 900; }.pricing-summary__total small { margin-top: 2px; color: #8a9499; font-size: .58rem; font-weight: 650; }
.pricing-summary__total strong { color: var(--barber-blue); font-size: 1.35rem; letter-spacing: -.04em; white-space: nowrap; }
.pricing-summary__total strong small { display: inline; margin-left: 4px; color: var(--barber-blue); font-size: .62rem; font-weight: 900; letter-spacing: 0; }
.pricing-submit { width: 100%; min-height: 49px; border: 0; border-radius: 9px; background: var(--barber-red); color: #fff; font: inherit; font-size: .79rem; font-weight: 900; cursor: pointer; transition: .18s ease; }
.pricing-submit:hover { background: #92232b; transform: translateY(-1px); }
.pricing-summary__note { margin-top: 9px; color: #899299; font-size: .61rem; text-align: center; }
.pricing-feedback { margin-top: 12px; border-radius: 8px; background: #eaf4ed; padding: 10px; color: #17613c; font-size: .69rem; font-weight: 800; text-align: center; }
.pricing-summary__trust { display: flex; gap: 9px; margin-top: 19px; border-top: 1px solid #e4e8ea; padding-top: 16px; }
.pricing-summary__trust > span { width: 26px; height: 26px; flex: 0 0 26px; display: grid; place-items: center; border-radius: 50%; background: #e9f0f5; color: var(--barber-blue); font-size: .66rem; font-weight: 900; }
.pricing-summary__trust strong, .pricing-summary__trust small { display: block; }.pricing-summary__trust strong { font-size: .71rem; }.pricing-summary__trust small { color: #899299; font-size: .61rem; }

@media (max-width: 1080px) { .pricing-plans { grid-template-columns: repeat(2,minmax(0,1fr)); }.pricing-plan:last-child { grid-column: auto; }.pricing-checkout { grid-template-columns: 1fr; }.pricing-summary { position: static; } }
@media (max-width: 680px) { .pricing-hero { margin-top: 8px; }.pricing-hero::before,.pricing-hero::after { display: none; }.pricing-trial-pill { max-width: 100%; }.pricing-plans { grid-template-columns: 1fr; }.pricing-plan { min-height: 0; padding: 20px; }.pricing-addons,.pricing-summary { padding: 18px; }.pricing-section-head { align-items: flex-start; flex-direction: column; gap: 5px; }.pricing-addon { grid-template-columns: 28px minmax(0,1fr); }.pricing-addon__price { grid-column: 2; text-align: left; } }
