/* JustCityPlace public frontend foundation 1.11.0 */
.public-page{background:#f7f8fb;color:#182230}.public-page .site-header{background:rgba(255,255,255,.98)}.public-page .nav-shell{min-height:70px;gap:20px}.public-primary-nav{display:flex;align-items:center;gap:18px;white-space:nowrap}.public-primary-nav a{color:#475467;font-size:14px;font-weight:700}.public-primary-nav a:hover{color:var(--brand)}.public-page .header-search{max-width:430px}.public-page .page-shell{padding-top:28px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.jcp-home-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:20px;align-items:stretch}.jcp-home-hero-copy{min-width:0;padding:50px;border:1px solid #dce4f1;border-radius:28px;background:radial-gradient(circle at 90% 12%,rgba(37,87,214,.11),transparent 28%),linear-gradient(135deg,#f3f6ff 0%,#fff 72%);box-shadow:0 18px 45px rgba(28,43,76,.06)}.jcp-kicker{display:inline-block;margin-bottom:9px;color:var(--brand);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.jcp-home-hero h1{max-width:780px;margin:0;color:#101828;font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.052em}.jcp-home-hero-copy>p{max-width:720px;margin:18px 0 0;color:#667085;font-size:18px}.jcp-main-search{display:grid;grid-template-columns:minmax(0,1fr) auto;max-width:760px;margin-top:30px;padding:6px;border:1px solid #d0d8e5;border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(23,32,51,.08)}.jcp-main-search:focus-within{border-color:#9eb2eb;box-shadow:0 0 0 4px rgba(37,87,214,.08),0 10px 24px rgba(23,32,51,.08)}.jcp-main-search input{min-width:0;border:0;outline:0;background:transparent;padding:14px 15px;color:#101828}.jcp-main-search button{border:0;border-radius:11px;background:var(--brand);color:#fff;padding:12px 22px;font-weight:800}.jcp-main-search button:hover{background:var(--brand-dark)}.jcp-trust-row{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:23px;color:#667085;font-size:14px}.jcp-trust-row strong{color:#182230}.jcp-hero-guide{display:flex;min-width:0;flex-direction:column;justify-content:flex-end;padding:32px;border:1px solid #dde4ed;border-radius:28px;background:#fff}.jcp-guide-icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:auto;border-radius:17px;background:#eef3ff;color:var(--brand);font-size:28px}.jcp-hero-guide strong{display:block;margin-top:34px;font-size:22px;letter-spacing:-.025em}.jcp-hero-guide p{margin:9px 0 18px;color:#667085}.jcp-hero-guide a{font-weight:800}
.jcp-section{padding-top:52px}.jcp-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:20px}.jcp-section-heading h2,.jcp-help-strip h2{margin:0;color:#101828;font-size:clamp(27px,3vw,34px);line-height:1.12;letter-spacing:-.035em}.jcp-section-heading p{max-width:430px;margin:0;color:#667085}.jcp-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.jcp-category-card{display:flex;min-width:0;align-items:center;gap:13px;padding:16px;border:1px solid #e0e5ec;border-radius:15px;background:#fff;color:#182230;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.jcp-category-card:hover{transform:translateY(-2px);border-color:#c9d5ee;color:#182230;box-shadow:0 12px 28px rgba(27,43,77,.07)}.jcp-category-letter,.jcp-business-avatar{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#eef3ff;color:var(--brand);font-weight:900}.jcp-category-copy{min-width:0}.jcp-category-copy strong,.jcp-category-copy small{display:block}.jcp-category-copy strong{overflow:hidden;text-overflow:ellipsis;color:#182230;white-space:nowrap}.jcp-category-copy small{margin-top:2px;color:#667085}.jcp-card-arrow{margin-left:auto;color:#98a2b3}
.jcp-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.jcp-business-card{display:flex;min-width:0;min-height:240px;flex-direction:column;padding:19px;border:1px solid #e0e5ec;border-radius:18px;background:#fff;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.jcp-business-card:hover{transform:translateY(-2px);border-color:#ccd8ef;box-shadow:0 12px 28px rgba(27,43,77,.07)}.jcp-business-card-head{display:flex;min-width:0;align-items:flex-start;gap:13px}.jcp-business-title{min-width:0}.jcp-business-title h3{margin:4px 0 0;font-size:18px;line-height:1.32;letter-spacing:-.018em}.jcp-business-title h3 a{color:#182230}.jcp-badges{display:flex;flex-wrap:wrap;gap:5px;min-height:19px}.jcp-business-category{align-self:flex-start;margin-top:15px;font-size:13px;font-weight:750}.jcp-business-address{margin:12px 0 18px;color:#667085;font-size:14px}.jcp-business-open{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:13px;border-top:1px solid #edf0f4;font-size:14px;font-weight:800}.jcp-home-search-more{display:flex;justify-content:center;padding-top:24px}.jcp-help-strip{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;margin-top:54px;padding:30px 34px;border:1px solid #dce4ef;border-radius:20px;background:#fff}.jcp-help-strip p{margin:0;color:#667085}
.public-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}.public-footer-grid p{max-width:480px;color:#9ca3af}.public-footer-grid>div:not(:first-child){display:grid;align-content:start;gap:9px}.public-footer-grid strong{margin-bottom:5px;color:#fff}.public-footer-grid a{color:#d1d5db}.public-page .footer-bottom{display:flex;justify-content:space-between;gap:24px}
.jcp-ad-shell{width:100%;min-height:var(--jcp-ad-height,0px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;margin:28px 0 0;border-radius:12px;background:#fafbfc;text-align:center}.jcp-ad-label{padding:5px 8px 2px;color:#98a2b3;font-size:10px;line-height:1;letter-spacing:.06em;text-transform:uppercase}@media(min-width:769px){.jcp-ad-mobile{display:none}}@media(max-width:768px){.jcp-ad-desktop{display:none}}
.public-page .page-hero.compact,.public-page .content-card,.public-page .business-card{box-shadow:none}.public-page .page-hero.compact{border-color:#e0e5ec}.public-page .business-hero{box-shadow:none}.public-page .pagination-wrap nav{overflow-x:auto}
@media(max-width:980px){.public-primary-nav{display:none}.public-page .header-search{max-width:none}.jcp-home-hero{grid-template-columns:1fr}.jcp-hero-guide{min-height:220px}.jcp-guide-icon{margin-bottom:0}.jcp-hero-guide strong{margin-top:22px}}
@media(max-width:760px){.public-page .nav-shell{min-height:auto;padding:12px 0;flex-wrap:wrap;gap:10px 14px}.public-page .brand{order:1}.public-page .user-nav{order:2;margin-left:auto}.public-page .header-search{order:3;width:100%;flex-basis:100%}.public-page .header-search button{padding-inline:12px}.public-page .page-shell{padding-top:20px}.jcp-home-hero-copy{padding:30px 22px;border-radius:21px}.jcp-home-hero h1{font-size:clamp(36px,11vw,48px)}.jcp-home-hero-copy>p{font-size:16px}.jcp-main-search{grid-template-columns:1fr}.jcp-main-search button{width:100%}.jcp-category-grid,.jcp-business-grid{grid-template-columns:1fr}.jcp-section{padding-top:42px}.jcp-section-heading{align-items:flex-start;flex-direction:column;gap:8px}.jcp-help-strip{grid-template-columns:1fr;gap:12px;padding:24px 22px}.public-footer-grid{grid-template-columns:1fr;gap:28px}.public-page .footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}}

/* 1.11.1 — useful business-card excerpt */
.jcp-business-excerpt{
    margin:12px 0 0;
    color:#344054;
    font-size:14px;
    line-height:1.55;
}
.jcp-business-card .jcp-business-address{
    margin-top:9px;
    color:#667085;
}

/* 1.11.2 */
.jcp-location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.jcp-location-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #e0e5ec;border-radius:14px;background:#fff}
.jcp-location-pin{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef3ff;color:var(--brand);font-weight:900}
.jcp-location-card strong,.jcp-location-card small{display:block}.jcp-location-card small{margin-top:2px;color:#667085;font-size:12px}
.jcp-how-grid,.jcp-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jcp-how-card,.jcp-recent-card{padding:20px;border:1px solid #e0e5ec;border-radius:17px;background:#fff}
.jcp-how-card>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eef3ff;color:var(--brand);font-weight:900}
.jcp-how-card h3,.jcp-recent-card h3{margin:16px 0 8px;font-size:18px}.jcp-how-card p,.jcp-recent-card p{color:#667085}
.jcp-recent-card{display:flex;min-height:205px;flex-direction:column}.jcp-recent-card h3{margin:0}.jcp-recent-card>a{margin-top:auto;font-size:14px;font-weight:800}
.jcp-recent-location{font-weight:700;color:#475467!important}
.jcp-guide-copy{display:grid;grid-template-columns:1fr 1fr;gap:18px}.jcp-guide-copy p{margin:0;padding:20px;border:1px solid #e0e5ec;border-radius:16px;background:#fff;color:#475467}
.jcp-faq-list{display:grid;gap:10px}.jcp-faq-list details{border:1px solid #e0e5ec;border-radius:14px;background:#fff}.jcp-faq-list summary{cursor:pointer;padding:17px 19px;font-weight:800}.jcp-faq-list p{margin:0;padding:0 19px 18px;color:#667085}
@media(max-width:980px){.jcp-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.jcp-location-grid,.jcp-how-grid,.jcp-recent-grid,.jcp-guide-copy{grid-template-columns:1fr}}

/* 1.11.3 — FAQ + business discovery panel */
.jcp-faq-layout{
    display:grid;
    grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);
    gap:18px;
    align-items:start;
}
.jcp-discovery-panel{
    padding:22px;
    border:1px solid #dce4ef;
    border-radius:18px;
    background:linear-gradient(145deg,#f6f8ff,#fff);
}
.jcp-discovery-panel h3{
    margin:0;
    color:#101828;
    font-size:23px;
    letter-spacing:-.025em;
}
.jcp-discovery-panel>p{
    margin:9px 0 18px;
    color:#667085;
}
.jcp-discovery-search{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin-bottom:16px;
}
.jcp-discovery-search input{
    min-width:0;
    border:1px solid #d0d8e5;
    border-radius:11px;
    padding:11px 12px;
    background:#fff;
}
.jcp-discovery-search input:focus{
    outline:0;
    border-color:#9eb2eb;
    box-shadow:0 0 0 3px rgba(37,87,214,.08);
}
.jcp-discovery-search button{
    border:0;
    border-radius:11px;
    padding:10px 14px;
    background:var(--brand);
    color:#fff;
    font-weight:800;
}
.jcp-discovery-search button:hover{
    background:var(--brand-dark);
}
.jcp-discovery-links{
    display:grid;
    gap:8px;
}
.jcp-discovery-links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 12px;
    border:1px solid #e3e8ef;
    border-radius:11px;
    background:#fff;
    color:#182230;
    font-size:14px;
    font-weight:750;
}
.jcp-discovery-links a:hover{
    border-color:#ccd8ef;
}
.jcp-discovery-links small{
    flex:0 0 auto;
    color:#667085;
    font-size:11px;
    font-weight:600;
}
.jcp-discovery-all{
    display:inline-flex;
    gap:7px;
    margin-top:15px;
    font-size:14px;
    font-weight:800;
}
@media(max-width:900px){
    .jcp-faq-layout{
        grid-template-columns:1fr;
    }
}
@media(max-width:520px){
    .jcp-discovery-search{
        grid-template-columns:1fr;
    }
    .jcp-discovery-search button{
        width:100%;
    }
}

/* 1.11.4 — hero quick-guide balance + FAQ height balance */
.jcp-hero-guide{
    justify-content:flex-start;
}
.jcp-hero-guide .jcp-guide-icon{
    margin-bottom:18px;
}
.jcp-hero-guide .jcp-kicker{
    margin-bottom:6px;
}
.jcp-hero-guide>strong{
    margin-top:0;
}
.jcp-hero-steps{
    display:grid;
    gap:10px;
    margin:18px 0 20px;
}
.jcp-hero-steps>div{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:10px;
    border:1px solid #e5eaf1;
    border-radius:12px;
    background:#fafbff;
}
.jcp-hero-steps>div>span{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#eef3ff;
    color:var(--brand);
    font-size:12px;
    font-weight:900;
}
.jcp-hero-steps p{
    margin:0;
}
.jcp-hero-steps b,
.jcp-hero-steps small{
    display:block;
}
.jcp-hero-steps b{
    color:#182230;
    font-size:13px;
}
.jcp-hero-steps small{
    margin-top:2px;
    color:#667085;
    font-size:12px;
    line-height:1.4;
}

/* 1.12.0 — Category + Location public frontend */
.jcp-public-breadcrumb{
    margin:0 0 16px;
    font-size:13px;
}
.jcp-category-hero{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(280px,.62fr);
    gap:18px;
    align-items:stretch;
}
.jcp-category-hero>div{
    padding:34px;
    border:1px solid #dce4f1;
    border-radius:24px;
    background:linear-gradient(135deg,#f5f7ff 0%,#fff 75%);
}
.jcp-category-hero h1{
    margin:0;
    color:#101828;
    font-size:clamp(34px,4.2vw,50px);
    line-height:1.04;
    letter-spacing:-.045em;
}
.jcp-category-hero>div>p{
    max-width:760px;
    margin:15px 0 0;
    color:#667085;
    font-size:16px;
}
.jcp-category-summary{
    display:flex;
    flex-wrap:wrap;
    gap:9px 22px;
    margin-top:20px;
    color:#667085;
    font-size:13px;
}
.jcp-category-summary strong{
    color:#182230;
}
.jcp-category-search-card{
    padding:26px;
    border:1px solid #dde4ed;
    border-radius:24px;
    background:#fff;
}
.jcp-category-search-card h2{
    margin:0;
    color:#101828;
    font-size:22px;
    line-height:1.15;
    letter-spacing:-.025em;
}
.jcp-category-search-card>p{
    margin:9px 0 17px;
    color:#667085;
}
.jcp-category-search-card form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
}
.jcp-category-search-card input{
    min-width:0;
    padding:11px 12px;
    border:1px solid #d0d8e5;
    border-radius:11px;
    background:#fff;
}
.jcp-category-search-card button{
    border:0;
    border-radius:11px;
    padding:10px 14px;
    background:var(--brand);
    color:#fff;
    font-weight:800;
}
.jcp-category-location-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.jcp-category-location-grid a{
    display:flex;
    min-width:0;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 14px;
    border:1px solid #e0e5ec;
    border-radius:13px;
    background:#fff;
    color:#182230;
    font-weight:800;
}
.jcp-category-location-grid a:hover{
    border-color:#cbd7ee;
    box-shadow:0 9px 22px rgba(27,43,77,.05);
}
.jcp-category-location-grid span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.jcp-category-location-grid small{
    flex:0 0 auto;
    color:#667085;
    font-size:11px;
    font-weight:600;
}
.jcp-category-business-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
}
.jcp-category-business-card{
    display:flex;
    min-width:0;
    min-height:245px;
    flex-direction:column;
    padding:18px;
    border:1px solid #e0e5ec;
    border-radius:17px;
    background:#fff;
}
.jcp-category-business-head{
    display:flex;
    min-width:0;
    gap:12px;
    align-items:flex-start;
}
.jcp-category-business-head>div:last-child{
    min-width:0;
}
.jcp-category-business-head h3{
    margin:4px 0 0;
    font-size:17px;
    line-height:1.34;
}
.jcp-category-business-head h3 a{
    color:#182230;
}
.jcp-category-excerpt{
    margin:13px 0 0;
    color:#475467;
    font-size:14px;
    line-height:1.55;
}
.jcp-category-location-text{
    margin:10px 0 0;
    color:#667085;
    font-size:13px;
    font-weight:650;
}
.jcp-category-info{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:36px;
    align-items:center;
    margin-top:46px;
    padding:26px 30px;
    border:1px solid #dce4ef;
    border-radius:18px;
    background:#fff;
}
.jcp-category-info h2{
    margin:0;
    color:#101828;
    font-size:26px;
    line-height:1.14;
    letter-spacing:-.03em;
}
.jcp-category-info p{
    margin:0;
    color:#667085;
}
@media(max-width:980px){
    .jcp-category-hero{
        grid-template-columns:1fr;
    }
    .jcp-category-location-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .jcp-category-business-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px){
    .jcp-category-hero>div,
    .jcp-category-search-card{
        padding:23px 20px;
        border-radius:19px;
    }
    .jcp-category-search-card form{
        grid-template-columns:1fr;
    }
    .jcp-category-search-card button{
        width:100%;
    }
    .jcp-category-location-grid,
    .jcp-category-business-grid,
    .jcp-category-info{
        grid-template-columns:1fr;
    }
    .jcp-category-info{
        gap:12px;
        padding:22px 20px;
    }
}

/* 1.12.2 — Country-first category location navigation */
.jcp-category-location-browser .jcp-category-location-grid a{
    min-height:58px;
}
.jcp-category-location-browser .jcp-section-heading p{
    max-width:620px;
}

/* 1.13.0 — Business detail public frontend */
.jcp-business-hero{
    display:flex;
    justify-content:space-between;
    gap:28px;
    align-items:center;
    padding:30px;
    border:1px solid #dce4ef;
    border-radius:24px;
    background:linear-gradient(135deg,#f6f8ff 0%,#fff 76%);
}
.jcp-business-hero-main{
    display:flex;
    min-width:0;
    gap:18px;
    align-items:flex-start;
}
.jcp-business-logo{
    width:76px;
    height:76px;
    flex:0 0 76px;
    display:grid;
    place-items:center;
    border-radius:20px;
    background:#eef3ff;
    color:var(--brand);
    font-size:30px;
    font-weight:900;
}
.jcp-business-title{
    min-width:0;
}
.jcp-business-title h1{
    margin:4px 0 0;
    color:#101828;
    font-size:clamp(30px,4vw,46px);
    line-height:1.04;
    letter-spacing:-.04em;
}
.jcp-business-category-line{
    margin:9px 0 0;
    color:#344054;
    font-size:14px;
    font-weight:750;
}
.jcp-business-place{
    max-width:760px;
    margin:9px 0 0;
    color:#667085;
    font-size:14px;
}
.jcp-business-actions{
    display:flex;
    flex:0 0 auto;
    flex-wrap:wrap;
    gap:9px;
    justify-content:flex-end;
}
.jcp-business-layout{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(280px,.62fr);
    gap:22px;
    align-items:start;
    margin-top:24px;
}
.jcp-business-main,
.jcp-business-sidebar{
    display:grid;
    gap:18px;
}
.jcp-business-sidebar{
    position:sticky;
    top:90px;
}
.jcp-business-intro p{
    margin:4px 0 0;
    color:#344054;
    font-size:18px;
    line-height:1.65;
}
.jcp-business-section-title h2,
.jcp-business-about h2,
.jcp-business-side-card h2{
    margin:0;
    color:#101828;
    letter-spacing:-.025em;
}
.jcp-business-section-title h2,
.jcp-business-about h2{
    font-size:26px;
}
.jcp-business-side-card h2{
    font-size:19px;
}
.jcp-business-facts{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:18px;
}
.jcp-business-facts>div{
    display:grid;
    gap:5px;
    padding:14px;
    border:1px solid #e4e9f0;
    border-radius:13px;
    background:#fbfcfe;
}
.jcp-business-facts span,
.jcp-business-address>span{
    color:#667085;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.jcp-business-facts strong{
    min-width:0;
    overflow-wrap:anywhere;
    color:#182230;
    font-size:14px;
}
.jcp-business-facts a{
    justify-self:start;
    color:var(--brand);
    font-size:13px;
    font-weight:800;
}
.jcp-business-address{
    margin-top:12px;
    padding:14px;
    border:1px solid #e4e9f0;
    border-radius:13px;
}
.jcp-business-address p{
    margin:5px 0 7px;
    color:#344054;
}
.jcp-business-address a{
    color:var(--brand);
    font-size:13px;
    font-weight:800;
}
.jcp-business-prose{
    margin-top:14px;
    color:#344054;
    font-size:15px;
    line-height:1.75;
}
.jcp-business-category-tags,
.jcp-business-socials{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:13px;
}
.jcp-business-category-tags a,
.jcp-business-socials a{
    padding:8px 10px;
    border:1px solid #e1e6ee;
    border-radius:10px;
    background:#fff;
    color:#344054;
    font-size:12px;
    font-weight:800;
}
.jcp-business-location-stack{
    display:grid;
    gap:7px;
    margin-top:13px;
}
.jcp-business-location-stack span{
    padding:8px 10px;
    border-radius:9px;
    background:#f7f8fb;
    color:#475467;
    font-size:13px;
    font-weight:700;
}
.jcp-business-disclaimer{
    background:#fafbff;
}
.jcp-business-disclaimer p{
    margin:7px 0 0;
    color:#667085;
    font-size:13px;
    line-height:1.55;
}
.jcp-related-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.jcp-related-card{
    display:flex;
    min-height:205px;
    flex-direction:column;
    padding:16px;
    border:1px solid #e1e6ed;
    border-radius:15px;
    background:#fff;
}
.jcp-related-head{
    display:flex;
    min-width:0;
    gap:10px;
    align-items:flex-start;
}
.jcp-related-head>div:last-child{
    min-width:0;
}
.jcp-related-card h3{
    margin:4px 0 0;
    font-size:16px;
    line-height:1.35;
}
.jcp-related-card h3 a{
    color:#182230;
}
.jcp-related-card>p{
    margin:12px 0 0;
    color:#667085;
    font-size:13px;
    line-height:1.55;
}
.jcp-related-card .jcp-business-open{
    margin-top:auto;
    padding-top:14px;
}
@media(max-width:980px){
    .jcp-business-hero{
        align-items:flex-start;
        flex-direction:column;
    }
    .jcp-business-actions{
        justify-content:flex-start;
    }
    .jcp-business-layout{
        grid-template-columns:1fr;
    }
    .jcp-business-sidebar{
        position:static;
    }
}
@media(max-width:700px){
    .jcp-business-hero{
        padding:22px 19px;
        border-radius:19px;
    }
    .jcp-business-hero-main{
        gap:13px;
    }
    .jcp-business-logo{
        width:58px;
        height:58px;
        flex-basis:58px;
        border-radius:15px;
        font-size:24px;
    }
    .jcp-business-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }
    .jcp-business-actions .btn{
        width:100%;
        justify-content:center;
    }
    .jcp-business-facts,
    .jcp-related-grid{
        grid-template-columns:1fr;
    }
}

/* 1.13.1 — Business hero polish, share, opening hours */
.jcp-business-hero{
    position:relative;
    overflow:hidden;
    align-items:flex-start;
    padding:28px;
    background:
        radial-gradient(circle at 92% 8%,rgba(80,100,255,.08),transparent 32%),
        linear-gradient(135deg,#f8faff 0%,#fff 70%);
}
.jcp-business-hero:after{
    content:"";
    position:absolute;
    inset:auto -80px -110px auto;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(80,100,255,.045);
    pointer-events:none;
}
.jcp-business-hero-main,
.jcp-business-actions{
    position:relative;
    z-index:1;
}
.jcp-business-hero-main{
    flex:1 1 620px;
}
.jcp-business-actions{
    max-width:330px;
}
.jcp-business-actions .btn{
    min-height:42px;
}
.jcp-share-button{
    cursor:pointer;
}
.jcp-opening-hours{
    display:grid;
    gap:0;
    margin:14px 0 0;
}
.jcp-opening-hours>div{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:9px 0;
    border-bottom:1px solid #edf0f4;
}
.jcp-opening-hours>div:last-child{
    border-bottom:0;
}
.jcp-opening-hours dt{
    color:#475467;
    font-size:13px;
    font-weight:750;
}
.jcp-opening-hours dd{
    margin:0;
    color:#182230;
    font-size:13px;
    font-weight:800;
    text-align:right;
}
.jcp-opening-hours dd.is-closed{
    color:#8a3b3b;
}
@media(max-width:980px){
    .jcp-business-hero-main{
        flex-basis:auto;
    }
    .jcp-business-actions{
        max-width:none;
        width:100%;
    }
}

/* 1.13.3 — Business detail hero visual polish */
.jcp-business-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 210px;
    gap:22px;
    align-items:stretch;
    padding:0;
    border:1px solid #dbe3ee;
    border-radius:24px;
    background:#fff;
    box-shadow:0 14px 36px rgba(16,24,40,.07);
    overflow:hidden;
}
.jcp-business-hero:after{
    display:none;
}
.jcp-business-hero-content{
    min-width:0;
    padding:28px 30px 24px;
    background:
        radial-gradient(circle at 0% 0%,rgba(91,111,255,.10),transparent 32%),
        linear-gradient(135deg,#fafbff 0%,#fff 72%);
}
.jcp-business-identity{
    display:flex;
    min-width:0;
    gap:18px;
    align-items:flex-start;
}
.jcp-business-logo{
    width:72px;
    height:72px;
    flex:0 0 72px;
    border:1px solid #dce5ff;
    border-radius:18px;
    background:linear-gradient(145deg,#eef3ff,#fff);
    box-shadow:0 8px 20px rgba(64,84,180,.10);
    color:var(--brand);
    font-size:28px;
}
.jcp-business-title h1{
    max-width:780px;
    margin-top:5px;
    font-size:clamp(31px,3.8vw,44px);
    line-height:1.05;
}
.jcp-business-category-line{
    margin-top:8px;
    color:#475467;
    font-size:14px;
    font-weight:800;
}
.jcp-business-place{
    display:flex;
    flex-wrap:wrap;
    gap:6px 9px;
    align-items:center;
    margin-top:11px;
    color:#667085;
    line-height:1.5;
}
.jcp-hero-label{
    display:inline-flex;
    align-items:center;
    min-height:23px;
    padding:3px 8px;
    border-radius:999px;
    background:#f1f4f9;
    color:#475467;
    font-size:10px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.jcp-business-hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid #e7ebf1;
}
.jcp-hero-meta-item{
    min-width:145px;
    max-width:260px;
    padding:9px 11px;
    border:1px solid #e6eaf0;
    border-radius:11px;
    background:rgba(255,255,255,.88);
}
.jcp-hero-meta-item span{
    display:block;
    color:#8a94a6;
    font-size:10px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.jcp-hero-meta-item strong{
    display:block;
    margin-top:3px;
    overflow-wrap:anywhere;
    color:#253044;
    font-size:12px;
}
.jcp-business-actions{
    display:flex;
    max-width:none;
    padding:22px 18px;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:9px;
    border-left:1px solid #e4e8ef;
    background:#fbfcfe;
}
.jcp-business-actions .btn{
    width:100%;
    min-height:43px;
    justify-content:center;
    border-radius:11px;
}
.jcp-business-actions .btn-primary{
    box-shadow:0 8px 18px rgba(69,86,210,.15);
}
.jcp-share-button{
    background:#fff;
}
@media(max-width:980px){
    .jcp-business-hero{
        grid-template-columns:1fr;
    }
    .jcp-business-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding:16px 20px 20px;
        border-top:1px solid #e4e8ef;
        border-left:0;
        background:#fff;
    }
}
@media(max-width:700px){
    .jcp-business-hero{
        border-radius:18px;
    }
    .jcp-business-hero-content{
        padding:21px 18px 18px;
    }
    .jcp-business-identity{
        gap:13px;
    }
    .jcp-business-logo{
        width:56px;
        height:56px;
        flex-basis:56px;
        border-radius:14px;
        font-size:23px;
    }
    .jcp-business-title h1{
        font-size:29px;
        line-height:1.08;
    }
    .jcp-business-hero-meta{
        display:grid;
        grid-template-columns:1fr;
        margin-top:18px;
    }
    .jcp-hero-meta-item{
        max-width:none;
    }
    .jcp-business-actions{
        grid-template-columns:1fr 1fr;
        padding:14px;
    }
}
@media(max-width:480px){
    .jcp-business-actions{
        grid-template-columns:1fr;
    }
}

/* 1.14.0 — Approved image-less business profile */
.jcp-profile-hero{
    display:grid;
    grid-template-columns:170px minmax(0,1fr) 250px;
    gap:28px;
    align-items:center;
    padding:26px 28px;
    border:1px solid #e0e6ef;
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 30px rgba(16,24,40,.06);
}
.jcp-profile-monogram{
    min-height:190px;
    display:grid;
    place-items:center;
    border:2px solid #b9ccff;
    border-radius:22px;
    background:linear-gradient(145deg,#f4f7ff,#fff);
}
.jcp-profile-monogram span{
    color:#1f57dc;
    font-size:58px;
    font-weight:900;
    letter-spacing:-.06em;
}
.jcp-profile-center{min-width:0}
.jcp-profile-title-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}
.jcp-profile-title-row h1{
    margin:0;
    color:#101828;
    font-size:clamp(32px,4vw,46px);
    line-height:1.05;
    letter-spacing:-.04em;
}
.jcp-profile-verified{
    display:inline-flex;
    gap:6px;
    align-items:center;
    color:#177a45;
    font-size:12px;
    font-weight:850;
}
.jcp-profile-category{
    margin:12px 0 0;
    color:#253044;
    font-size:14px;
    font-weight:800;
}
.jcp-profile-address{
    display:flex;
    max-width:760px;
    gap:9px;
    margin:12px 0 0;
    color:#475467;
    font-size:14px;
    line-height:1.55;
}
.jcp-profile-address>span{
    color:#667085;
    font-size:10px;
    padding-top:5px;
}
.jcp-profile-mini-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
}
.jcp-profile-mini-card{
    min-width:0;
    padding:12px 13px;
    border:1px solid #dfe5ed;
    border-radius:12px;
    background:#fff;
}
.jcp-profile-mini-card>span,
.jcp-profile-info-item>div>span{
    display:block;
    color:#667085;
    font-size:10px;
    font-weight:850;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.jcp-profile-mini-card strong,
.jcp-profile-info-item strong{
    display:block;
    margin-top:4px;
    overflow-wrap:anywhere;
    color:#182230;
    font-size:13px;
}
.jcp-profile-mini-card a,
.jcp-profile-info-item a{
    display:inline-block;
    margin-top:5px;
    color:var(--brand);
    font-size:12px;
    font-weight:850;
}
.jcp-profile-actions{
    display:grid;
    gap:10px;
    align-self:stretch;
    align-content:center;
    padding-left:24px;
    border-left:1px solid #e2e7ef;
}
.jcp-profile-actions .btn{
    width:100%;
    min-height:46px;
    justify-content:center;
    gap:8px;
    border-radius:11px;
    font-weight:850;
}
.jcp-profile-layout{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(290px,.72fr);
    gap:20px;
    align-items:start;
    margin-top:20px;
}
.jcp-profile-main,
.jcp-profile-sidebar{
    display:grid;
    gap:16px;
}
.jcp-profile-sidebar{
    position:sticky;
    top:88px;
}
.jcp-profile-section-heading{
    display:flex;
    gap:10px;
    align-items:center;
}
.jcp-profile-section-heading h2{
    margin:0;
    color:#182230;
    font-size:20px;
    letter-spacing:-.02em;
}
.jcp-section-icon{
    width:26px;
    height:26px;
    flex:0 0 26px;
    display:grid;
    place-items:center;
    border:2px solid #2463eb;
    border-radius:50%;
    color:#2463eb;
    font-size:13px;
    font-weight:900;
}
.jcp-profile-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:16px;
}
.jcp-profile-info-item{
    display:flex;
    min-width:0;
    gap:11px;
    padding:14px;
    border:1px solid #dfe5ed;
    border-radius:12px;
    background:#fff;
}
.jcp-info-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#eef3ff;
    color:#2463eb;
    font-size:15px;
    font-weight:900;
}
.jcp-profile-info-item>div{min-width:0}
.jcp-profile-address-item{grid-column:1/-1}
.jcp-profile-address-item strong{
    font-weight:600;
    line-height:1.55;
}
.jcp-profile-about{
    color:#344054;
}
.jcp-profile-lead{
    margin:16px 0 0;
    color:#253044;
    font-size:15px;
    line-height:1.7;
}
.jcp-profile-prose{
    margin-top:12px;
    color:#344054;
    font-size:14px;
    line-height:1.8;
}
.jcp-profile-side-card{
    padding:18px;
}
.jcp-profile-side-card .jcp-profile-section-heading h2{
    font-size:18px;
}
.jcp-profile-pills{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}
.jcp-profile-pills a,
.jcp-profile-pills span{
    padding:7px 12px;
    border-radius:999px;
    background:#f1f3f7;
    color:#344054;
    font-size:12px;
    font-weight:800;
}
.jcp-profile-socials{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}
.jcp-profile-socials a{
    padding:8px 11px;
    border:1px solid #dfe5ed;
    border-radius:9px;
    color:#344054;
    font-size:12px;
    font-weight:800;
}
.jcp-profile-side-card .jcp-opening-hours{
    margin-top:12px;
}
.jcp-profile-side-card .jcp-opening-hours>div{
    padding:7px 0;
}
@media(max-width:1050px){
    .jcp-profile-hero{
        grid-template-columns:130px minmax(0,1fr);
    }
    .jcp-profile-monogram{min-height:150px}
    .jcp-profile-actions{
        grid-column:1/-1;
        grid-template-columns:repeat(4,minmax(0,1fr));
        padding:16px 0 0;
        border-top:1px solid #e2e7ef;
        border-left:0;
    }
}
@media(max-width:820px){
    .jcp-profile-layout{grid-template-columns:1fr}
    .jcp-profile-sidebar{position:static}
}
@media(max-width:700px){
    .jcp-profile-hero{
        grid-template-columns:72px minmax(0,1fr);
        gap:15px;
        padding:18px;
        border-radius:18px;
    }
    .jcp-profile-monogram{
        min-height:72px;
        border-radius:15px;
    }
    .jcp-profile-monogram span{font-size:30px}
    .jcp-profile-title-row h1{font-size:28px}
    .jcp-profile-address{
        grid-column:1/-1;
        font-size:13px;
    }
    .jcp-profile-mini-grid{
        grid-template-columns:1fr;
    }
    .jcp-profile-actions{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .jcp-profile-info-grid{
        grid-template-columns:1fr;
    }
    .jcp-profile-address-item{grid-column:auto}
}
@media(max-width:460px){
    .jcp-profile-hero{
        grid-template-columns:1fr;
    }
    .jcp-profile-monogram{
        width:76px;
        min-height:76px;
    }
    .jcp-profile-actions{grid-template-columns:1fr}
}

/* 1.14.0 repair — center hero action button contents only */
.jcp-profile-actions .btn{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

/* 1.15.0 — Owner dashboard foundation */
.jcp-owner-shell{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:22px;
    align-items:start;
}
.jcp-owner-nav{
    position:sticky;
    top:86px;
    display:grid;
    gap:16px;
    padding:18px;
    border:1px solid #e1e6ee;
    border-radius:18px;
    background:#fff;
}
.jcp-owner-brand-block{
    display:flex;
    gap:10px;
    align-items:center;
    padding-bottom:14px;
    border-bottom:1px solid #edf0f4;
}
.jcp-owner-avatar{
    width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;
    border-radius:12px;background:#eef3ff;color:var(--brand);font-weight:900;
}
.jcp-owner-brand-block strong{display:block;color:#182230;font-size:13px}
.jcp-owner-brand-block span:last-child{display:block;margin-top:2px;color:#667085;font-size:11px}
.jcp-owner-nav nav{display:grid;gap:5px}
.jcp-owner-nav nav a,
.jcp-owner-nav form button{
    width:100%;padding:10px 11px;border:0;border-radius:10px;background:transparent;
    color:#475467;text-align:left;font:inherit;font-size:13px;font-weight:800;cursor:pointer;
}
.jcp-owner-nav nav a:hover,.jcp-owner-nav nav a.is-active{background:#eef3ff;color:var(--brand)}
.jcp-owner-nav form{padding-top:10px;border-top:1px solid #edf0f4}
.jcp-owner-nav form button:hover{background:#fff1f1;color:#a12b2b}
.jcp-owner-content{display:grid;gap:18px;min-width:0}
.jcp-owner-welcome{
    display:flex;justify-content:space-between;gap:18px;align-items:center;
    padding:24px;border:1px solid #e1e6ee;border-radius:18px;background:#fff;
}
.jcp-owner-welcome h1{margin:3px 0 0;color:#101828;font-size:32px;letter-spacing:-.035em}
.jcp-owner-welcome p{margin:7px 0 0;color:#667085}
.jcp-owner-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.jcp-owner-stats>div{padding:16px;border:1px solid #e1e6ee;border-radius:14px;background:#fff}
.jcp-owner-stats span{display:block;color:#667085;font-size:11px;font-weight:800;text-transform:uppercase}
.jcp-owner-stats strong{display:block;margin-top:6px;color:#182230;font-size:25px}
.jcp-owner-section{padding:20px;border:1px solid #e1e6ee;border-radius:18px;background:#fff}
.jcp-owner-section-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:14px}
.jcp-owner-section-head h2{margin:2px 0 0;color:#182230;font-size:24px}
.jcp-owner-count{padding:6px 10px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:800}
.jcp-owner-business-list{display:grid;gap:10px}
.jcp-owner-business-card{
    display:flex;justify-content:space-between;gap:18px;align-items:center;
    padding:15px;border:1px solid #e5e9ef;border-radius:13px;background:#fbfcfe;
}
.jcp-owner-business-main{display:flex;gap:12px;align-items:flex-start;min-width:0}
.jcp-owner-business-monogram{
    width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;
    border-radius:12px;background:#eef3ff;color:var(--brand);font-weight:900;
}
.jcp-owner-status-row{display:flex;flex-wrap:wrap;gap:5px}
.jcp-owner-status,.jcp-owner-small-badge{
    padding:3px 7px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:850;
}
.jcp-owner-status.status-published{background:#eaf8ef;color:#217442}
.jcp-owner-status.status-pending{background:#fff4db;color:#8a6514}
.jcp-owner-status.status-draft{background:#eef0f4;color:#596273}
.jcp-owner-business-card h3{margin:6px 0 0;color:#182230;font-size:16px}
.jcp-owner-business-card p{max-width:650px;margin:5px 0 0;color:#667085;font-size:12px;line-height:1.5}
.jcp-owner-business-meta{display:block;margin-top:6px;color:#8a94a6;font-size:11px}
.jcp-owner-business-actions{display:flex;flex:0 0 auto;gap:7px}
.jcp-owner-business-actions .btn{min-height:38px;padding:8px 12px;font-size:12px}
.jcp-owner-empty{padding:30px;text-align:center;border:1px dashed #d8dee8;border-radius:13px}
.jcp-owner-empty h3{margin:0;color:#182230}.jcp-owner-empty p{margin:7px 0 0;color:#667085}
.jcp-owner-help,.jcp-owner-protected-summary{
    padding:16px 18px;border:1px solid #dfe5ed;border-radius:14px;background:#f8faff;color:#475467;
}
.jcp-owner-help p,.jcp-owner-protected-summary p{margin:6px 0 0;font-size:12px;line-height:1.6}
.jcp-owner-protected-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.jcp-owner-protected-summary>div{padding:10px;border-radius:10px;background:#fff}
.jcp-owner-protected-summary span{display:block;color:#667085;font-size:10px;font-weight:850;text-transform:uppercase}
.jcp-owner-protected-summary strong{display:block;margin-top:4px;color:#253044;font-size:12px}
.jcp-owner-protected-summary p{grid-column:1/-1}
.jcp-owner-back{display:inline-block;margin-bottom:8px;color:var(--brand);font-size:12px;font-weight:850}
.jcp-owner-form{display:grid;gap:16px}
.jcp-owner-form-heading h2{margin:3px 0 0;color:#182230;font-size:22px}
.jcp-owner-form-heading p{margin:6px 0 0;color:#667085;font-size:12px}
.jcp-owner-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.jcp-owner-form-grid label{display:grid;gap:6px}
.jcp-owner-form-grid label>span{color:#475467;font-size:11px;font-weight:850}
.jcp-owner-form-grid input,.jcp-owner-form-grid textarea,.jcp-owner-hours input[type=time]{
    width:100%;padding:10px 11px;border:1px solid #d6dde7;border-radius:9px;background:#fff;color:#182230;font:inherit;
}
.jcp-owner-form-grid textarea{resize:vertical;line-height:1.55}
.jcp-owner-form-grid .span-2{grid-column:1/-1}
.jcp-owner-hours{margin-top:16px}
.jcp-owner-savebar{
    position:sticky;bottom:12px;display:flex;justify-content:flex-end;gap:9px;
    padding:12px;border:1px solid #dfe5ed;border-radius:13px;background:rgba(255,255,255,.96);
    box-shadow:0 8px 24px rgba(16,24,40,.08);z-index:5;
}
@media(max-width:900px){
    .jcp-owner-shell{grid-template-columns:1fr}
    .jcp-owner-nav{position:static}
    .jcp-owner-nav nav{grid-template-columns:repeat(3,minmax(0,1fr))}
    .jcp-owner-nav form{display:none}
}
@media(max-width:700px){
    .jcp-owner-welcome,.jcp-owner-business-card{align-items:flex-start;flex-direction:column}
    .jcp-owner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .jcp-owner-business-actions{width:100%}
    .jcp-owner-business-actions .btn{flex:1;justify-content:center}
    .jcp-owner-form-grid,.jcp-owner-protected-summary{grid-template-columns:1fr}
    .jcp-owner-form-grid .span-2,.jcp-owner-protected-summary p{grid-column:auto}
    .jcp-owner-nav nav{grid-template-columns:1fr}
}

/* 1.15.1 — Owner removal request workflow */
.jcp-owner-form-grid select{
    width:100%;
    padding:10px 11px;
    border:1px solid #d6dde7;
    border-radius:9px;
    background:#fff;
    color:#182230;
    font:inherit;
}
.jcp-owner-request-pending{
    cursor:default;
    opacity:.72;
}
.jcp-owner-removal-pending{
    padding:18px;
    border:1px solid #f1d69a;
    border-radius:12px;
    background:#fffaf0;
    color:#684d13;
}
.jcp-owner-removal-pending p{margin:6px 0 0;line-height:1.6}

/* 1.16.0 — Public Add Business */
.jcp-owner-top-actions{display:flex;gap:8px;flex-wrap:wrap}
.jcp-submission-rules{padding:17px 19px;border:1px solid #f0d28c;border-radius:14px;background:#fffaf0;color:#654b13}
.jcp-submission-rules p{margin:6px 0 0;font-size:12px;line-height:1.6}
.jcp-owner-form-grid select{width:100%;padding:10px 11px;border:1px solid #d6dde7;border-radius:9px;background:#fff;color:#182230;font:inherit}
.jcp-owner-form-grid small{display:block;color:#667085;font-size:10px;line-height:1.5}
.jcp-public-location-picker input[type=search]{width:100%;margin-bottom:6px;padding:9px 10px;border:1px solid #d6dde7;border-radius:9px;font:inherit}
.jcp-missing-location-note{margin-top:12px;padding:11px 12px;border-radius:10px;background:#f7f8fa;color:#596273;font-size:11px;line-height:1.55}
.jcp-accuracy-confirmation{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.jcp-accuracy-confirmation input{margin-top:3px}
.jcp-accuracy-confirmation strong,.jcp-accuracy-confirmation small{display:block}
.jcp-accuracy-confirmation small{margin-top:4px;color:#667085;line-height:1.5}

/* 1.16.1 — Friendlier City / Locality picker */
.jcp-location-choice{
    display:grid;
    gap:7px;
    align-content:start;
}
.jcp-location-choice-head>span{
    display:block;
    color:#475467;
    font-size:11px;
    font-weight:850;
}
.jcp-location-choice-head>small{
    display:block;
    margin-top:3px;
    color:#7b8494;
    font-size:10px;
    line-height:1.45;
}
.jcp-location-choice-head em{
    color:#c03737;
    font-style:normal;
}
.jcp-location-combobox{
    position:relative;
}
.jcp-location-combobox .jcp-location-search-icon{
    position:absolute;
    left:11px;
    top:50%;
    transform:translateY(-50%);
    color:#8a94a6;
    pointer-events:none;
}
.jcp-public-location-picker .jcp-location-combobox input[type=search]{
    margin:0;
    padding-left:32px;
    min-height:42px;
    background:#fff;
}
.jcp-location-choice select{
    min-height:42px;
}
.jcp-location-choice input:disabled,
.jcp-location-choice select:disabled{
    background:#f4f6f8;
    color:#8a94a6;
    cursor:not-allowed;
}
.jcp-location-help{
    min-height:30px;
    color:#667085 !important;
    line-height:1.45 !important;
}

/* 1.16.3 — Public category live search + select */
.jcp-public-category-picker{
    display:grid;
    gap:7px;
}
.jcp-public-category-picker select{
    width:100%;
    min-height:42px;
    padding:10px 11px;
    border:1px solid #d6dde7;
    border-radius:9px;
    background:#fff;
    color:#182230;
    font:inherit;
}
.jcp-category-search-wrap{
    position:relative;
}
.jcp-category-search-wrap .jcp-location-search-icon{
    position:absolute;
    left:11px;
    top:50%;
    transform:translateY(-50%);
    color:#8a94a6;
    pointer-events:none;
}
.jcp-category-search-wrap input{
    width:100%;
    min-height:42px;
    padding:10px 11px 10px 32px;
    border:1px solid #d6dde7;
    border-radius:9px;
    background:#fff;
    color:#182230;
    font:inherit;
}
.jcp-category-help{
    color:#667085;
    font-size:10px;
    line-height:1.5;
}
.jcp-category-warning{
    padding:10px 12px;
    border:1px solid #f0d28c;
    border-radius:9px;
    background:#fffaf0;
    color:#654b13;
    font-size:10px;
    line-height:1.5;
}

/* 1.16.4 — Single searchable Category combobox */
.jcp-category-combobox{
    position:relative;
}
.jcp-category-combobox input[data-category-input]{
    width:100%;
    min-height:44px;
    padding:10px 42px 10px 12px;
    border:1px solid #d6dde7;
    border-radius:9px;
    background:#fff;
    color:#182230;
    font:inherit;
}
.jcp-category-combobox.is-open input[data-category-input]{
    border-color:#98a2b3;
}
.jcp-category-toggle{
    position:absolute;
    right:1px;
    top:1px;
    width:40px;
    height:42px;
    border:0;
    border-left:1px solid #e4e7ec;
    background:transparent;
    color:#667085;
    font-size:20px;
    cursor:pointer;
}
.jcp-category-listbox{
    position:absolute;
    z-index:50;
    left:0;
    right:0;
    top:calc(100% + 5px);
    max-height:280px;
    overflow:auto;
    padding:6px;
    border:1px solid #d6dde7;
    border-radius:10px;
    background:#fff;
    box-shadow:0 10px 28px rgba(16,24,40,.12);
}
.jcp-category-option{
    display:block;
    width:100%;
    padding:9px 10px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#182230;
    text-align:left;
    font:inherit;
    cursor:pointer;
}
.jcp-category-option:hover,
.jcp-category-option:focus{
    background:#f2f4f7;
    outline:none;
}
.jcp-category-option.is-selected{
    font-weight:600;
    background:#f2f4f7;
}
.jcp-category-empty{
    padding:10px;
    color:#667085;
    font-size:12px;
}

/* 1.16.5 — Primary + optional additional category */
.jcp-category-option:disabled{
    display:none;
}

/* 1.16.7 — Fill business hours once and apply to all days */
.jcp-hours-apply-all{
    display:grid;
    grid-template-columns:minmax(180px,1fr) 130px 130px auto;
    gap:10px;
    align-items:end;
    margin:0 0 14px;
    padding:14px;
    border:1px solid #e4e7ec;
    border-radius:10px;
    background:#f8fafc;
}
.jcp-hours-apply-all>div strong,
.jcp-hours-apply-all>div small{
    display:block;
}
.jcp-hours-apply-all>div small{
    margin-top:3px;
    color:#667085;
    font-size:11px;
    line-height:1.45;
}
.jcp-hours-apply-all label span{
    display:block;
    margin-bottom:5px;
    font-size:11px;
    color:#475467;
}
.jcp-hours-apply-all input{
    width:100%;
    min-height:40px;
}
@media(max-width:760px){
    .jcp-hours-apply-all{
        grid-template-columns:1fr 1fr;
    }
    .jcp-hours-apply-all>div,
    .jcp-hours-apply-all .btn{
        grid-column:1/-1;
    }
}

/* 1.17.1 — Public Add Business landing */
.jcp-add-business-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:28px;align-items:center;padding:38px 0 24px}
.jcp-add-business-hero h1{margin:7px 0 12px;max-width:760px}
.jcp-add-business-hero>div>p{max-width:760px;line-height:1.7}
.jcp-add-business-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.jcp-add-business-login-note{margin-top:12px!important;color:#667085;font-size:13px}
.jcp-add-business-summary{padding:22px;border:1px solid #e4e7ec;border-radius:14px;background:#f8fafc}
.jcp-add-business-summary strong{display:block;margin-bottom:10px}
.jcp-add-business-summary ul{margin:0;padding-left:19px;color:#475467}
.jcp-add-business-summary li+li{margin-top:8px}
.jcp-add-business-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.jcp-add-business-info-grid article{padding:18px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}
.jcp-add-business-info-grid article strong{display:block;margin-bottom:7px}
.jcp-add-business-info-grid article p{margin:0;color:#667085;line-height:1.6}
.jcp-add-business-guidelines{margin-top:24px}
.jcp-add-business-guidelines p{max-width:900px;line-height:1.7}
.jcp-add-business-guidelines .btn{margin-top:8px}
@media(max-width:760px){
  .jcp-add-business-hero{grid-template-columns:1fr;padding-top:24px}
  .jcp-add-business-info-grid{grid-template-columns:1fr}
}

/* 1.17.3 — Public account auth */
.jcp-auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 14px;font-size:13px}
.jcp-auth-options .check{margin:0}
.jcp-auth-footer{margin-top:18px;padding-top:16px;border-top:1px solid #e4e7ec;text-align:center;color:#667085;font-size:14px}
.auth-card label small{display:block;margin-top:5px;color:#667085;font-size:11px;line-height:1.45}
@media(max-width:520px){.jcp-auth-options{align-items:flex-start;flex-direction:column}}

/* 1.17.4 — Email verification */
.jcp-auth-secondary-form{margin-top:10px}

/* 1.17.6 — About + legal pages */
.public-footer-grid{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(130px,1fr));gap:36px}
.jcp-legal-hero{max-width:900px;padding:22px 0 12px}
.jcp-legal-hero h1{max-width:850px;margin:5px 0 12px;color:#101828;font-size:clamp(34px,4.5vw,52px);line-height:1.05;letter-spacing:-.045em}
.jcp-legal-hero p{max-width:780px;margin:0;color:#667085;font-size:16px;line-height:1.7}
.jcp-legal-layout{display:grid;grid-template-columns:minmax(0,900px);padding:18px 0 34px}
.jcp-legal-content{padding:28px 32px;border:1px solid #e0e5ec;border-radius:18px;background:#fff}
.jcp-legal-content section+section{margin-top:30px;padding-top:26px;border-top:1px solid #edf0f4}
.jcp-legal-content h2{margin:0 0 10px;color:#182230;font-size:22px;line-height:1.25;letter-spacing:-.02em}
.jcp-legal-content p{margin:0;color:#475467;line-height:1.78}
.jcp-legal-content p+p{margin-top:12px}
.jcp-legal-content a{font-weight:700}
@media(max-width:980px){.public-footer-grid{grid-template-columns:2fr 1fr 1fr}}
@media(max-width:760px){
  .public-footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .jcp-legal-content{padding:22px 18px}
}
@media(max-width:520px){.public-footer-grid{grid-template-columns:1fr}}
