/* ================================================================
   YELP V3.1 · DENGELİ TİPOGRAFİ
   Tek tipografi kaynağı. Orijinal style.css içindeki font-size
   değerleri taşınmıştır; tasarım/animasyon bileşenleri korunur.
   Ölçüler tarayıcı varsayılan 16px kök fontla rem kullanır.
   ================================================================ */
:root{
  --type-family:'Sofia Pro','DM Sans',Arial,sans-serif;
  --type-body:1.125rem;          /* 18px */
  --type-body-small:1rem;      /* 16px */
  --type-meta:.9375rem;       /* 15px */
  --type-label:.875rem;       /* 14px */
  --type-button:1.0625rem;    /* 17px */
  --type-card:1.1875rem;      /* 19px */
  --type-section:clamp(2.375rem,2.85vw,2.75rem);
  --type-hero:clamp(4rem,5.12vw,5.25rem);
  --type-line-body:1.55;
  --type-line-head:1.12;
}
body{font-family:var(--type-family);font-size:var(--type-body);line-height:var(--type-line-body)}
/* Header / call to action */
.preview-ribbon{font-size:.8125rem}
.logo{font-size:2.125rem}
.logo-arrow{font-size:2.5rem}
.nav-link{font-size:1rem}
.notification-count{font-size:.6875rem}
.btn-small{font-size:1rem}
.btn-large,.btn-dark{font-size:1.125rem}
.btn-white{font-size:1rem}
/* Hero typography */
.eyebrow{font-size:1rem}
.hero h1{font-size:var(--type-hero)}
.hero-intro{font-size:1.25rem}
.hero-sidenote{font-size:var(--type-body-small)}
.sidenote-spark{font-size:1.375rem}
.card-overline{font-size:var(--type-label)}
.hero-active-card>strong{font-size:3rem}
.hero-active-card .product-name{font-size:1.1875rem}
.product-type,.metric-line,.metric-line b{font-size:var(--type-body-small)}
.handwriting{font-size:1.125rem}
.handwritten-right{font-size:1rem}
.mini-tip{font-size:var(--type-label)}
.active-chain-pill{font-size:var(--type-label)}
/* Pulse */
.pulse-title h2{font-size:1.6875rem}
.pulse-title p,.pulse-metrics span{font-size:var(--type-body-small)}
.pulse-metrics strong{font-size:1.625rem}
.progress-step>span{font-size:var(--type-label)}
.progress-step small{font-size:var(--type-label)}
/* Titles and utility actions */
.section-kicker{font-size:var(--type-label)}
.section-head h2,.trust-head h2{font-size:var(--type-section)}
.section-head p:not(.section-kicker){font-size:var(--type-body)}
.subtle-link,.text-action{font-size:var(--type-body-small)}
/* Featured product */
.photo-patch,.small-blue-tag{font-size:var(--type-label)}
.zoom-label{font-size:var(--type-label)}
.product-detail h3{font-size:2rem}
.product-detail h3 span{font-size:1.3125rem}
.product-chips span{font-size:var(--type-label)}
.product-detail>p{font-size:var(--type-body);line-height:1.55}
.story-link{font-size:var(--type-body-small)}
.product-card-actions>.btn{font-size:1rem}
.under-action{font-size:var(--type-meta)}
/* Incoming offers */
.offers-top h3{font-size:1.625rem}
.offers-top p{font-size:var(--type-body-small)}
.offers-top .text-action{font-size:var(--type-meta)}
.offer-status{font-size:var(--type-label)}
.offer-name{font-size:var(--type-card)}
.offer-user{font-size:var(--type-meta)}
.user-avatar{font-size:.75rem}
.offers-footer{font-size:var(--type-label)}
/* Chronological trade chain */
.icon-round{font-size:1.5rem}
.chain-item:not(:last-child)::after{font-size:1.5625rem}
.chain-item.future .chain-image b{font-size:3.625rem}
.chain-item small{font-size:var(--type-meta)}
.chain-item>strong{font-size:1.0625rem}
.chain-item .chain-active-tag{font-size:var(--type-label)}
.chain-bottom>span{font-size:var(--type-meta)}
/* How it works, poll */
.compact-head h2{font-size:clamp(2.125rem,2.55vw,2.5rem)}
.step-number{font-size:2.75rem}
.step-card h3{font-size:1.5rem}
.step-card p{font-size:1.0625rem;line-height:1.5}
.poll-col .compact-head p:not(.section-kicker){font-size:var(--type-body-small)}
.poll-option strong{font-size:1.125rem}
.poll-option small{font-size:1rem}
.poll-note{font-size:var(--type-meta)}
/* Leaderboard */
.leader-intro h2{font-size:clamp(2.125rem,2.75vw,2.75rem)}
.crown-doodle{font-size:5.625rem}
.leader-row{font-size:1rem}
.leader-avatar{font-size:.75rem}
.leader-row em{font-size:var(--type-label)}
.leader-caption{font-size:var(--type-label)}
.quote-mark{font-size:3.875rem}
.leader-quote p{font-size:1.125rem}
.leader-quote cite{font-size:var(--type-meta)}
.quote-dots{font-size:.75rem}
/* YELP+ */
.plus-logo{font-size:2.5rem}
.plus-title h2{font-size:1.5625rem}
.plus-feature strong{font-size:1.0625rem}
.plus-feature span{font-size:1rem}
.plus-layout .btn{font-size:1rem}
/* Stories */
.story-text>span{font-size:var(--type-label)}
.story-text h3{font-size:1.375rem}
.story-text p{font-size:var(--type-body-small);line-height:1.48}
/* Trust */
.trust-head h2{font-size:var(--type-section)}
.trust-items strong{font-size:1.0625rem}
.trust-items span{font-size:var(--type-meta);line-height:1.45}
/* Final CTA and footer */
.end-eyebrow{font-size:var(--type-label)}
.end-layout h2{font-size:clamp(2.625rem,3.4vw,3.375rem)}
.end-layout p{font-size:1.1875rem}
.end-decor span{font-size:4.375rem}
.footer-brand p{font-size:1rem}
.footer-logo{font-size:2.125rem}
.footer-main nav a{font-size:var(--type-body-small)}
.footer-subscribe{font-size:var(--type-body-small)}
.footer-bottom button,.footer-bottom p{font-size:var(--type-meta)}
/* Modal, forms, search and feedback */
.dialog-kicker{font-size:var(--type-label)}
.app-dialog h2{font-size:clamp(1.875rem,3vw,2.25rem)}
.app-dialog p{font-size:1.0625rem}
.dialog-subheading{font-size:1.375rem}
.dialog-demo-note{font-size:var(--type-body-small)}
.dialog-product strong{font-size:1.375rem}
.dialog-product span{font-size:var(--type-body-small)}
.field-label{font-size:1rem}
.field-hint{font-size:var(--type-meta)}
.upload-box{font-size:var(--type-body-small)}
.upload-box input{font-size:var(--type-meta)}
.dialog-small-link{font-size:var(--type-body-small)}
.search-item strong{font-size:1rem}
.search-item small{font-size:var(--type-label)}
.dialog-list{font-size:var(--type-body-small)}
.modal-meta{font-size:var(--type-label)}
.toast{font-size:var(--type-body-small)}
/* Tablet and compact desktop: keep text; adapt layout instead. */
@media(max-width:1350px){
  .hero h1{font-size:clamp(3.75rem,4.85vw,4.625rem)}
}
@media(max-width:1170px){
  .hero h1{font-size:clamp(3.5625rem,5.1vw,4.125rem)}
  .hero-active-card>strong{font-size:2.5rem}
  .hero-active-card .product-name{font-size:1.0625rem}
  .plus-title h2{font-size:1.5rem}
}
@media(max-width:990px){
  .hero h1{font-size:clamp(3.4375rem,7.7vw,4.75rem)}
  .plus-feature strong{font-size:1.0625rem}
  .story-text h3{font-size:1.375rem}
}
@media(max-width:680px){
  :root{
    --type-body:1.0625rem;   /* 17px */
    --type-button:1rem;
    --type-section:clamp(1.8125rem,6.1vw,2.125rem);
  }
  .preview-ribbon{font-size:.75rem}
  .logo{font-size:1.875rem}
  .logo-arrow{font-size:2.125rem}
  .header-actions>.offer-trigger{font-size:1rem}
  .eyebrow{font-size:.875rem}
  .hero h1{font-size:clamp(2.4375rem,9.5vw,3.25rem)}
  .hero-intro{font-size:1.125rem}
  .hero-buttons .btn{font-size:1rem}
  .hero-sidenote{font-size:.875rem}
  .card-overline{font-size:.875rem}
  .hero-active-card>strong{font-size:2.25rem}
  .hero-active-card .product-name{font-size:1.0625rem}
  .product-type,.metric-line,.metric-line b{font-size:.875rem}
  .handwriting{font-size:.875rem}
  .handwritten-right{font-size:.8125rem}
  .active-chain-pill{font-size:.8125rem}
  .pulse-title h2{font-size:1.5rem}
  .pulse-title p,.pulse-metrics span{font-size:1rem}
  .pulse-metrics strong{font-size:1.5rem}
  .progress-step small{font-size:.875rem}
  .section-head h2{font-size:var(--type-section)}
  .section-head p:not(.section-kicker){font-size:1rem}
  .section-kicker{font-size:.875rem}
  .product-detail h3{font-size:1.75rem}
  .product-detail h3 span{font-size:1.1875rem}
  .product-detail>p{font-size:1.0625rem}
  .product-card-actions>.btn{font-size:1rem}
  .offers-top h3{font-size:1.5rem}
  .offer-name{font-size:1.125rem}
  .offer-user{font-size:.9375rem}
  .offer-status{font-size:.875rem}
  .chain-bottom>span,.chain-bottom .text-action{font-size:.9375rem}
  .step-card h3{font-size:1.375rem}
  .step-card p{font-size:1rem}
  .step-number{font-size:2.25rem}
  .poll-option strong{font-size:1.0625rem}
  .poll-option small{font-size:1rem}
  .poll-note{font-size:.9375rem}
  .leader-intro h2{font-size:clamp(1.875rem,6.8vw,2.125rem)}
  .leader-row{font-size:.9375rem}
  .crown-doodle{font-size:4.875rem}
  .plus-logo{font-size:2.375rem}
  .plus-title h2{font-size:1.5rem}
  .plus-feature strong{font-size:1.0625rem}
  .plus-feature span{font-size:1rem}
  .story-text h3{font-size:1.25rem}
  .story-text p{font-size:1rem}
  .story-text>span{font-size:.875rem}
  .trust-head h2{font-size:var(--type-section)}
  .trust-items strong{font-size:1rem}
  .trust-items span{font-size:.9375rem}
  .end-layout h2{font-size:clamp(2rem,7.4vw,2.5rem)}
  .end-layout p{font-size:1.0625rem}
  .end-layout>.btn{font-size:1rem}
  .end-decor span{font-size:2.5rem}
  .footer-main nav a,.footer-subscribe{font-size:1rem}
  .footer-bottom button,.footer-bottom p{font-size:.9375rem}
  .app-dialog h2{font-size:1.875rem}
}
@media(max-width:400px){
  .hero h1{font-size:clamp(2.25rem,10.2vw,2.625rem)}
  .hero-buttons .btn{font-size:1rem}
  .hero-active-card>strong{font-size:2.125rem}
  .handwritten-top{font-size:.8125rem}
  .active-chain-pill{font-size:.8125rem}
  .story-text h3{font-size:1.1875rem}
  .story-text p{font-size:1rem}
}
