/* 21 — Stickers & Post-its : collage tangible, papier crème, étiquettes colorées,
   cartes-stickers avec ombre portée. Aligné horizontalement (pas de rotations). */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700;12..96,800&family=Caveat:wght@500;600;700&family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500;1,600;1,700&display=swap');

:root{
  /* Thème clair uniquement : empêche les navigateurs et WebView Android de
     repeindre les champs de formulaire en sombre selon le réglage système. */
  color-scheme:light only;

  --c-bg:#f0e6d2;
  --c-card:#fffdf6;
  --c-text:#2a2418;
  --c-muted:#6a5d44;
  --c-primary:#c9472b;
  --c-primary-dk:#a8381f;
  --c-secondary:#f0c850;
  --c-ok:#5e8a52;
  --c-warn:#e0a64a;
  --c-danger:#c9472b;
  --c-border:#dfd2b0;
  --c-input:#ffffff;
  --shadow:0 8px 24px rgba(0,0,0,.08), 0 1px 0 rgba(0,0,0,.04);
  --radius:14px;

  --sk-ink:#2a2418;
  --sk-paper:#fffdf6;
  --sk-cream:#fdf6e2;
  --sk-yellow:#f0c850;
  --sk-pink:#e8a5b8;
  --sk-blue:#3a6a9c;
  --sk-green:#5e8a52;
  --sk-rule:#dfd2b0;
}

body{
  font-family:'Inter', system-ui, sans-serif;
  background:var(--c-bg);
  color:var(--c-text);
}

/* HEADER */
.site-header{background:var(--sk-paper); border-bottom:2px solid var(--sk-ink)}
.brand{font-family:'Bricolage Grotesque', sans-serif; font-weight:800; letter-spacing:-.01em; color:var(--sk-ink)}
.brand .logo{font-size:26px}
.site-header nav a{color:var(--sk-ink); font-weight:600}
.site-header nav a:hover{color:var(--c-primary); text-decoration:none}
.mini-search input{border:2px solid var(--sk-ink); border-radius:10px; background:#fff}
.mini-search button{border:2px solid var(--sk-ink); border-radius:10px; background:#fff}

/* TYPO HEADINGS */
h1, h2, h3, .hero h1, .latest h2, section h2{
  font-family:'Bricolage Grotesque', sans-serif;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--sk-ink);
}

/* HERO */
.hero{background:var(--sk-paper); border-bottom:2px solid var(--sk-ink); padding:60px 0 50px}
.hero::before, .hero::after{display:none}
.hero h1{font-size:clamp(34px, 5vw, 64px); line-height:.98}
.hero h1 em{
  font-style:normal; background:var(--sk-yellow); color:var(--sk-ink);
  padding:0 10px; box-shadow:3px 3px 0 var(--sk-ink); display:inline-block;
}
.hero .lead{color:var(--c-muted); font-size:1.1rem}
.hero-emojis{font-size:2.4rem; letter-spacing:6px}

/* SEARCH BAR */
.search-bar{
  background:var(--sk-paper); border:2px solid var(--sk-ink); border-radius:14px;
  box-shadow:var(--shadow);
}
.search-fields input[type=text]{border:2px solid var(--sk-ink); border-radius:10px; padding:12px 16px}
.btn-geo{border:2px solid var(--sk-ink); border-radius:10px; background:#fff}

/* BUTTONS */
.btn-primary{
  background:var(--c-primary); color:#fff; border:0; border-radius:10px;
  padding:12px 22px; font-weight:700; letter-spacing:.03em;
  box-shadow:3px 3px 0 var(--sk-ink);
  transition:transform .08s, box-shadow .08s;
}
.btn-primary:hover{background:var(--c-primary-dk); transform:translate(1px,1px); box-shadow:2px 2px 0 var(--sk-ink)}
.btn-secondary{background:#fff; color:var(--sk-ink); border:2px solid var(--sk-ink); border-radius:10px; padding:10px 18px; font-weight:700}
.btn-link{background:#fff; border:2px solid var(--sk-ink); border-radius:10px; padding:6px 12px; font-weight:600}
.btn-link:hover{background:var(--sk-cream); border-color:var(--sk-ink)}
.visited-cta{
  background:var(--c-ok); color:#fff; border-radius:10px;
  box-shadow:3px 3px 0 var(--sk-ink); padding:12px 20px;
}

/* TRUST */
.trust{background:var(--sk-cream); border-top:2px solid var(--sk-ink); border-bottom:2px solid var(--sk-ink)}
.trust-grid .big{
  font-family:'Bricolage Grotesque', sans-serif; font-weight:800;
  font-size:2.2rem; color:var(--c-primary);
}
.trust-grid .lbl{font-family:'Caveat', cursive; font-size:1.1rem; color:var(--c-muted)}

/* QUICK CATS */
.quick-card{
  background:#fff; border:2px solid var(--sk-ink); border-radius:14px;
  box-shadow:3px 3px 0 var(--sk-ink); padding:18px 16px;
  transition:transform .1s, box-shadow .1s;
}
.quick-card:hover{transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--sk-ink); border-color:var(--sk-ink)}
.quick-card span{font-family:'Inter'; font-weight:600; color:var(--sk-ink)}

/* CARDS (latest, search results) */
.card, .result, .blog-card{
  background:#fff; border:2px solid var(--sk-ink); border-radius:14px;
  box-shadow:var(--shadow);
}
.card:hover, .result:hover, .blog-card:hover{
  transform:translate(-1px,-2px); border-color:var(--sk-ink);
  box-shadow:0 12px 28px rgba(0,0,0,.1), 0 1px 0 rgba(0,0,0,.04);
}
.card-img, .result-img, .blog-cover{
  background-color:var(--sk-yellow);
  border-bottom:2px solid var(--sk-ink);
}
.card-body h3, .blog-body h3{font-family:'Bricolage Grotesque', sans-serif; font-weight:700; letter-spacing:-.01em}

/* CHIPS / BADGES (étiquettes-stickers) */
.chip{
  background:var(--sk-yellow); color:var(--sk-ink);
  border:1.5px solid var(--sk-ink); border-radius:999px;
  font-weight:600; padding:3px 10px;
}
.badge{
  background:#fff; border:1.5px solid var(--sk-ink); border-radius:999px;
  font-weight:600; color:var(--sk-ink);
}
.badge.ok, .contrib-badge{background:var(--sk-green); color:#fff; border-color:var(--sk-ink)}
.badge.warn{background:var(--sk-yellow); color:var(--sk-ink); border-color:var(--sk-ink)}
.badge.danger{background:var(--c-primary); color:#fff; border-color:var(--sk-ink)}
.blog-cat{background:var(--sk-pink); color:var(--sk-ink); border:1.5px solid var(--sk-ink); border-radius:999px}

/* PREMIUM */
.premium-badge{
  background:var(--sk-yellow); color:var(--sk-ink);
  border:2px solid var(--sk-ink); box-shadow:2px 2px 0 var(--sk-ink);
  border-radius:6px; padding:3px 10px;
}

/* KID SCORE — gros sticker rond */
.kidscore{
  background:var(--c-primary); color:#fff; border:3px solid #fff;
  outline:2px solid var(--sk-ink); border-radius:999px;
  box-shadow:0 6px 14px rgba(0,0,0,.2);
  width:96px; height:96px; padding:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.kidscore .score-num{font-family:'Bricolage Grotesque', sans-serif; font-size:2rem; font-weight:800; line-height:1}
.kidscore .score-max{font-size:.7rem; opacity:.85}
.kidscore .score-label{font-size:.65rem; margin-top:2px; text-transform:uppercase; letter-spacing:.06em}

/* CRITERIA */
.criterion{
  background:#fff; border:1.5px solid var(--sk-rule); border-radius:12px;
  padding:12px 14px;
}
.criterion.confirmed{background:#eef5e8; border-color:var(--sk-green)}
.criterion.disputed{background:#fdf2d4; border-color:var(--sk-yellow)}
.criterion.removed{background:#fbe5e0; border-color:var(--c-primary)}
.criterion .name{font-weight:600}
.vote-btn{
  background:#fff; border:1.5px solid var(--sk-ink); border-radius:6px;
  font-weight:700; padding:5px 10px;
}
.vote-btn.up:hover{background:var(--sk-green); color:#fff}
.vote-btn.down:hover{background:var(--c-primary); color:#fff}

/* FILTERS */
.filter-grid fieldset{border:2px solid var(--sk-ink); border-radius:10px; background:#fff}
.filter-grid legend{font-weight:700; color:var(--sk-ink)}

/* HOURS */
.hours{background:#fff; border:2px solid var(--sk-ink); border-radius:14px}

/* MAP / RESTO MAP */
#map, #map-resto{border:2px solid var(--sk-ink); border-radius:14px}

/* REVIEWS — chacun sur un fond pastel différent (post-it) */
.review{
  background:var(--sk-cream); border:2px solid var(--sk-ink); border-radius:14px;
  box-shadow:var(--shadow); padding:18px 20px;
}
.review:nth-child(3n+1){background:var(--sk-yellow)}
.review:nth-child(3n+2){background:var(--sk-pink)}
.review:nth-child(3n+3){background:#cfe0ee}
.review p{font-family:'Caveat', cursive; font-size:1.35rem; line-height:1.3; color:var(--sk-ink)}
.review-form{background:var(--sk-cream); border:2px solid var(--sk-ink); border-radius:14px}
.review-form input, .review-form select, .review-form textarea{
  border:2px solid var(--sk-ink); border-radius:8px; background:#fff;
}
.owner-reply{
  background:#fff; border:2px solid var(--sk-ink); border-left:4px solid var(--c-primary);
  border-radius:0 10px 10px 0;
}

/* GUIDES + BLOG */
.guide-card, .guide-content{
  background:#fff; border:2px solid var(--sk-ink); border-radius:14px;
  box-shadow:var(--shadow);
}
.guide-content blockquote{
  border-left:4px solid var(--c-primary); background:var(--sk-cream);
  padding:10px 14px; border-radius:0 8px 8px 0;
}
.blog-cats a{
  background:#fff; border:2px solid var(--sk-ink); border-radius:999px;
  font-weight:600; color:var(--sk-ink);
}
.blog-cats a.active{background:var(--sk-ink); color:#fff}

/* HOW */
.how-grid div{
  background:var(--sk-paper); border:2px solid var(--sk-ink); border-radius:14px;
  box-shadow:3px 3px 0 var(--sk-ink); padding:22px;
}
.how-grid .big{font-size:42px}

/* FORMS */
.card-form{background:var(--sk-paper); border:2px solid var(--sk-ink); border-radius:14px}
.card-form input, .card-form textarea, .card-form select{
  border:2px solid var(--sk-ink); border-radius:8px; background:#fff;
}
.preview{background:var(--sk-cream); border:2px solid var(--sk-ink); border-radius:10px}

/* DROPDOWN */
.dropdown-menu{background:#fff; border:2px solid var(--sk-ink); border-radius:10px; box-shadow:var(--shadow)}
.dropdown-menu a:hover, .dropdown-menu button:hover{background:var(--sk-cream)}

/* MODAL */
.modal-content{background:var(--sk-paper); border:2px solid var(--sk-ink); border-radius:14px}

/* PAGINATION */
.pagination a{background:#fff; border:2px solid var(--sk-ink); border-radius:8px; font-weight:600}
.pagination a.current{background:var(--sk-ink); color:#fff; border-color:var(--sk-ink)}

/* FAVORI */
.fav-btn{background:#fff; border:2px solid var(--sk-ink); border-radius:999px}
.fav-btn:hover{background:var(--c-primary); color:#fff; border-color:var(--sk-ink)}
.fav-btn.active{background:var(--c-primary); color:#fff; border-color:var(--sk-ink)}

/* LEADERBOARD */
.leaderboard{background:#fff; border:2px solid var(--sk-ink); border-radius:14px}
.leader-row.top1{background:linear-gradient(90deg, var(--sk-yellow), transparent)}

/* NEWSLETTER */
.newsletter-band{background:var(--sk-cream); border-top:2px solid var(--sk-ink); border-bottom:2px solid var(--sk-ink)}
.newsletter-inner input{border:2px solid var(--sk-ink); border-radius:8px}

/* FOOTER */
.site-footer{background:var(--sk-paper); border-top:2px solid var(--sk-ink); color:var(--c-muted)}
.site-footer .footer-grid h4{color:var(--sk-ink); font-family:'Bricolage Grotesque', sans-serif; font-weight:700}

/* GALLERY */
.gallery-grid a{
  border:2px solid var(--sk-ink); border-radius:10px; box-shadow:3px 3px 0 var(--sk-ink);
}

/* ═══════════════════════════════════════════════════════════════════════════
   COMPLÉMENTS MAQUETTE — blocs présents sur les captures validées que le CSS
   d'origine ne pouvait pas produire seul : fond quadrillé, pastilles de nav,
   hero 2 colonnes, polaroïds au washi tape, tampons encreurs, annotations
   manuscrites, tiroir aux stickers, post-its. Aucune rotation sur le contenu.
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  --sk-script:'Playfair Display', Georgia, serif;
  --sk-grid:rgba(42,36,24,.05);
}

/* fond papier légèrement quadrillé */
body{
  background-image:
    linear-gradient(var(--sk-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--sk-grid) 1px, transparent 1px);
  background-size:34px 34px, 34px 34px;
}

/* ————— HEADER : logo manuscrit + pastilles de nav ————— */
.brand .logo{ display:none }
.brand span:not(.logo){
  font-family:var(--sk-script); font-style:italic; font-weight:600;
  font-size:1.5rem; letter-spacing:.01em; color:var(--sk-ink);
}
.site-header nav{ gap:8px; align-items:center }
.site-header nav a.nav-pill{
  font-family:'Inter', sans-serif; font-weight:600; font-size:.9rem;
  color:var(--sk-ink); background:#fff;
  padding:7px 15px; border:1.5px solid var(--sk-ink); border-radius:8px;
  box-shadow:0 2px 0 rgba(42,36,24,.22);
  transition:transform .08s ease, box-shadow .08s ease;
}
.site-header nav a.nav-pill:hover{
  color:var(--sk-ink); text-decoration:none;
  transform:translateY(-1px); box-shadow:0 3px 0 rgba(42,36,24,.26);
}
.site-header nav a.pill-yellow{ background:var(--sk-yellow) }
.site-header nav a.pill-green{ background:var(--sk-green); color:#fff }
.site-header nav a.pill-blue{ background:var(--sk-blue); color:#fff }
.site-header nav a.pill-ink{ background:var(--sk-ink); color:#fff }
.site-header nav a.pill-green:hover,
.site-header nav a.pill-blue:hover,
.site-header nav a.pill-ink:hover{ color:#fff }
.site-header nav a.pill-plain{
  background:transparent; border-color:transparent; box-shadow:none;
  font-weight:500; color:var(--c-muted);
}

/* ————— HERO 2 COLONNES ————— */
.hero{ background:transparent; border-bottom:0; padding:52px 0 34px }
.hero-grid{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:36px; align-items:start;
}
.hero-main{ position:relative }
.hero-emojis{ display:none }
.hero h1{ max-width:13ch; letter-spacing:-.035em; margin:0 0 18px }
.hero h1 em{ color:var(--sk-ink) }
.hero .lead{ font-size:1rem; line-height:1.55; max-width:46ch; margin:0 0 26px }

/* annotation manuscrite « ↓ commence ici ! » */
.hand-note{
  display:inline-block; margin:0 0 2px;
  font-family:'Caveat', cursive; font-weight:700; font-size:1.45rem;
  color:var(--c-primary);
  transform:rotate(-3deg); transform-origin:left center;
}

/* ————— TAMPONS ENCREURS ————— */
.stamp{
  display:inline-block;
  font-family:'Bricolage Grotesque', sans-serif; font-weight:700;
  font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  padding:7px 14px;
  border:2.5px solid currentColor; border-radius:6px;
  box-shadow:inset 0 0 0 1.5px currentColor;
  opacity:.85;
}
.stamp-red{ color:var(--c-primary) }
.stamp-green{ color:var(--sk-green) }
.stamp-hero{
  position:absolute; left:6%; top:150px; z-index:3;
  transform:rotate(-11deg); pointer-events:none;
}
.stamp-coup{
  position:absolute; right:-6px; bottom:26px; z-index:3;
  transform:rotate(-8deg); pointer-events:none;
  background:rgba(255,253,246,.9);
}

/* ————— BARRE DE RECHERCHE = CARTE JAUNE ————— */
.hero .search-bar{
  background:var(--sk-yellow);
  border:2px solid var(--sk-ink); border-radius:10px;
  box-shadow:5px 5px 0 rgba(42,36,24,.85);
  padding:16px 18px 14px; max-width:460px;
}
.hero .search-bar .hand-label{
  display:block; margin-bottom:2px;
  font-family:'Caveat', cursive; font-weight:600; font-size:1.3rem; color:var(--sk-ink);
}
.hero .search-fields{ display:flex; align-items:center; gap:10px; flex-wrap:nowrap }
.hero .search-fields input[type=text]{
  flex:1 1 auto; min-width:0;
  border:0; border-bottom:2px solid var(--sk-ink); border-radius:0;
  background:transparent; padding:4px 2px;
  font-family:'Caveat', cursive; font-size:1.2rem; color:var(--sk-ink);
}
.hero .search-fields input[type=text]::placeholder{ color:rgba(42,36,24,.5) }
.hero .search-fields input[type=text]:focus{ outline:none; border-bottom-color:var(--c-primary) }
.hero .search-fields .btn-geo{
  flex:0 0 auto; background:transparent;
  border:1.5px solid var(--sk-ink); border-radius:7px; padding:5px 8px;
}
.hero .search-bar .btn-primary{
  flex:0 0 auto; background:var(--sk-ink); color:#fff; border:0; border-radius:6px;
  font-family:'Bricolage Grotesque', sans-serif; font-weight:700;
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
  padding:9px 16px; box-shadow:none;
}
.hero .search-bar .btn-primary:hover{ background:#000; transform:none }
.hero .filters summary{ font-family:'Caveat', cursive; font-size:1.1rem; cursor:pointer }

/* ————— POLAROÏDS DU HERO ————— */
.polaroid-stack{
  position:relative; min-height:300px;
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px; align-content:start;
}
.polaroid{
  position:relative; align-self:start; display:block;
  background:#fff; padding:9px 9px 34px;
  border:1px solid rgba(42,36,24,.10);
  box-shadow:0 12px 28px rgba(60,45,15,.20);
}
.polaroid::before{                       /* washi tape */
  content:""; position:absolute; top:-9px; left:50%; margin-left:-38px;
  width:76px; height:19px; background:var(--sk-yellow); opacity:.78;
  box-shadow:0 1px 2px rgba(0,0,0,.10);
}
.polaroid:nth-child(2)::before{ background:var(--sk-pink) }
.polaroid:nth-child(3)::before{ background:var(--sk-blue); opacity:.55 }
.polaroid .ph{
  display:block; width:100%; aspect-ratio:1/1;
  background-color:var(--sk-rule); background-size:cover; background-position:center;
}
.polaroid .cap{
  position:absolute; left:12px; right:12px; bottom:8px;
  font-family:'Caveat', cursive; font-weight:600; font-size:1.12rem; color:var(--sk-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.polaroid .pin{
  position:absolute; right:16px; top:18px; font-size:1.1rem;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));
}
.polaroid:nth-child(1){ grid-column:2 }
.polaroid:nth-child(2){ grid-column:2; margin-top:8px }
.polaroid:nth-child(3){ grid-column:1; grid-row:2; margin-top:-56px }
.polaroid:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(60,45,15,.26) }

/* ————— CHIFFRES ————— */
.trust{ background:transparent; border-color:var(--sk-rule); border-width:1px; padding:26px 0 }
.trust-grid .big{ font-size:2.6rem; letter-spacing:-.035em; color:var(--sk-ink); line-height:1 }
.trust-grid .lbl{ font-size:1.15rem; margin-top:2px }

/* ————— LE TIROIR AUX STICKERS ————— */
.quick-cats{ padding:34px 0 40px }
.quick-cats h2,
.latest h2, .reviews h2, .gallery h2, .resto-map h2, .hours h2,
.criteria-box h2, .newsletter-band h3, .site-footer .footer-grid h4{
  font-family:var(--sk-script); font-style:italic; font-weight:600;
  letter-spacing:0;
}
.quick-cats h2{ font-size:1.75rem; margin-bottom:18px }
.quick-grid{ display:flex; flex-wrap:wrap; gap:11px }
.quick-card{
  display:inline-flex; flex-direction:row; align-items:center; text-align:left;
  gap:8px; padding:9px 13px; font-size:1rem;
  background:var(--sk-paper);
  border:1.5px solid rgba(42,36,24,.55); border-radius:9px;
  box-shadow:0 4px 10px rgba(60,45,15,.12);
}
.quick-card:hover{ transform:translateY(-2px); box-shadow:0 7px 16px rgba(60,45,15,.18) }
.quick-card span{ font-family:'Caveat', cursive; font-weight:600; font-size:1.15rem; color:var(--sk-ink) }
.quick-card::after{
  content:attr(data-count);
  font-family:'Inter', sans-serif; font-weight:700; font-size:.68rem;
  background:rgba(42,36,24,.15); color:var(--sk-ink);
  padding:2px 7px; border-radius:5px;
}
.quick-card:not([data-count])::after{ content:none }
.quick-card.sk-yellow{ background:var(--sk-yellow) }
.quick-card.sk-pink{ background:var(--sk-pink) }
.quick-card.sk-blue{ background:#cfe0ee }
.quick-card.sk-green{ background:#d8e5d2 }

/* ————— FICHE RESTO ————— */
.resto-head h1{ font-size:clamp(34px, 4.6vw, 58px); line-height:.98; letter-spacing:-.035em; max-width:14ch }
.resto-desc{ background:transparent; border:0; padding:0; max-width:52ch; color:var(--c-muted) }
.resto-head .addr{ font-family:'Caveat', cursive; font-size:1.15rem; text-transform:lowercase }
.resto-meta{ align-items:center; gap:22px }
.resto-meta .rating strong{ font-family:'Bricolage Grotesque', sans-serif; font-weight:800; font-size:1.5rem }
.resto-meta .rating, .resto-meta .views, .resto-meta .muted{ font-family:'Caveat', cursive; font-size:1.1rem }
.kidscore{ width:112px; height:112px }
.kidscore .score-num{ font-size:2.35rem }
.kidscore .score-label{ font-size:.5rem; letter-spacing:.16em }

/* photo de couverture en polaroïd */
.resto-cover-wrap{ position:relative; padding-top:10px }
.resto-cover{
  border:0; border-radius:0; outline:10px solid #fff; outline-offset:0;
  box-shadow:0 14px 32px rgba(60,45,15,.24);
}
.resto-cover-wrap::before{               /* washi tape */
  content:""; position:absolute; top:-2px; left:50%; margin-left:-42px;
  width:84px; height:21px; background:var(--c-primary); opacity:.7; z-index:2;
}

/* critères en étiquettes-pastilles */
.criteria-grid{ display:flex; flex-wrap:wrap; gap:10px }
.criterion{
  display:inline-flex; align-items:center; gap:8px; width:auto;
  padding:7px 8px 7px 14px; border-radius:999px;
  border:1.5px solid rgba(42,36,24,.5);
  box-shadow:0 3px 9px rgba(60,45,15,.12);
}
.criterion .ico{ font-size:1rem }
.criterion .name{ font-weight:600; font-size:.92rem }
.criterion.confirmed{ background:var(--sk-green); border-color:var(--sk-ink) }
.criterion.confirmed .name{ color:#fff }
.criterion.confirmed .name::before{ content:"✓ "; font-weight:700 }
.criterion.confirmed .ico{ filter:grayscale(0) }
.criterion.disputed{ background:var(--sk-yellow); border-color:var(--sk-ink) }
.criterion.removed{ background:var(--sk-pink); border-color:var(--sk-ink) }
.criterion.removed .name{ text-decoration:line-through; opacity:.75 }
.criterion .badge{
  background:rgba(255,255,255,.78); border:0; border-radius:5px;
  font-size:.62rem; font-weight:700; color:var(--sk-ink); padding:2px 6px;
}
.criterion .vote{
  display:inline-flex; gap:4px;
  grid-column:auto; justify-self:auto; margin-top:0;
}
.criterion .vote-btn{
  background:rgba(255,255,255,.85); border:1px solid rgba(42,36,24,.35);
  border-radius:5px; font-size:.66rem; padding:3px 6px;
}

.criterion.declared{ background:#fdf2d4; border-color:var(--sk-rule); border-style:dashed }
.criterion.declared .name::before{ content:"◻ " }

/* ————— PAGES SEO (départements, ville × équipement, top 10) ————— */
.seo-intro{ max-width:70ch; margin:0 0 22px }
.seo-intro .lead{ font-size:1.08rem; line-height:1.6; color:var(--c-muted) }
.seo-intro p{ line-height:1.6; color:var(--c-muted) }
.seo-intro strong{ color:var(--sk-ink) }
.seo-links{ margin:34px 0 0 }
.seo-links h2{
  font-family:var(--sk-script); font-style:italic; font-weight:600;
  font-size:1.45rem; letter-spacing:0; margin:0 0 14px;
}
.seo-link-grid{ display:flex; flex-wrap:wrap; gap:10px }
.seo-link-grid .quick-card{ font-size:.95rem }
.seo-faq{ margin:38px 0 0; max-width:75ch }
.seo-faq h2{
  font-family:var(--sk-script); font-style:italic; font-weight:600;
  font-size:1.45rem; letter-spacing:0; margin:0 0 14px;
}
.seo-faq details{
  background:var(--sk-paper); border:1.5px solid rgba(42,36,24,.4);
  border-radius:10px; padding:12px 16px; margin-bottom:9px;
}
.seo-faq summary{
  cursor:pointer; font-weight:600; font-size:.98rem; color:var(--sk-ink);
  list-style:none;
}
.seo-faq summary::-webkit-details-marker{ display:none }
.seo-faq summary::before{ content:"› "; color:var(--c-primary); font-weight:700 }
.seo-faq details[open] summary::before{ content:"⌄ " }
.seo-faq details > div{ margin-top:10px; color:var(--c-muted); line-height:1.6 }
.seo-faq details p{ margin:0 0 8px }

/* ————— PAGE RESTAURATEUR (/mon-resto/…) ————— */
.owner-hero{ padding:44px 0 24px }
.owner-hero h1{ font-size:clamp(30px,4vw,52px); letter-spacing:-.035em; margin:.2em 0 .4em }
.owner-hero .lead{ max-width:62ch; font-size:1.05rem; line-height:1.6; color:var(--c-muted) }
.owner-stats{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px;
  margin-top:26px; padding:20px 0;
  border-top:1px solid var(--sk-rule); border-bottom:1px solid var(--sk-rule);
}
.owner-stats .big{
  display:block; font-family:'Bricolage Grotesque',sans-serif; font-weight:800;
  font-size:2.3rem; line-height:1; letter-spacing:-.035em; color:var(--sk-ink);
}
.owner-stats .lbl{ font-family:'Caveat',cursive; font-size:1.1rem; color:var(--c-muted) }
.owner-why{ padding:8px 0 0 }
.owner-form h2{
  font-family:var(--sk-script); font-style:italic; font-weight:600;
  font-size:1.5rem; letter-spacing:0; margin:8px 0 4px;
}
.owner-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px }
.owner-grid label{ display:flex; align-items:flex-start; gap:8px; padding:4px 0; font-weight:400 }
.owner-grid input[type=checkbox]{ margin-top:4px; width:18px; height:18px; accent-color:var(--sk-green) }
.owner-contact{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px }
.owner-submit{ margin-top:8px }
.owner-submit .btn-primary{ font-size:.95rem; padding:14px 26px }
.owner-submit p{ margin-top:10px; max-width:60ch }
.owner-upsell{
  margin-top:34px; padding:24px 26px;
  background:var(--sk-cream); border:2px solid var(--sk-ink); border-radius:14px;
}
.owner-upsell h2{
  font-family:var(--sk-script); font-style:italic; font-weight:600;
  font-size:1.5rem; letter-spacing:0; margin:0 0 6px;
}
.owner-tips{ list-style:none; padding:0; margin:16px 0; display:grid; gap:9px }
.owner-tips li{
  background:#fff; border:1.5px solid rgba(42,36,24,.35); border-radius:9px;
  padding:9px 13px; font-size:.94rem;
}
.owner-tips .ico{ margin-right:6px }

/* ————— POST-ITS ————— */
.postit-row{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px; margin:30px 0;
}
.postit{ padding:22px 24px 24px; border:0; box-shadow:0 10px 22px rgba(60,45,15,.18) }
.postit.yellow{ background:var(--sk-yellow) }
.postit.pink{ background:var(--sk-pink) }
.postit.blue{ background:#cfe0ee }
.postit .kicker{
  margin:0 0 8px; font-family:'Caveat', cursive; font-weight:600;
  font-size:1.25rem; color:rgba(42,36,24,.75);
}
.postit blockquote{
  margin:0; font-family:'Caveat', cursive; font-weight:500;
  font-size:1.45rem; line-height:1.28; color:var(--sk-ink);
}
.postit .sig{ margin-top:14px; font-family:'Caveat', cursive; font-size:1.1rem; color:rgba(42,36,24,.65) }
.postit h3{
  margin:0 0 14px; font-family:'Bricolage Grotesque', sans-serif; font-weight:800;
  font-size:1.35rem; letter-spacing:-.02em; line-height:1.15;
}
.postit .btn-primary{ background:var(--sk-ink); box-shadow:none; border-radius:6px }
.postit .btn-primary:hover{ background:#000; transform:none }

/* ————— RESPONSIVE ————— */
@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; gap:26px }
  .polaroid-stack{ grid-template-columns:repeat(3,1fr); min-height:0 }
  .polaroid:nth-child(1), .polaroid:nth-child(2), .polaroid:nth-child(3){
    grid-column:auto; grid-row:auto; margin-top:0;
  }
  .stamp-hero{ display:none }
  .hero h1, .hero .search-bar{ max-width:none }
}
@media (max-width:640px){
  .polaroid-stack{ grid-template-columns:repeat(2,1fr) }
  .polaroid:nth-child(3){ display:none }
  .trust-grid .big{ font-size:1.9rem }
  .site-header nav a.nav-pill{ font-size:.82rem; padding:6px 11px }
}
@media (prefers-reduced-motion:reduce){
  .card, .result, .quick-card, .polaroid, .blog-card, .guide-card{ transition:none }
  .card:hover, .result:hover, .quick-card:hover, .polaroid:hover{ transform:none }
}
