/* ============================================================
   PAGE-PROFIEL.CSS — Bedrijfsprofiel "Ontwerp 2C" (Linnen gids)
   Uitgelichte AI-reviewsamenvatting + full-width gestapelde reviews.
   Verbruikt uitsluitend variabelen uit tokens.css.
   ============================================================ */

/* Full-bleed hero */
.hero{position:relative;min-height:440px;display:flex;align-items:flex-end;overflow:hidden;}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% var(--hero-y,50%);}

/* --- Admin sleep-modus: hero verticaal herpositioneren (alleen zichtbaar voor beheerder-IP) --- */
.hero.is-hero-editable{cursor:grab;}
.hero.is-hero-editable.is-hero-dragging{cursor:grabbing;user-select:none;}
.hero.is-hero-editable.is-hero-dragging .hero-img{transition:none;}
.hero-edit-badge{position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:7px;
  padding:8px 12px;border:1px solid rgba(255,255,255,.55);border-radius:4px;
  background:rgba(20,28,23,.72);color:#fff;font-size:14px;font-weight:600;line-height:1;
  pointer-events:none;}
.hero-edit-badge svg{flex:0 0 auto;}
.hero-edit-badge .hero-edit-state{font-weight:500;opacity:.85;}
.hero.is-hero-dragging .hero-edit-badge{border-color:var(--gold);}
.hero-edit-badge.is-saved{border-color:#7fce9b;}
.hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,28,23,.92) 0%,rgba(20,28,23,.55) 40%,rgba(20,28,23,.2) 100%);}
.hero-inner{position:relative;z-index:2;color:#fff;padding:48px 0 40px;width:100%;}
.hero-crumb{font-size:0.85rem;color:#cdd7cd;display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:18px;}
.hero-crumb a{color:#cdd7cd;text-decoration:none;}
.hero-crumb a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.hero-crumb .sep{color:var(--gold);}
.hero-eyebrow{font-size:0.8rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-soft);}
.hero h1{font-family:var(--font-display);font-weight:500;letter-spacing:var(--display-1-tracking);font-size:var(--display-1);line-height:var(--display-1-leading);margin:12px 0 16px;color:#fff;}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-size:1rem;color:#e6ece5;}
.hero-meta .item{display:inline-flex;align-items:center;gap:8px;}
.hero-rating{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:#fff;}
.hero-rating .stars{color:var(--gold-soft);letter-spacing:1px;}
.hero-rating .reviews-count{color:#cdd7cd;font-weight:500;}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:0.85rem;font-weight:600;padding:5px 12px;border-radius:var(--radius-pill);background:rgba(255,255,255,.14);color:#fff;}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:#8fe0ac;}

.layout{display:grid;grid-template-columns:1fr 360px;gap:36px;align-items:start;}
.main-col{padding:42px 0 0;min-width:0;}
.aside-col{margin-top:-62px;position:relative;z-index:5;}
@media (max-width:980px){.layout{grid-template-columns:minmax(0,1fr);}.aside-col{margin-top:24px;}}

.block{margin-bottom:40px;}
.block-label{font-size:0.78rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.block p{color:var(--ink-soft);font-size:1.05rem;margin-bottom:16px;}
.block p.lead{color:var(--ink);font-weight:600;font-size:1.12rem;}
.closing{font-style:italic;font-family:var(--font-display);font-size:1.1rem;color:var(--cta);border-left:3px solid var(--gold);padding:8px 0 8px 20px;}

.fac-tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;}
.fac-tag{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--card);border-radius:var(--radius-pill);padding:10px 18px;font-size:0.98rem;font-weight:500;}
.fac-tag .c{color:var(--cta);font-weight:700;}
.fac-tag.off{color:#9aa294;background:var(--paper-deep);}
.fac-tag.off .c{color:#b3b9ac;}

/* Extra informatie als checklist-paneel */
.extra-panel{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:8px 24px;list-style:none;}
.extra-line{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
.extra-line:last-child{border-bottom:none;}
.extra-line .chk{width:26px;height:26px;border-radius:50%;flex:0 0 auto;background:#eef5f0;color:var(--cta);display:grid;place-items:center;font-weight:700;}
.extra-line .t{font-weight:600;font-size:1.02rem;}
.extra-line .d{color:var(--ink-soft);font-size:0.92rem;}

.keur-row{display:flex;flex-wrap:wrap;gap:14px;list-style:none;}
.keur-chip{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;background:var(--card);font-weight:600;}
.keur-chip .ic{width:40px;height:40px;border-radius:8px;background:#eef5f0;color:var(--cta);display:grid;place-items:center;}

/* Reviews-kop */
.rev-head{display:flex;align-items:center;gap:16px;margin-bottom:20px;}
.rev-big{font-family:var(--font-display);font-size:2.6rem;font-weight:600;color:var(--cta);line-height:1;}
.rev-head .stars{color:var(--gold);letter-spacing:2px;font-size:1.05rem;}
.rev-head .count{display:block;color:var(--ink-soft);font-size:0.92rem;margin-top:2px;}

/* Uitgelichte AI-samenvatting (stijl van feature-quote) */
.ai-feature{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 34px 26px;margin-bottom:26px;position:relative;}
.ai-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.ai-mark{width:42px;height:42px;border-radius:11px;flex:0 0 auto;background:var(--cta);color:#fff;display:grid;place-items:center;}
.ai-title{font-family:var(--font-display);font-size:1.22rem;font-weight:500;line-height:1.2;}
.ai-badge{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);background:var(--gold-soft);border:1px solid #dcc99b;border-radius:var(--radius-pill);padding:5px 11px;}
.ai-lead{font-family:var(--font-display);font-style:italic;font-size:1.32rem;line-height:1.42;color:var(--ink);margin-bottom:14px;}
.ai-body{color:#33402f;font-size:1.04rem;line-height:1.6;margin-bottom:16px;}
.ai-themes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;list-style:none;}
.ai-theme{display:inline-flex;align-items:center;gap:7px;font-size:0.9rem;font-weight:600;color:var(--cta);background:#eef5f0;border:1px solid #bcd3c4;border-radius:var(--radius-pill);padding:7px 14px;}
.ai-theme svg{flex:0 0 auto;}
.ai-foot{display:flex;align-items:flex-start;gap:9px;font-size:0.85rem;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:14px;}
.ai-foot svg{flex:0 0 auto;margin-top:2px;color:var(--gold);}

/* Individuele reviews FULL WIDTH, gestapeld */
.rev-stack{display:flex;flex-direction:column;gap:16px;}
.rev-full{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:22px 26px;}
.rev-top{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.rev-av{width:44px;height:44px;border-radius:50%;flex:0 0 auto;background:var(--cta);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:1.1rem;}
.rev-name{font-weight:600;font-style:normal;}
.rev-time{font-size:0.85rem;color:var(--ink-soft);}
.rev-stars{margin-left:auto;color:var(--gold);letter-spacing:1px;}
.rev-full p{color:#33402f;font-size:1.02rem;line-height:1.65;margin:0;}
.rev-all{display:inline-block;margin-top:20px;font-weight:600;color:var(--cta);text-underline-offset:4px;}

.map-box{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:320px;background:var(--paper-deep);display:grid;place-items:center;color:var(--ink-soft);text-align:center;padding:20px;position:relative;}
.map-box::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 22px,rgba(176,141,63,.05) 22px,rgba(176,141,63,.05) 44px);}
.map-box span{position:relative;z-index:1;}

/* Andere uitvaartbedrijven — full-bleed band boven de CTA-slot */
.nearby-band{background:var(--paper-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:48px;padding:56px 0 64px;}
.nearby-band + .slot{margin-top:0;border-top:none;}
.nearby-title{font-size:0.78rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;}
.nearby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:24px;list-style:none;}
@media (max-width:760px){.nearby-grid{grid-template-columns:1fr;}}
.nearby-grid li{display:flex;min-width:0;}
.nb-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;width:100%;height:100%;transition:box-shadow .18s ease,transform .18s ease;}
.nb-card:hover{box-shadow:0 16px 36px -18px rgba(36,48,41,.3);transform:translateY(-3px);}
.nb-img{aspect-ratio:16/10;overflow:hidden;background:var(--paper-deep);}
.nb-img img{width:100%;height:100%;object-fit:cover;}
.nb-body{padding:16px 18px 18px;}
.nb-cat{font-size:0.74rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);}
.nb-name{font-family:var(--font-display);font-size:1.12rem;font-weight:500;margin:6px 0 6px;line-height:1.25;}
.nb-meta{font-size:0.9rem;color:var(--ink-soft);display:flex;align-items:center;gap:6px;}
.nb-meta .star{color:var(--gold);}
.nb-meta .dot{color:var(--line);}

.disclaimer{font-size:0.86rem;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;}

/* Floating contact card */
.contact-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 26px 24px;box-shadow:0 1px 2px rgba(36,48,41,.05),0 18px 44px -20px rgba(36,48,41,.3);position:sticky;top:96px;}
.cc-rating{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px;}
.cc-big{font-family:var(--font-display);font-size:2.8rem;font-weight:600;color:var(--cta);line-height:1;}
.cc-rating .stars{color:var(--gold);letter-spacing:2px;}
.cc-rating .count{display:block;color:var(--ink-soft);font-size:0.9rem;margin-top:3px;}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;cursor:pointer;font-weight:700;font-size:1.05rem;border-radius:var(--radius);padding:16px 22px;width:100%;border:2px solid transparent;}
.btn-primary{background:var(--cta);color:#fff;border-color:var(--cta);}
.btn-primary:hover{background:var(--cta-hover);border-color:var(--cta-hover);}
.btn-primary:active{transform:translateY(1px);}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.cc-stack{display:flex;flex-direction:column;gap:12px;}
/* Beide CTA-knoppen exact even hoog (legacy app.css dwingt .phone-cta-btn op 48px) */
.cc-stack .btn{height:56px;padding-top:0;padding-bottom:0;}
.claim-link{display:block;text-align:center;font-size:0.92rem;color:var(--ink-soft);text-decoration:none;}
.claim-link:hover{color:var(--cta);text-decoration:underline;text-underline-offset:3px;}
.cc-divider{height:1px;background:var(--line);margin:20px 0;}
.cc-label{font-size:0.76rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
address.cc-address{font-style:normal;color:var(--ink-soft);line-height:1.7;font-size:0.98rem;}
.hours{list-style:none;}
.hours-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:0.94rem;}
.hours-row:last-child{border-bottom:none;}
.hours-row.today{font-weight:700;color:var(--ink);}
.hours-row .open{color:var(--cta);}

.slot{text-align:center;padding:70px 0;border-top:1px solid var(--line);margin-top:36px;}
.slot h2{font-family:var(--font-display);font-weight:500;font-size:var(--display-2);letter-spacing:var(--heading-tracking);margin-bottom:14px;}
.slot p{color:var(--ink-soft);max-width:560px;margin:0 auto 28px;}
.slot-acties{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.slot-acties .btn{width:auto;}

/* ---- Productie-aanvulling: echte kaart in de map-box ---- */
.map-box--live{padding:0;}
.map-box--live::after{display:none;}
.map-box--live iframe{width:100%;height:100%;border:0;display:block;}

/* ============================================================
   MOBIELE CORRECTIES (telefoons t/m 640px)
   - Breadcrumbs van de foto af: verborgen in de hero en als
     losse regel onder de foto, vlak boven "Over dit bedrijf".
   - Hero-kop schaalt mee zodat lange bedrijfsnamen niet door
     de rechterrand lopen.
   - AI-reviewsamenvatting breekt netjes af (geen horizontale
     overflow meer). Het raster kan nu tot 0 krimpen (minmax).
   ============================================================ */

/* Mobiele breadcrumb — standaard verborgen, alleen op smalle schermen zichtbaar */
.crumb-mobile{display:none;flex-wrap:wrap;gap:7px;align-items:center;
  font-size:0.84rem;color:var(--ink-soft);margin:0 0 20px;}
.crumb-mobile a{color:var(--ink-soft);text-decoration:none;}
.crumb-mobile a:hover{color:var(--cta);text-decoration:underline;text-underline-offset:3px;}
.crumb-mobile .sep{color:var(--gold);}
.crumb-mobile [aria-current="page"]{color:var(--ink);font-weight:600;}

@media (max-width:640px){
  /* Breadcrumbs onder de foto i.p.v. eroverheen, links uitgelijnd met de body */
  .hero-crumb{display:none;}
  .crumb-mobile{display:flex;}
  nav.crumb-mobile{padding-left:0;}   /* overschrijft legacy nav[aria-label]{padding-left:20px} */
  .main-col{padding-top:22px;}

  /* Hero-content links uitlijnen met "Over dit bedrijf":
     legacy app.css geeft .hero op mobiel 20px zij-padding, waardoor de
     tekst 20px verder naar rechts stond dan de body. Hier weggehaald. */
  .hero{min-height:340px;padding-left:0;padding-right:0;}
  .hero-inner{padding:34px 0 30px;}
  .hero h1{font-size:clamp(1.55rem,6.4vw,2.1rem);overflow-wrap:anywhere;}

  /* AI-reviewsamenvatting: compacter en zonder overflow */
  .ai-feature{padding:22px 20px 20px;}
  .ai-head{flex-wrap:wrap;}
  .ai-badge{margin-left:0;}
  .ai-title{min-width:0;overflow-wrap:anywhere;}
}

/* ---- Sticky mobiele belbalk (verschijnt bij scrollen, alleen op telefoons) ---- */
.mobile-cta{display:none;}
@media (max-width:640px){
  .mobile-cta{
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    display:flex;gap:8px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
    background:var(--card);
    border-top:1px solid var(--line);
    box-shadow:0 -10px 28px -14px rgba(36,48,41,.4);
    transform:translateY(160%);
    transition:transform .28s ease;
  }
  .mobile-cta.is-visible{transform:translateY(0);}
  /* Beide knoppen exact even breed (flex:1) en even hoog (align-items:stretch) */
  .mobile-cta{align-items:stretch;}
  .mobile-cta .btn{flex:1 1 0;width:auto;min-width:0;min-height:52px;padding:12px 8px;
    font-size:0.96rem;line-height:1.2;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .mobile-cta .btn svg{flex:0 0 auto;}
}
