/* 청소 F · 예약 앱 */
.theme-f{background:#f3f6fb;--bg-soft:#eef3fa;--radius:22px}
.theme-f .site-header,.theme-f.is-home .site-header{position:sticky;background:rgba(243,246,251,.9);backdrop-filter:blur(10px);color:var(--ink);border-color:transparent}
.theme-f .btn{border-radius:16px}
.theme-f .floating{display:none}
.theme-f main{padding-bottom:96px}
.ap-home{padding:36px 0 30px}
.ap-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:start}
.ap-hi{margin:0;font-weight:700;color:var(--accent)}
.ap-main h1{margin:6px 0 24px;font-size:clamp(28px,3.2vw,44px);line-height:1.25;letter-spacing:-.03em}
.ap-icons{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ap-icons a{display:flex;flex-direction:column;gap:4px;padding:20px 18px;border-radius:22px;background:#fff;box-shadow:0 6px 18px rgba(30,60,120,.06);transition:.2s;height:100%}
.ap-icons a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(30,60,120,.12)}
.ap-ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);margin-bottom:10px}
.ap-ic .ch-ico{width:28px;height:28px}
.ap-icons b{font-size:16.5px}
.ap-icons small{color:var(--muted);font-size:13px}
.ap-badges{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ap-badges li{padding:8px 14px;border-radius:999px;background:#fff;font-size:13.5px;color:var(--muted)}
.ap-badges b{color:var(--ink);margin-right:6px}
.ap-side .ch-est{border-radius:26px;box-shadow:0 20px 50px rgba(30,60,120,.12)}
.ap-promo-sec{padding:6px 0 10px}
.ap-promo{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:20px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#7c3aed));color:#fff}
.ap-promo .ap-ic{margin:0;width:44px;height:44px;background:rgba(255,255,255,.2);color:#fff}
.ap-promo small{display:block;opacity:.8;font-size:12.5px}
.ap-promo b{font-size:16px}
.ap-promo em{margin-left:auto;font-style:normal;font-size:26px}
.ap-sec{padding:56px 0}
.ap-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}
.ap-head h2{font-size:24px;letter-spacing:-.02em}
.ap-head a{font-weight:700;color:var(--accent)}
.ap-swipe{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:none}
.ap-swipe::-webkit-scrollbar{display:none}
.ap-ba{flex:0 0 min(360px,82vw);scroll-snap-align:start;padding:12px 12px 16px;border-radius:22px;background:#fff;box-shadow:0 6px 18px rgba(30,60,120,.06)}
.ap-ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.ap-ba-pair span{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1}
.ap-ba-pair img{width:100%;height:100%;object-fit:cover}
.ap-ba-pair i{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font-style:normal;font-size:11px;font-weight:800}
.ap-ba-pair i.is-after{background:var(--accent)}
.ap-ba b{display:block;padding:0 4px;font-size:15.5px}
.ap-ba small{display:block;padding:0 4px;color:var(--muted);font-size:12.5px}
.theme-f .ch-sec{padding:56px 0}
.theme-f .ap-sec-soft,.theme-f .ch-check-sec{background:transparent}
.theme-f .ch-promises li,.theme-f .ch-check,.theme-f .ch-price{border:0;box-shadow:0 6px 18px rgba(30,60,120,.06)}
.theme-f .ch-area{border-radius:24px}
.ap-dock{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 -8px 24px rgba(30,60,120,.1)}
.ap-dock-in{display:flex;align-items:center;gap:12px}
.ap-dock-txt b{display:block;font-size:15.5px}
.ap-dock-txt small{display:block;color:var(--muted);font-size:12.5px}
.ap-dock-call{margin-left:auto;display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#eef3fa;color:var(--ink)}
.ap-dock-go{height:52px;padding:0 26px}
@media (max-width:1000px){.ap-grid{grid-template-columns:minmax(0,1fr)}.ap-side{max-width:560px}}
@media (max-width:640px){
  .ap-home{padding:20px 0}
  .ap-icons{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .ap-icons a{padding:14px 8px;align-items:center;text-align:center;border-radius:18px}
  .ap-ic{width:46px;height:46px;margin-bottom:6px}
  .ap-icons b{font-size:13.5px}.ap-icons small{font-size:11px}
  .ap-dock-txt small{display:none}
  .ap-dock-go{flex:1;padding:0 14px}
  .ap-dock-call{margin-left:0}
}
