/* Shared marketing typography for landing + all connected marketing pages. */

:root{
  --r360-weight-light:300;
  --r360-weight-regular:400;
  --r360-weight-medium:500;
  --r360-weight-label:600;
  --r360-display-tracking:-0.018em;
  --r360-heading-tracking:-0.008em;
}

body{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:var(--r360-weight-regular);
  letter-spacing:0;
}

/* Primary display type */
.hero h1,
.section-head h2,
.origin-story-copy h2,
.montreal h2,
.seo-hero h1,
.seo-section h2,
.seo-cta h2,
.reservation-cta h2,
.seo-not-found h1{
  font-weight:var(--r360-weight-light) !important;
  letter-spacing:var(--r360-display-tracking) !important;
  line-height:.98 !important;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}

/* Hero product anchors: white fill + dark outline for a strong editorial pop. */
.hero h1 .hero-keyword{
  color:#fff !important;
  -webkit-text-fill-color:#fff;
  -webkit-text-stroke:1.35px #171411;
  paint-order:stroke fill;
  font-weight:600 !important;
  letter-spacing:-.002em !important;
  text-shadow:0 2px 0 rgba(23,20,17,.14);
}
@supports not (-webkit-text-stroke:1px #fff){
  .hero h1 .hero-keyword{
    color:#fff !important;
    text-shadow:-1px -1px 0 #171411,1px -1px 0 #171411,-1px 1px 0 #171411,1px 1px 0 #171411;
  }
}

/* Connected-page hero titles need slightly more breathing room than the home hero. */
.seo-hero h1,
.reservation-hero h1,
.reservation-page h1{
  letter-spacing:-0.012em !important;
  line-height:1.02 !important;
}

/* Secondary headings */
.pillar h3,
.compare-col h3,
.human-copy h3,
.price-card h3,
.seo-feature h3,
.seo-compare h3,
.reservation-price-card h3,
.preview-admin-head h3,
.preview-client-hero h3,
.simplicity-card h3,
.preview-caption strong,
.reservation-compare strong{
  font-weight:var(--r360-weight-regular) !important;
  letter-spacing:var(--r360-heading-tracking) !important;
  line-height:1.12;
}

/* Body emphasis should stay restrained. */
.hero-copy p strong,
.pos-teaser-body p strong,
.montreal p strong,
.seo-copy strong,
.seo-lead strong,
.simplicity-verdict strong,
.preview-booking-head strong,
.reservation-price-card > strong{
  font-weight:var(--r360-weight-medium) !important;
}

/* Navigation and actions */
.topbar,
.topbar nav,
.topbar-actions,
.seo-header,
.seo-desktop-nav,
.seo-header-actions{
  font-weight:var(--r360-weight-regular);
  letter-spacing:.005em;
}

.topbar-cta,
.btn-primary,
.mobile-menu-cta,
.seo-button,
.preview-submit,
.preview-admin-head > button,
.preview-row-actions button{
  font-weight:var(--r360-weight-medium) !important;
  letter-spacing:.005em;
}

/* Small labels need positive tracking rather than compressed uppercase. */
.eyebrow,
.section-head small,
.section-product-badge,
.pillar-num,
.origin-story-kicker small,
.made-local,
.seo-eyebrow,
.seo-product-card > span,
.seo-feature > span,
.seo-compare span,
.reservation-price-card > small,
.reservation-compare small,
.reservation-cta small,
.simplicity-card > small,
.preview-caption > small,
.preview-admin-head small,
.preview-client-hero span,
.preview-booking-head small{
  font-weight:var(--r360-weight-medium) !important;
  letter-spacing:.08em !important;
}

/* Product/pricing values: visible, not heavy. */
.hero-pricing b,
.price-big,
.price-card .price-big,
.seo-product-card > strong,
.seo-fact strong,
.preview-metrics strong,
.preview-capacity b,
.preview-res-row strong,
.preview-res-row > b,
.preview-policy b{
  font-weight:var(--r360-weight-regular) !important;
  letter-spacing:-.01em;
}

.brand,
.seo-brand,
.r360-loader-brand,
.brand b,
.seo-brand b,
.r360-loader-brand b{
  font-weight:var(--r360-weight-medium) !important;
}

.seo-faq summary,
.seo-related strong,
.seo-product-card b,
.seo-fact strong{
  font-weight:var(--r360-weight-regular) !important;
  letter-spacing:-.004em;
}

/* Connected marketing pages: intentionally editorial/light. */
body:has(.seo-page) .seo-hero h1,
body:has(.seo-page) .seo-section h2,
body:has(.seo-page) .seo-cta h2,
body:has(.reservation-page) .reservation-hero h1,
body:has(.reservation-page) .reservation-section h2,
body:has(.reservation-page) .reservation-cta h2{
  font-weight:300 !important;
  letter-spacing:-.012em !important;
  line-height:1.02 !important;
}

body:has(.seo-page) .seo-hero p,
body:has(.seo-page) .seo-section p,
body:has(.seo-page) .seo-copy,
body:has(.reservation-page) .reservation-hero p,
body:has(.reservation-page) .reservation-section p{
  font-weight:300 !important;
  letter-spacing:.002em;
  line-height:1.55;
}

/* Desktop landing hero: keep the whole conversion block visible without a scroll. */
@media(min-width:901px){
  .hero-grid{padding-top:34px !important;padding-bottom:38px !important;gap:48px !important;align-items:center !important}
  .hero-copy{max-width:620px !important}
  .hero h1{margin-top:17px !important;margin-bottom:18px !important;font-size:clamp(48px,4.45vw,70px) !important;line-height:.98 !important}
  .hero-copy>p{font-size:16px !important;line-height:1.5 !important}
  .hero-pricing{margin-top:18px !important}
  .hero-pricing>div{padding:11px 0 !important}
  .hero-pricing b{margin-top:4px !important;font-size:23px !important}
  .hero-pos-note{margin-top:7px !important}
  .hero-actions{margin-top:15px !important}
  .hero-note{margin-top:9px !important}
  .hero-human{min-height:500px !important;max-height:calc(100vh - 150px) !important}
}

@media(max-width:760px){
  .hero h1,.seo-hero h1,.reservation-hero h1,.section-head h2,.seo-section h2{
    letter-spacing:-.008em !important;
    line-height:1.03 !important;
  }
  .hero h1 .hero-keyword{-webkit-text-stroke:1px #171411}
}

/* Logo « gère ton resto. » — box noire, Helvetica Neue (graisse comme l'ancien RESTO360) */
.brand,.seo-brand,.r360-loader-brand,.portal-shot-brand,.portal-email-logo,.admin-brand{display:inline-flex!important;align-items:baseline;width:max-content!important;max-width:100%;height:auto!important;justify-self:start;flex:0 0 auto!important;background:#1b1714!important;color:#fff!important;padding:.34em .55em .42em!important;border-radius:.3em!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:500!important;letter-spacing:-.055em!important;line-height:1!important;text-transform:none!important;white-space:nowrap;text-decoration:none!important}
.brand span,.seo-brand span,.r360-loader-brand span,.portal-shot-brand span,.portal-email-logo span,.admin-brand span{color:#fff!important;font-weight:500!important}
.brand b,.seo-brand b,.r360-loader-brand b,.portal-shot-brand b,.portal-email-logo b,.admin-brand b{color:#e2684e!important;font-weight:650!important}
