/* ============================================================ Shared page styles */

.mapyr-page .eyebrow { display:inline-block; font-size:var(--mapyr-fs-xs); font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--mapyr-primary); margin-bottom:var(--mapyr-sp-3); }
.mapyr-page .page-section-head { max-width:740px; margin:0 auto var(--mapyr-sp-7); text-align:center; }
.mapyr-page .page-section-head h2 { font-size:var(--mapyr-fs-3xl); margin:0 0 var(--mapyr-sp-3); }
.mapyr-page .page-section-head p { font-size:var(--mapyr-fs-md); color:var(--mapyr-ink-soft); margin:0; }

/* Page hero */
.mapyr-page .page-hero { background:linear-gradient(180deg, var(--mapyr-primary-fade) 0%, var(--mapyr-paper) 100%); }
.mapyr-page .page-hero h1 { font-size:var(--mapyr-fs-4xl); line-height:var(--mapyr-lh-tight); margin:0 0 var(--mapyr-sp-4); max-width:22ch; }
.mapyr-page .page-hero__lede { font-size:var(--mapyr-fs-lg); color:var(--mapyr-ink-soft); margin:0 0 var(--mapyr-sp-6); max-width:60ch; }

/* Final CTA band shared */
.mapyr-page .page-final-cta__box { background:linear-gradient(135deg, var(--mapyr-primary) 0%, var(--mapyr-primary-dark) 100%); color:var(--mapyr-paper); padding:var(--mapyr-sp-8) var(--mapyr-sp-6); border-radius:var(--mapyr-radius-lg); text-align:center; }
.mapyr-page .page-final-cta__box h2 { color:var(--mapyr-paper); font-size:var(--mapyr-fs-3xl); margin:0 0 var(--mapyr-sp-3); }
.mapyr-page .page-final-cta__box p { color:rgba(255,255,255,0.85); margin:0 0 var(--mapyr-sp-5); }
.mapyr-page .page-final-cta__box .mapyr-btn--primary { background:var(--mapyr-paper); color:var(--mapyr-primary); }
.mapyr-page .page-final-cta__box .mapyr-btn--primary:hover { background:var(--mapyr-accent); color:var(--mapyr-ink); }

/* ============================================================ For Retailers */
.mapyr-page--retailers .page-benefits__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:var(--mapyr-sp-5); }
.mapyr-page--retailers .benefit-card { padding:var(--mapyr-sp-5); background:var(--mapyr-paper); border:1px solid var(--mapyr-line); border-radius:var(--mapyr-radius-md); position:relative; }
.mapyr-page--retailers .benefit-card__n { display:block; font-family:var(--mapyr-font-head); font-size:var(--mapyr-fs-md); font-weight:800; color:var(--mapyr-accent); margin-bottom:var(--mapyr-sp-2); }
.mapyr-page--retailers .benefit-card h3 { font-size:var(--mapyr-fs-lg); margin:0 0 var(--mapyr-sp-2); }
.mapyr-page--retailers .benefit-card p { font-size:var(--mapyr-fs-sm); color:var(--mapyr-ink-soft); margin:0; line-height:var(--mapyr-lh-loose); }

/* Steps shared (retailers + horeca) */
.mapyr-page .page-steps { background:var(--mapyr-paper-soft); }
.mapyr-page .page-steps__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:var(--mapyr-sp-5); }
.mapyr-page .step-card { padding:var(--mapyr-sp-6); background:var(--mapyr-paper); border-radius:var(--mapyr-radius-md); border-top:3px solid var(--mapyr-primary); }
.mapyr-page .step-card__n { display:block; font-family:var(--mapyr-font-head); font-size:var(--mapyr-fs-2xl); font-weight:800; color:var(--mapyr-primary); margin-bottom:var(--mapyr-sp-2); }
.mapyr-page .step-card h3 { font-size:var(--mapyr-fs-lg); margin:0 0 var(--mapyr-sp-2); }
.mapyr-page .step-card p { font-size:var(--mapyr-fs-sm); color:var(--mapyr-ink-soft); margin:0; line-height:var(--mapyr-lh-loose); }

/* Cases (retailers) */
.mapyr-page--retailers .page-cases__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:var(--mapyr-sp-5); }
.mapyr-page--retailers .case-card { background:var(--mapyr-paper); border:1px solid var(--mapyr-line); border-radius:var(--mapyr-radius-md); overflow:hidden; }
.mapyr-page--retailers .case-card__media { aspect-ratio:16/9; background:var(--mapyr-paper-mute); }
.mapyr-page--retailers .case-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.mapyr-page--retailers .case-card__body { padding:var(--mapyr-sp-5); }
.mapyr-page--retailers .case-card__metric { font-family:var(--mapyr-font-head); font-size:var(--mapyr-fs-xl); font-weight:800; color:var(--mapyr-primary); margin:0 0 var(--mapyr-sp-2); }
.mapyr-page--retailers .case-card h3 { font-size:var(--mapyr-fs-md); margin:0 0 var(--mapyr-sp-2); }
.mapyr-page--retailers .case-card p { font-size:var(--mapyr-fs-sm); color:var(--mapyr-ink-soft); margin:0; }

/* ============================================================ HORECA */
.mapyr-page--horeca .page-tiles__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:var(--mapyr-sp-5); }
.mapyr-page--horeca .tile-card { padding:var(--mapyr-sp-5); background:var(--mapyr-paper); border:1px solid var(--mapyr-line); border-radius:var(--mapyr-radius-md); border-left:4px solid var(--mapyr-accent); }
.mapyr-page--horeca .tile-card h3 { font-size:var(--mapyr-fs-lg); margin:0 0 var(--mapyr-sp-2); }
.mapyr-page--horeca .tile-card p { font-size:var(--mapyr-fs-sm); color:var(--mapyr-ink-soft); margin:0; line-height:var(--mapyr-lh-loose); }

/* ============================================================ About */
.mapyr-page--about .page-story__inner { max-width:72ch; margin-inline:auto; }
.mapyr-page--about .page-story h2 { font-size:var(--mapyr-fs-3xl); margin:0 0 var(--mapyr-sp-5); }
.mapyr-page--about .page-story p { font-size:var(--mapyr-fs-md); color:var(--mapyr-ink-soft); line-height:var(--mapyr-lh-loose); margin:0 0 var(--mapyr-sp-4); }
.mapyr-page--about .page-story em { color:var(--mapyr-ink); font-style:italic; font-weight:600; }
.mapyr-page--about .page-values { background:var(--mapyr-paper-soft); }
.mapyr-page--about .page-values__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:var(--mapyr-sp-5); }
.mapyr-page--about .value-card { padding:var(--mapyr-sp-5); background:var(--mapyr-paper); border-radius:var(--mapyr-radius-md); border-top:3px solid var(--mapyr-accent); }
.mapyr-page--about .value-card h3 { font-size:var(--mapyr-fs-md); margin:0 0 var(--mapyr-sp-2); color:var(--mapyr-primary); }
.mapyr-page--about .value-card p { font-size:var(--mapyr-fs-sm); color:var(--mapyr-ink-soft); margin:0; }
.mapyr-page--about .page-timeline__list { list-style:none; padding:0; margin:0; display:grid; gap:var(--mapyr-sp-5); max-width:720px; margin-inline:auto; }
.mapyr-page--about .page-timeline__list li { display:grid; grid-template-columns:80px 1fr; gap:var(--mapyr-sp-5); padding:var(--mapyr-sp-4) 0; border-bottom:1px solid var(--mapyr-line); }
.mapyr-page--about .page-timeline__year { font-family:var(--mapyr-font-head); font-size:var(--mapyr-fs-xl); font-weight:800; color:var(--mapyr-primary); }
.mapyr-page--about .page-timeline__list p { margin:0; font-size:var(--mapyr-fs-md); color:var(--mapyr-ink-soft); line-height:var(--mapyr-lh-snug); }
.mapyr-page--about .page-team__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:var(--mapyr-sp-5); }
.mapyr-page--about .team-card { padding:var(--mapyr-sp-5); background:var(--mapyr-paper); border:1px solid var(--mapyr-line); border-radius:var(--mapyr-radius-md); text-align:center; }
.mapyr-page--about .team-card__photo { width:96px; height:96px; border-radius:50%; object-fit:cover; margin-bottom:var(--mapyr-sp-3); }
.mapyr-page--about .team-card__placeholder { display:inline-flex; align-items:center; justify-content:center; width:96px; height:96px; border-radius:50%; background:var(--mapyr-paper-mute); font-family:var(--mapyr-font-head); font-size:var(--mapyr-fs-2xl); font-weight:800; color:var(--mapyr-ink-mute); margin-bottom:var(--mapyr-sp-3); }
.mapyr-page--about .team-card h3 { font-size:var(--mapyr-fs-md); margin:0 0 var(--mapyr-sp-1); }
.mapyr-page--about .team-card__role { font-size:var(--mapyr-fs-sm); color:var(--mapyr-ink-soft); margin:0 0 var(--mapyr-sp-3); }
.mapyr-page--about .team-card__link { font-size:var(--mapyr-fs-xs); color:var(--mapyr-primary); font-weight:600; }

/* ============================================================ Contact */
.mapyr-page--contact .page-departments__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:var(--mapyr-sp-4); }
.mapyr-page--contact .dept-card { padding:var(--mapyr-sp-5); background:var(--mapyr-paper); border:1px solid var(--mapyr-line); border-radius:var(--mapyr-radius-md); }
.mapyr-page--contact .dept-card h3 { font-size:var(--mapyr-fs-md); margin:0 0 var(--mapyr-sp-2); }
.mapyr-page--contact .dept-card p { font-size:var(--mapyr-fs-sm); color:var(--mapyr-ink-soft); margin:0 0 var(--mapyr-sp-2); }
.mapyr-page--contact .dept-card__email { font-size:var(--mapyr-fs-sm); font-weight:600; color:var(--mapyr-primary); }
.mapyr-page--contact .page-office__grid { display:grid; gap:var(--mapyr-sp-6); }
@media (min-width: 800px) { .mapyr-page--contact .page-office__grid { grid-template-columns:1fr 1fr; } }
.mapyr-page--contact .page-office__address { font-style:normal; font-size:var(--mapyr-fs-md); line-height:var(--mapyr-lh-loose); }
.mapyr-page--contact .page-office__map-placeholder { aspect-ratio:4/3; background:var(--mapyr-paper-mute); border-radius:var(--mapyr-radius-md); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--mapyr-sp-3); color:var(--mapyr-ink-mute); }

/* ============================================================ B2B Inquiry */
.mapyr-page--inquiry .inquiry-tabs { display:flex; gap:var(--mapyr-sp-2); flex-wrap:wrap; justify-content:center; margin-bottom:var(--mapyr-sp-6); padding:var(--mapyr-sp-2); background:var(--mapyr-paper-mute); border-radius:var(--mapyr-radius-pill); width:fit-content; margin-inline:auto; }
.mapyr-page--inquiry .inquiry-tabs__btn { padding:10px 22px; border-radius:var(--mapyr-radius-pill); border:0; background:transparent; font-family:var(--mapyr-font-head); font-weight:600; font-size:var(--mapyr-fs-sm); color:var(--mapyr-ink-soft); cursor:pointer; transition:background var(--mapyr-motion-base), color var(--mapyr-motion-base); }
.mapyr-page--inquiry .inquiry-tabs__btn.is-active { background:var(--mapyr-primary); color:var(--mapyr-paper); }
.mapyr-page--inquiry .inquiry-form { display:none; max-width:840px; margin-inline:auto; background:var(--mapyr-paper); border:1px solid var(--mapyr-line); border-radius:var(--mapyr-radius-md); padding:var(--mapyr-sp-6); }
.mapyr-page--inquiry .inquiry-form.is-active { display:block; }
.mapyr-page--inquiry .inquiry-form__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:var(--mapyr-sp-4); margin-bottom:var(--mapyr-sp-4); }
.mapyr-page--inquiry .field { display:flex; flex-direction:column; gap:var(--mapyr-sp-1); margin-bottom:var(--mapyr-sp-4); }
.mapyr-page--inquiry .field--full { grid-column:1 / -1; }
.mapyr-page--inquiry .field__label { font-size:var(--mapyr-fs-xs); font-weight:600; color:var(--mapyr-ink-soft); text-transform:uppercase; letter-spacing:0.05em; }
.mapyr-page--inquiry .field input[type="text"], .mapyr-page--inquiry .field input[type="email"], .mapyr-page--inquiry .field input[type="url"], .mapyr-page--inquiry .field input[type="tel"], .mapyr-page--inquiry .field select, .mapyr-page--inquiry .field textarea { padding:10px 14px; border:1px solid var(--mapyr-line-strong); border-radius:var(--mapyr-radius-sm); font:inherit; background:var(--mapyr-paper); color:var(--mapyr-ink); transition:border-color var(--mapyr-motion-base); }
.mapyr-page--inquiry .field input:focus, .mapyr-page--inquiry .field select:focus, .mapyr-page--inquiry .field textarea:focus { outline:none; border-color:var(--mapyr-primary); }
.mapyr-page--inquiry .req { color:var(--mapyr-error); margin-left:2px; }
.mapyr-page--inquiry .field__chips { display:flex; flex-wrap:wrap; gap:var(--mapyr-sp-2); }
.mapyr-page--inquiry .field__chips .chip { display:inline-flex; align-items:center; gap:var(--mapyr-sp-2); padding:6px 12px; background:var(--mapyr-paper-mute); border-radius:var(--mapyr-radius-pill); font-size:var(--mapyr-fs-xs); cursor:pointer; }
.mapyr-page--inquiry .field__chips .chip input { accent-color:var(--mapyr-primary); }
.mapyr-page--inquiry .field--consent { flex-direction:row; align-items:flex-start; gap:var(--mapyr-sp-2); }
.mapyr-page--inquiry .field--consent input { margin-top:4px; }
.mapyr-page--inquiry .field--consent a { color:var(--mapyr-primary); }
.mapyr-page--inquiry .inquiry-form__turnstile { min-height:65px; display:flex; align-items:center; justify-content:center; background:var(--mapyr-paper-mute); border-radius:var(--mapyr-radius-sm); color:var(--mapyr-ink-mute); font-size:var(--mapyr-fs-xs); }
.mapyr-page--inquiry .inquiry-form__turnstile:empty::after { content:'Cloudflare Turnstile widget mounts here (Day 0 site keys pending)'; }
.mapyr-page--inquiry .inquiry-form__actions { display:flex; flex-direction:column; gap:var(--mapyr-sp-2); align-items:flex-start; }
.mapyr-page--inquiry .inquiry-form__legal { font-size:var(--mapyr-fs-xs); color:var(--mapyr-ink-mute); margin:0; }

/* ============================================================ Careers */
.mapyr-page--careers .page-reasons__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:var(--mapyr-sp-5); }
.mapyr-page--careers .reason-card { padding:var(--mapyr-sp-5); background:var(--mapyr-paper); border:1px solid var(--mapyr-line); border-radius:var(--mapyr-radius-md); }
.mapyr-page--careers .reason-card h3 { font-size:var(--mapyr-fs-md); margin:0 0 var(--mapyr-sp-2); color:var(--mapyr-primary); }
.mapyr-page--careers .reason-card p { font-size:var(--mapyr-fs-sm); color:var(--mapyr-ink-soft); margin:0; }
.mapyr-page--careers .page-roles__list { display:grid; gap:var(--mapyr-sp-3); max-width:840px; margin-inline:auto; }
.mapyr-page--careers .role-card { display:grid; grid-template-columns:1fr auto auto; gap:var(--mapyr-sp-5); align-items:center; padding:var(--mapyr-sp-5); background:var(--mapyr-paper); border:1px solid var(--mapyr-line); border-radius:var(--mapyr-radius-md); text-decoration:none; color:var(--mapyr-ink); transition:border-color var(--mapyr-motion-base), transform var(--mapyr-motion-base); }
.mapyr-page--careers .role-card:hover { border-color:var(--mapyr-primary); transform:translateX(4px); }
.mapyr-page--careers .role-card__head h3 { font-size:var(--mapyr-fs-md); margin:0 0 var(--mapyr-sp-1); }
.mapyr-page--careers .role-card__dept { font-size:var(--mapyr-fs-xs); color:var(--mapyr-primary); font-weight:600; }
.mapyr-page--careers .role-card__meta { display:flex; gap:var(--mapyr-sp-3); font-size:var(--mapyr-fs-xs); color:var(--mapyr-ink-mute); }
.mapyr-page--careers .role-card__arrow { color:var(--mapyr-ink-mute); }
.mapyr-page--careers .page-roles__empty { text-align:center; padding:var(--mapyr-sp-7); color:var(--mapyr-ink-soft); }

/* ============================================================ Legal */
.mapyr-page--legal .page-legal-body__inner { max-width:76ch; margin-inline:auto; }
.mapyr-page--legal .page-legal-body__inner h2 { font-size:var(--mapyr-fs-xl); margin:var(--mapyr-sp-6) 0 var(--mapyr-sp-3); }
.mapyr-page--legal .page-legal-body__inner p { font-size:var(--mapyr-fs-md); color:var(--mapyr-ink-soft); line-height:var(--mapyr-lh-loose); margin:0 0 var(--mapyr-sp-4); }
.mapyr-page--legal .page-legal-body__placeholder { padding:var(--mapyr-sp-7); text-align:center; color:var(--mapyr-ink-mute); background:var(--mapyr-paper-soft); border-radius:var(--mapyr-radius-md); }
