/* Source of truth: ../TYPOGRAPHY.md. Load after component styles. */
:root{
 --font-body:'Martian Mono',monospace;--font-heading:Inter,sans-serif;
 --type-address:14px;--type-body:16px;--type-service:16px;--type-ui:12px;--type-caption:10px;--type-calendar:14px;--type-field:16px;
 --type-h1:48px;--type-h2:32px;--type-h3:24px;--type-card:20px;--type-barber:16px;
 --leading-body:1.6;--leading-ui:1.45;--leading-heading:1.15;--tracking-heading:-.04em;
}
:is(#element-v2,#element-calendar){font-family:var(--font-body);font-size:var(--type-body);line-height:var(--leading-body)}
:is(#element-v2,#element-calendar) :is(button,select){font-family:var(--font-body);font-size:var(--type-ui);line-height:var(--leading-ui)}
:is(#element-v2,#element-calendar) :is(input,textarea){font-family:var(--font-body);font-size:var(--type-field);line-height:var(--leading-ui)}
:is(#element-v2,#element-calendar) :is(h1,h2,h3){font-family:var(--font-heading);font-weight:700;letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}
:is(#element-v2,#element-calendar) h1{font-size:var(--type-h1)}
:is(#element-v2,#element-calendar) h2{font-size:var(--type-h2)}
:is(#element-v2,#element-calendar) h3{font-size:var(--type-h3)}
:is(#element-v2,#element-calendar) :is(.mini,.eyebrow,.stamp,.actionhint,.empty,dt,small,footer,.footer){font-size:var(--type-caption);line-height:var(--leading-ui)}
:is(#element-v2,#element-calendar) :is(.formfield,.native-label,.field)>:is(label,span){font-size:var(--type-ui);line-height:var(--leading-ui)}
#element-v2 nav a,#element-v2 .account :is(button,select){font-size:var(--type-ui)}
#element-v2 .glass{font-size:var(--type-ui);line-height:var(--leading-body)}
#element-v2 .glass h1{font-size:var(--type-h3)}
#element-v2 #booking-modal h2,#element-calendar #edit-title{font-size:var(--type-h2)}
#element-v2 .servicetext strong{font-size:var(--type-service);font-weight:500}
#element-v2 .servicerow .price{font-size:var(--type-service)}
#element-v2 .person h3,#element-v2 .summarybox h3{font-size:var(--type-card)}
#element-v2 .barberchoices .barberidentity strong{font-family:var(--font-heading);font-size:var(--type-barber);line-height:var(--leading-heading);font-weight:700;letter-spacing:var(--tracking-heading);overflow-wrap:anywhere}
#element-v2 .barberchoices .barberidentity{height:100%;gap:4px}
#element-v2 .barberchoices .barbercaption{align-items:stretch}
#element-v2 .barberchoices .barberlevel{margin-top:auto}
#element-v2 .barberlevel,#element-v2 .barberchoices .barberlevel{font-size:var(--type-caption);line-height:var(--leading-ui)}
#element-v2 .date-calendar .month-heading strong{font-size:var(--type-calendar)}
#element-v2 .date-calendar .weekday{font-size:var(--type-caption);line-height:var(--leading-ui)}
#element-v2 .date-calendar button.calendar-day{font-size:var(--type-calendar)}
#element-v2 .calendar-legend{font-size:var(--type-caption);line-height:var(--leading-ui)}
#element-v2 .date-calendar .time-heading{font-size:var(--type-card)}
#element-v2 .phone-country-code{font-size:var(--type-ui)}
#element-v2 .phone-control>input{font-size:var(--type-field)}
#element-calendar :is(.timecolhead,.timeaxis .axishead,.axislabel,.slotplus,.timeevent,.timeevent strong,.closedtime,.breaktime,.buffertime){font-size:var(--type-caption)}
#element-calendar .timeevent{line-height:var(--leading-ui)}
#element-calendar #calendar-range,#element-calendar .range{font-size:var(--type-h3)}
#element-calendar .mobile-dates button{font-size:var(--type-caption)}
@media(max-width:700px){:root{--type-service:14px;--type-h1:36px;--type-h2:28px;--type-h3:22px;--type-card:18px}}

@media(min-width:1001px){#element-v2 .desktop-map>p{font-size:var(--type-address);line-height:var(--leading-body)}}

#element-v2 .salon-gallery-list .gallery-photo-card>h2{font-family:var(--font-body);font-size:var(--type-caption);font-weight:400;line-height:var(--leading-ui);letter-spacing:0;overflow-wrap:anywhere;margin:0 0 16px}

#element-v2 .salon-rating{font-family:var(--font-body);font-size:var(--type-ui)}
#element-v2 .salon-rating strong{font-size:var(--type-body);font-weight:500}
#element-v2 .salon-rating .rating-stars{font-size:var(--type-body)}
#element-v2 .review-score>.rating-stars{font-size:var(--type-h3)}
