/* OIB Mobile V41 — wyrównanie i jaśniejszy hero na telefonie */
@media (max-width: 760px) {
  html, body { max-width:100%; overflow-x:clip !important; }
  body { background:#f6f4f1; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
  img, svg, video, canvas, iframe { max-width:100%; height:auto; }
  .container { width:calc(100% - 32px) !important; max-width:none !important; margin-inline:auto !important; }

  .site-header { background:rgba(247,245,242,.96) !important; border-bottom:1px solid rgba(23,25,27,.07) !important; box-shadow:0 8px 24px rgba(19,21,24,.05); backdrop-filter:blur(12px); }
  .site-header .nav-shell { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; min-height:72px !important; padding-block:10px !important; }
  .logo { min-width:0 !important; max-width:145px; display:flex !important; align-items:center !important; }
  .logo-mark { font-size:1.72rem !important; letter-spacing:-.07em; }
  .brand-logo-public { max-width:138px !important; max-height:44px !important; }
  .nav-actions { margin-left:auto !important; display:flex !important; align-items:center !important; gap:10px !important; }
  .nav-actions > .button { display:none !important; }
  .portal-nav-link { width:42px !important; min-width:42px !important; height:42px !important; min-height:42px !important; padding:5px !important; border-radius:14px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; box-shadow:0 8px 22px rgba(140,29,44,.16); }
  .portal-nav-icon { width:28px !important; height:28px !important; }
  .menu-button { width:42px !important; height:42px !important; flex-basis:42px !important; border-radius:14px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; background:#17191b !important; border:0 !important; box-shadow:0 8px 22px rgba(17,19,24,.18); }
  .menu-button span,.menu-button span::before,.menu-button span::after { background:#fff !important; }
  .main-nav { top:calc(100% + 8px) !important; left:16px !important; right:16px !important; padding:10px !important; border:0 !important; border-radius:18px !important; box-shadow:0 24px 70px rgba(20,22,24,.2) !important; }
  .main-nav a { border-radius:10px; border-bottom:0 !important; padding:13px 14px !important; }
  .main-nav a.active { background:#fff4f5; box-shadow:none !important; color:var(--red); }

  .hero { min-height:auto !important; padding:0 !important; border:0 !important; background:#f6f4f1 !important; }
  .hero::before { inset:0 !important; transform:none !important; animation:none !important; opacity:1 !important; background:
      linear-gradient(180deg, rgba(246,244,241,.90) 0%, rgba(246,244,241,.78) 32%, rgba(246,244,241,.88) 70%, rgba(246,244,241,.98) 100%),
      radial-gradient(circle at 88% 18%, rgba(140,29,44,.12), rgba(140,29,44,0) 34%),
      var(--oib-mobile-bg, var(--oib-hero-custom-bg)) right center / cover no-repeat,
      url('/assets/brand/hero-osiedle-blizniaki-oib.png') right center / cover no-repeat !important; }
  .hero::after { background:linear-gradient(180deg, rgba(255,255,255,.0), rgba(246,244,241,.10)) !important; }
  .hero .container { width:100% !important; padding-inline:20px; }
  .hero-content { max-width:none !important; padding:44px 0 38px !important; color:#17191b; }
  .hero .eyebrow { color:#7b2531 !important; font-size:.7rem !important; letter-spacing:.14em; margin-bottom:14px; }
  .hero .eyebrow::before { background:#b22a3d; }
  .hero h1 { color:#13161a !important; font-size:clamp(2.45rem,12vw,3.55rem) !important; line-height:.94 !important; letter-spacing:-.055em !important; text-wrap:balance; text-shadow:none !important; max-width:8ch; }
  .hero-text { color:#4f575d !important; font-size:1rem !important; line-height:1.58 !important; margin:18px 0 22px !important; max-width:28ch; }
  .hero-actions { display:grid !important; grid-template-columns:1fr !important; gap:12px !important; align-items:stretch !important; }
  .hero-actions .button { min-height:56px !important; border-radius:16px !important; box-shadow:0 14px 32px rgba(140,29,44,.16); justify-content:center !important; text-align:center !important; }
  .hero-actions .button.secondary { color:#17191b !important; border-color:rgba(23,25,27,.16) !important; background:rgba(255,255,255,.76) !important; backdrop-filter:blur(10px); box-shadow:0 10px 30px rgba(20,22,24,.08) !important; }
  .hero-proof { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; margin-top:24px !important; padding-top:18px !important; border-color:rgba(23,25,27,.10) !important; }
  .hero-proof span { color:#5d646a !important; font-size:.78rem !important; }
  .hero-proof span::before { background:#c12d42 !important; }

  .trust-strip { border:0 !important; background:#f6f4f1; padding:0 0 18px; }
  .trust-grid { display:flex !important; gap:10px !important; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; background:transparent !important; padding-inline:16px; }
  .trust-grid::-webkit-scrollbar { display:none; }
  .trust-item { flex:0 0 78%; scroll-snap-align:start; min-height:104px; padding:18px !important; border-radius:16px; background:#fff !important; box-shadow:0 12px 30px rgba(0,0,0,.12); }
  .trust-item strong { font-size:1rem; }
  .trust-item span { font-size:.82rem; }

  .section, .privacy-mini { padding:52px 0 !important; }
  .section:nth-of-type(even) { background:#fff; }
  .section-title, .about-copy .section-title { font-size:clamp(2rem,9vw,2.75rem) !important; line-height:1.02 !important; letter-spacing:-.045em !important; margin-bottom:18px !important; }
  .lead { font-size:1.02rem !important; line-height:1.65 !important; }
  .eyebrow { font-size:.69rem !important; letter-spacing:.14em !important; }

  .privacy-mini-card, .about-layout, .contact-layout, .quote-layout, .legal-grid, .review-summary { grid-template-columns:1fr !important; }
  .privacy-mini-card { border-radius:22px !important; padding:24px !important; box-shadow:0 18px 50px rgba(20,22,24,.08); }
  .privacy-mini-card h2 { font-size:1.65rem !important; letter-spacing:-.035em; }
  .privacy-mini-list { padding:0; margin:18px 0 0; }

  .process-grid, .service-grid, .project-grid, .audience-grid, .home-proof-grid, .footer-grid, .form-grid { grid-template-columns:1fr !important; gap:14px !important; }
  .process-step, .service-card, .project-card, .home-proof-card, .audience-card, .contact-card, .privacy-box, .quote-card, .review-card { border-radius:20px !important; border:1px solid rgba(23,25,27,.08) !important; background:#fff; overflow:hidden; }
  .mobile-cards-elevated .process-step, .mobile-cards-elevated .service-card, .mobile-cards-elevated .project-card, .mobile-cards-elevated .home-proof-card, .mobile-cards-elevated .audience-card { box-shadow:0 16px 38px rgba(20,22,24,.09) !important; }
  .mobile-cards-flat .process-step, .mobile-cards-flat .service-card, .mobile-cards-flat .project-card { box-shadow:none !important; }
  .mobile-cards-glass .process-step, .mobile-cards-glass .service-card, .mobile-cards-glass .project-card { background:rgba(255,255,255,.78) !important; backdrop-filter:blur(16px); box-shadow:0 16px 44px rgba(20,22,24,.11) !important; }
  .process-step { padding:22px !important; }
  .process-number { font-size:2.2rem !important; opacity:.35; }
  .service-card { padding:22px !important; }
  .service-card h3, .process-step h3, .project-card h3 { font-size:1.25rem !important; letter-spacing:-.025em; }
  .project-card img, .project-image { width:100% !important; aspect-ratio:4/3 !important; height:auto !important; object-fit:cover !important; }
  .project-content { padding:20px !important; }

  .toolbar { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; padding:14px !important; border-radius:18px !important; }
  .toolbar input,.toolbar select,.field input,.field select,.field textarea { width:100% !important; min-width:0 !important; font-size:16px !important; }
  .button,.text-button,button { -webkit-tap-highlight-color:transparent; }
  .button { min-height:50px; border-radius:13px !important; }

  .map-shell { height:54vh !important; min-height:400px; border-radius:20px !important; overflow:hidden; }
  .leaflet-control-container { font-size:12px; }

  .booking-shell,.booking-manage-card,.quote-shell,.contact-form,.admin-panel { width:100% !important; max-width:100% !important; padding:18px !important; border-radius:20px !important; overflow:hidden !important; }
  .booking-picker,.booking-calendar,.calendar-shell { width:100% !important; max-width:100% !important; overflow:hidden !important; }
  .booking-days { overflow-x:auto !important; scroll-snap-type:x mandatory; padding-bottom:6px; }
  .booking-day { min-width:150px !important; scroll-snap-align:start; }
  .booking-times { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .calendar-weekdays,.calendar-grid { min-width:0 !important; }
  .calendar-day { min-width:0 !important; }

  footer, .site-footer { padding-bottom:84px !important; }
  .mobile-contact { height:68px; padding:7px 8px calc(7px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.94) !important; backdrop-filter:blur(16px); box-shadow:0 -10px 32px rgba(20,22,24,.11); border:0 !important; gap:6px; align-items:stretch !important; }
  .mobile-contact a { min-height:52px !important; border:0 !important; border-radius:13px; flex-direction:column; gap:1px !important; font-size:.67rem !important; background:#f2f2f2; color:#25282b; justify-content:center !important; align-items:center !important; text-align:center !important; }
  .mobile-contact a:last-child { background:linear-gradient(135deg,#a32237,#7a1221) !important; }

  .oib-mobile-reveal { opacity:0; transform:translateY(24px) scale(.985); transition:opacity .72s cubic-bezier(.2,.75,.2,1), transform .72s cubic-bezier(.2,.75,.2,1); }
  .oib-mobile-reveal.is-visible { opacity:1; transform:none; }
  .mobile-animations-subtle .oib-mobile-reveal { transform:translateY(12px); transition-duration:.46s; }
  .mobile-animations-off .oib-mobile-reveal { opacity:1; transform:none; transition:none; }

  @keyframes oibPulseSoft { 0%,100%{box-shadow:0 13px 30px rgba(140,29,44,.22)} 50%{box-shadow:0 16px 42px rgba(140,29,44,.38)} }
  .mobile-animations-rich .hero-actions .button:first-child { animation:oibPulseSoft 2.8s ease-in-out infinite; }
  .mobile-animations-rich .process-step:active,.mobile-animations-rich .service-card:active,.mobile-animations-rich .project-card:active { transform:scale(.985); transition:transform .16s ease; }
}

@media (max-width: 390px) {
  .container { width:calc(100% - 24px) !important; }
  .hero .container { padding-inline:16px; }
  .hero h1 { font-size:2.35rem !important; max-width:9ch; }
  .mobile-contact a { font-size:.61rem !important; }
  .booking-times { grid-template-columns:1fr !important; }
}
