/* RijlesRadar mobile app layout — mockup v1 */
@media (max-width:900px){
  body.mobile-app{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .desktop-only{display:none !important}

  /* Header */
  .site-header{background:#fff;border-bottom:1px solid #eef2f7}
  .header-inner{height:60px}
  .brand img{width:158px}

  /* Hero */
  .hero{
    min-height:0;
    background:linear-gradient(180deg,#061735 0%,#0a2550 100%);
    padding:0 0 20px;
  }
  .hero-bg{display:none}
  .hero:after{display:none}
  .hero-grid{
    padding:18px 0 8px;
    gap:14px;
  }
  .hero-copy .rating-pill,
  .hero-copy .hero-actions{display:none}
  .hero h1{
    font-size:1.85rem;
    line-height:1.08;
    margin:0 0 10px;
    max-width:none;
  }
  .hero h1 span:after{bottom:-4px;height:3px}
  .hero-copy > p{
    font-size:.88rem;
    line-height:1.45;
    margin:0 0 16px;
    color:#c8d9f0;
    max-width:none;
  }
  .search-card{
    background:transparent;
    border:0;
    box-shadow:none;
    padding:0;
    color:#fff;
  }
  .search-card h2,
  .search-card fieldset,
  .search-card .safe-note,
  .search-card .btn-outline,
  .search-card .affiliate-slot{display:none !important}
  .search-card .field-with-icon{
    height:48px;
    border-radius:12px;
    border:0;
    box-shadow:0 4px 18px rgba(6,23,53,.12);
    grid-template-columns:40px 1fr 40px;
    margin-bottom:12px;
  }
  .search-card .field-with-icon input{font-size:.95rem}
  .search-card .field-clear{
    color:var(--blue);
    font-size:1.05rem;
  }
  .search-card .btn-primary.full{
    height:50px;
    border-radius:12px;
    font-size:.98rem;
    font-weight:800;
    box-shadow:0 10px 24px rgba(255,107,18,.35);
  }
  .search-card .btn-primary.full i{display:none}
  .search-card .btn-primary.full::after{
    content:" ›";
    font-weight:900;
  }
  .hero-trust{
    margin-top:14px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .hero-trust li{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:6px;
  }
  .hero-trust .trust-icon{
    width:28px;height:28px;
    font-size:1rem;
    background:rgba(16,185,129,.15);
    border-radius:50%;
  }
  .hero-trust strong{
    font-size:.68rem;
    line-height:1.25;
    color:#fff;
  }
  .hero-trust .trust-copy > span{display:none}

  /* Results area */
  .results-section{
    background:#f4f7fb;
    padding:0 0 24px;
  }
  .results-section > .container{
    width:100%;
    padding:0;
  }
  .results-layout{gap:0 !important}
  .results-main{
    background:#f4f7fb;
    padding:0;
  }
  .mobile-results-head{
    display:block;
    background:#fff;
    border-bottom:1px solid #e8eef5;
    padding:12px 16px 10px;
  }
  .mobile-location-bar{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:12px;
    margin-bottom:10px;
    font-weight:700;
    color:var(--navy);
    font-size:.92rem;
  }
  .mobile-location-bar i.fa-location-dot{color:var(--blue)}
  .mobile-loc-gps{
    margin-left:auto;
    border:0;
    background:transparent;
    color:var(--blue);
    font-size:1.1rem;
    padding:4px;
    cursor:pointer;
  }
  .mobile-filter-chips{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:2px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .mobile-filter-chips::-webkit-scrollbar{display:none}
  .mobile-chip{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:1px solid #dbe4ee;
    background:#fff;
    color:var(--navy);
    border-radius:999px;
    padding:8px 14px;
    font-size:.82rem;
    font-weight:700;
    white-space:nowrap;
    cursor:pointer;
  }
  .mobile-chip.is-active{
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
  }
  .mobile-chip i{font-size:.78rem;color:inherit}

  .results-toolbar{
    margin:0;
    padding:14px 16px 8px;
    background:#f4f7fb;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .results-toolbar h2{
    font-size:1.05rem;
    margin:0;
  }
  .mobile-see-all{
    border:0;
    background:transparent;
    color:var(--blue);
    font-weight:800;
    font-size:.86rem;
    cursor:pointer;
    padding:0;
  }
  .affiliate-slot--results{
    margin:0 16px 12px;
  }
  .school-list-scroll{padding:0 16px}
  .school-list{gap:12px}

  /* Horizontal school cards */
  .school-card,
  .school-card.has-cbr{
    display:grid !important;
    grid-template-columns:92px minmax(0,1fr) !important;
    grid-template-areas:"media body" !important;
    gap:12px !important;
    padding:12px !important;
    border-radius:16px;
    border:1px solid #e8eef5;
    box-shadow:0 8px 24px rgba(6,23,53,.06);
    align-items:start !important;
  }
  .school-card-cbr,
  .school-card .cbr-profile{display:none !important}
  .school-media-col{
    grid-area:media !important;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    width:92px;
    min-width:92px;
  }
  .school-mobile-cbr{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    width:100%;
  }
  .school-mobile-cbr .cbr-ring{
    width:54px;
    height:54px;
    flex:0 0 54px;
  }
  .school-mobile-cbr .cbr-ring-value{
    font-size:.74rem;
  }
  .school-mobile-cbr-label{
    font-size:.58rem;
    font-weight:800;
    color:#64748b;
    text-align:center;
    line-height:1.15;
    letter-spacing:-.01em;
  }
  .school-image-wrap,
  .school-image-wrap.is-photo,
  .school-image-wrap.is-logo,
  .school-image-wrap.is-initial{
    grid-area:unset !important;
    width:92px !important;
    min-width:92px !important;
    max-width:92px !important;
    height:92px !important;
    min-height:92px !important;
    max-height:92px !important;
    border-radius:12px !important;
  }
  .school-image-wrap img,
  .school-image-wrap.is-photo img,
  .school-image-wrap.is-initial{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    border-radius:12px !important;
  }
  .school-image-wrap .favorite{display:none !important}
  .school-image-wrap .badge{
    max-width:calc(100% - 4px);
    font-size:.56rem;
    line-height:1.12;
    padding:2px 4px;
  }
  .school-image-wrap.is-logo img{
    object-fit:contain !important;
    padding:8px;
    background:#f8fafc;
  }
  .school-body{
    grid-area:body !important;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  .school-mobile-top{display:none !important}
  .school-body .favorite.mobile-fav{
    position:static;
    width:30px;
    height:30px;
    box-shadow:none;
    border:1px solid #e2e8f0;
    font-size:1rem;
    margin-left:auto;
    flex-shrink:0;
  }
  .school-title-row{
    display:flex !important;
    align-items:flex-start;
    gap:8px;
  }
  .school-title-row .verified,
  .school-title-row .school-pass-badge{display:none !important}
  .school-title-row h3{
    margin:0;
    font-size:.98rem;
    line-height:1.2;
    font-weight:800;
    color:var(--navy);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .school-info-btn{
    margin:2px 0 6px;
    gap:8px;
    font-size:.8rem;
  }
  .school-info-btn i{font-size:.86rem}
  .rating-line{
    margin:0;
    font-size:.78rem;
    gap:4px;
    padding:0;
    border:0;
    background:transparent;
    text-align:left;
    cursor:pointer;
  }
  .rating-line .orange-stars{font-size:.72rem;letter-spacing:0}
  .school-feature-tags{display:none !important}
  .school-card-foot{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:4px;
  }
  .school-foot-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-width:0;
  }
  .school-foot-location,
  .school-foot-price,
  .school-foot-distance,
  .school-view-btn{display:none !important}
  .school-foot-place{
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-size:.82rem;
    font-weight:700;
    color:var(--navy);
    line-height:1.25;
    min-width:0;
  }
  .school-foot-place i{font-size:.72rem;color:var(--blue);flex-shrink:0}
  .school-foot-type{
    flex-shrink:0;
    background:#eef3f8;
    color:#44546a;
    border-radius:999px;
    padding:3px 8px;
    font-size:.68rem;
    font-weight:800;
  }
  .school-lead-btn,
  .school-offerte-btn{
    width:100%;
    margin-top:0;
    padding:10px 12px;
    border-radius:10px;
    font-size:.84rem;
    box-sizing:border-box;
  }
  .school-desktop-extra{display:none !important}
  .school-pass-badge{display:none !important}

  /* Value props + FAQ mobile */
  .steps,
  .split-section,
  .reviews{display:none}
  .mobile-value-prop{
    display:block;
    padding:28px 16px;
    background:#fff;
  }
  .mobile-value-prop .mobile-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px;
  }
  .mobile-value-prop h2{
    margin:0;
    font-size:1.15rem;
    letter-spacing:-.02em;
  }
  .mobile-value-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .mobile-value-grid article{text-align:center}
  .value-icon{
    width:44px;height:44px;
    border-radius:50%;
    display:grid;
    place-items:center;
    margin:0 auto 8px;
    font-size:1.1rem;
  }
  .value-icon--blue{background:#dbeafe;color:#2563eb}
  .value-icon--green{background:#d1fae5;color:#059669}
  .value-icon--purple{background:#ede9fe;color:#7c3aed}
  .mobile-value-grid h3{
    margin:0 0 4px;
    font-size:.78rem;
    line-height:1.25;
  }
  .mobile-value-grid p{
    margin:0;
    font-size:.68rem;
    line-height:1.35;
    color:#64748b;
  }
  .faq{padding:24px 16px 32px}
  .faq .section-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-align:left;
    margin:0 0 14px;
    max-width:none;
  }
  .faq .section-heading h2{font-size:1.15rem;margin:0}
  .faq .eyebrow{display:none}
  .faq details{
    border:0;
    border-bottom:1px solid #e8eef5;
    border-radius:0;
    padding:14px 0;
    margin:0;
    background:transparent;
  }
  .site-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .site-footer .footer-grid{gap:24px}

  /* Bottom tab bar */
  .mobile-tab-bar{
    display:grid !important;
    grid-template-columns:repeat(4,1fr);
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:80;
    background:#fff;
    border-top:1px solid #e8eef5;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));
    box-shadow:0 -4px 20px rgba(6,23,53,.08);
  }
  .mobile-tab{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3px;
    padding:6px 4px;
    color:#94a3b8;
    font-size:.68rem;
    font-weight:700;
    text-decoration:none;
  }
  .mobile-tab i{font-size:1.15rem}
  .mobile-tab.is-active{color:var(--orange)}

  /* Filter drawer */
  .filters-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:85;
    background:rgba(6,23,53,.45);
  }
  .filters-backdrop[hidden]{display:none}
  .results-layout > .filters{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:90;
    width:100%;
    max-width:none;
    margin:0;
    transform:translateY(105%);
    transition:transform .24s ease;
    border-radius:18px 18px 0 0;
    max-height:min(86vh,760px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 -16px 48px rgba(6,23,53,.2);
  }
  .results-layout > .filters.is-open{transform:translateY(0)}
  .results-layout > .filters .filters-toggle{display:none}
  .results-layout > .filters .filters-panel{
    display:block;
    overflow-y:auto;
    padding:0 18px calc(18px + env(safe-area-inset-bottom));
    -webkit-overflow-scrolling:touch;
  }
  .results-ads-card{padding:0 16px}
}

@media (min-width:901px){
  .mobile-only{display:none !important}
  .mobile-results-head,
  .mobile-value-prop,
  .mobile-tab-bar,
  .mobile-section-head .mobile-see-all{display:none !important}
}
@media (max-width:900px){
  .mobile-only{display:inline-flex}
  .desktop-only{display:none !important}
}
.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
