*{box-sizing:border-box}body.jssf-body{margin:0;background:#f5f7fb;color:#172033;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.jssf-app{min-height:100vh}.jssf-header{height:74px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100% - 1160px)/2));position:sticky;top:0;z-index:50;box-shadow:0 3px 20px #16213b0c}.jssf-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#172033}.jssf-brand img{width:42px;height:42px;object-fit:contain;border-radius:12px}.jssf-logo-fallback{display:grid;place-items:center;width:42px;height:42px;background:var(--brand);color:#fff;border-radius:12px;font-weight:900}.jssf-brand b{display:block}.jssf-brand small{display:block;color:#778196;font-size:11px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jssf-header nav{display:flex;align-items:center;gap:25px}.jssf-header nav a{text-decoration:none;color:#3b4558;font-weight:650;font-size:14px}.jssf-header nav .jssf-nav-cta{background:var(--brand);color:#fff;padding:11px 18px;border-radius:12px}.jssf-menu-btn{display:none;border:0;background:#edf2fa;border-radius:10px;font-size:20px;padding:8px 11px}.jssf-hero{max-width:1160px;margin:18px auto 0;min-height:440px;border-radius:28px;padding:60px;background:linear-gradient(135deg,#071d45,#176fe8);background-size:cover;background-position:center;display:flex;align-items:center;color:#fff;overflow:hidden}.jssf-hero>div{max-width:610px}.jssf-eyebrow,.jssf-section-head span,.jssf-about-band span,.jssf-page-hero>span{font-size:12px;font-weight:900;letter-spacing:1.6px;color:var(--accent)}.jssf-hero h1{font-size:50px;line-height:1.04;margin:15px 0}.jssf-hero p{font-size:18px;line-height:1.6;color:#e6eefc}.jssf-hero-actions{display:flex;gap:12px;margin-top:25px}.jssf-btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--brand);color:#fff;text-decoration:none;border-radius:14px;padding:14px 21px;font-weight:800;cursor:pointer}.jssf-hero .jssf-btn{background:var(--accent);color:#16213b}.jssf-btn.ghost{background:#ffffff1c;color:#fff;border:1px solid #ffffff55}.jssf-btn.full{width:100%;font-size:16px}.jssf-trust{max-width:900px;margin:-35px auto 0;position:relative;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;padding:18px;border-radius:20px;box-shadow:0 14px 35px #11284e20}.jssf-trust div{display:flex;align-items:center;justify-content:center;gap:9px;border-right:1px solid #e7ebf2}.jssf-trust div:last-child{border:0}.jssf-trust b{color:var(--brand)}.jssf-section{max-width:1160px;margin:70px auto;padding:0 18px}.jssf-section-head{text-align:center;max-width:600px;margin:0 auto 30px}.jssf-section-head h2{font-size:34px;margin:8px 0}.jssf-section-head p{color:#778196}.jssf-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.jssf-service-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 28px #1c35520d;border:1px solid #e9eef5}.jssf-service-card a{text-decoration:none;color:inherit}.jssf-card-img{height:175px;background:linear-gradient(135deg,#dbeafe,#eef6ff);background-size:cover;background-position:center;padding:12px}.jssf-card-img span{background:#fff;padding:7px 10px;border-radius:10px;font-size:11px;font-weight:800}.jssf-card-body{padding:17px}.jssf-card-body h3{margin:0 0 8px;font-size:18px}.jssf-card-body p{height:40px;overflow:hidden;color:#748095;font-size:13px;line-height:1.5}.jssf-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.jssf-card-foot b{color:var(--brand)}.jssf-card-foot span{font-size:13px;font-weight:800}.jssf-center{text-align:center;margin-top:30px}.jssf-link-btn{color:var(--brand);font-weight:800;text-decoration:none}.jssf-about-band{max-width:1160px;margin:70px auto;background:#0b2f6c;color:#fff;border-radius:28px;padding:46px;display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center}.jssf-about-art{height:150px;border-radius:28px;background:linear-gradient(135deg,var(--accent),#fff2b1);color:#10264d;display:grid;place-items:center;font-size:60px}.jssf-about-band h2{font-size:34px;margin:8px 0}.jssf-about-band p{color:#e0eafd;line-height:1.7}.jssf-about-band a{color:var(--accent);font-weight:800}.jssf-cta{max-width:900px;margin:70px auto 100px;background:linear-gradient(135deg,var(--brand),#0b2d66);color:#fff;text-align:center;padding:45px 20px;border-radius:28px}.jssf-cta h2{font-size:34px;margin:0 0 8px}.jssf-cta p{color:#dce7fa}.jssf-cta .jssf-btn{background:var(--accent);color:#152340}.jssf-page-hero{text-align:center;padding:65px 18px 40px;background:linear-gradient(180deg,#eaf2ff,#f5f7fb)}.jssf-page-hero h1{font-size:42px;margin:8px}.jssf-page-hero p{color:#738096}.jssf-single{max-width:1050px;margin:45px auto 100px;padding:0 18px;display:grid;grid-template-columns:1.1fr 1fr;gap:35px}.jssf-single-img{min-height:440px;border-radius:26px;background:#e8eef8 center/cover}.jssf-single-info{background:#fff;padding:32px;border-radius:26px;box-shadow:0 12px 35px #10264d0c}.jssf-single-info>span{color:var(--brand);font-weight:900}.jssf-single-info h1{font-size:38px;margin:8px 0}.jssf-price{font-size:24px;font-weight:900;color:var(--brand);margin:15px 0}.jssf-duration{background:#f0f5fc;padding:10px;border-radius:10px}.jssf-single-info p{line-height:1.7;color:#59667a}.jssf-content,.jssf-contact-grid,.jssf-form-wrap{max-width:780px;margin:35px auto 100px;background:#fff;padding:28px;border-radius:24px;box-shadow:0 12px 35px #10264d0d;line-height:1.8}.jssf-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.jssf-contact-grid div{background:#f7f9fc;padding:20px;border-radius:16px;display:flex;flex-direction:column;gap:7px}.jssf-contact-grid a{color:var(--brand)}.jssf-form label,.jssf-login-card label,.jssf-admin-form label{display:block;font-weight:750;font-size:13px;margin-bottom:14px}.jssf-form input,.jssf-form select,.jssf-form textarea,.jssf-login-card input,.jssf-admin-form input,.jssf-admin-form select,.jssf-admin-form textarea{width:100%;margin-top:7px;border:1px solid #dce3ee;background:#fff;border-radius:12px;padding:13px;font:inherit}.jssf-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jssf-alert{padding:13px;background:#fee2e2;color:#991b1b;border-radius:12px;margin-bottom:15px}.jssf-alert.success{background:#dcfce7;color:#166534}.jssf-footer{background:#102448;color:#fff;padding:40px max(18px,calc((100% - 1160px)/2)) 100px;display:grid;grid-template-columns:1fr auto;gap:20px}.jssf-footer p{color:#aebed8}.jssf-footer div:nth-child(2){display:flex;gap:20px}.jssf-footer a{color:#fff;text-decoration:none}.jssf-footer small{grid-column:1/-1;color:#91a2bd}.jssf-bottom{display:none}.jssf-login{min-height:100vh;background:linear-gradient(135deg,#09295f,var(--brand));display:grid;place-items:center;padding:18px}.jssf-login-card{background:#fff;width:min(420px,100%);padding:28px;border-radius:26px;box-shadow:0 25px 70px #0003}.jssf-login-brand{text-align:center;margin-bottom:22px}.jssf-login-brand img{width:72px;height:72px;object-fit:contain;border-radius:18px}.jssf-login-brand h1{margin:8px 0 0}.jssf-login-brand p{color:#748095}.jssf-login-card>a{display:block;text-align:center;margin-top:18px;color:var(--brand)}.jssf-dashboard{min-height:100vh;background:#f4f7fb;padding-bottom:80px}.jssf-dashboard>header{background:linear-gradient(135deg,#082859,var(--brand));color:#fff;padding:25px max(18px,calc((100% - 920px)/2));display:flex;justify-content:space-between;align-items:center}.jssf-dashboard>header small{color:#c9d7ed}.jssf-dashboard>header h1{font-size:23px;margin:4px 0}.jssf-dashboard>header a{color:#102448;background:var(--accent);padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:800}.jssf-dash-nav{max-width:920px;margin:-1px auto 0;background:#fff;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 5px 20px #10264d0b}.jssf-dash-nav a{text-align:center;padding:15px 5px;text-decoration:none;color:#59667a;font-weight:750;border-bottom:3px solid transparent}.jssf-dash-nav a.active{color:var(--brand);border-color:var(--brand)}.jssf-dashboard main{max-width:920px;margin:22px auto;padding:0 15px}.jssf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.jssf-stats div{background:#fff;padding:22px;border-radius:18px;box-shadow:0 8px 25px #10264d0b}.jssf-stats span{display:block;color:#748095}.jssf-stats b{font-size:32px;color:var(--brand)}.jssf-quick{margin-top:20px;background:#fff;padding:20px;border-radius:18px}.jssf-quick a{display:block;text-decoration:none;color:#24344f;padding:15px 0;border-bottom:1px solid #eef1f6;font-weight:750}.jssf-dashboard>footer{text-align:center}.jssf-dashboard>footer a{color:#c62828}.jssf-dash-section{background:#fff;border-radius:20px;padding:18px;box-shadow:0 8px 25px #10264d0b}.jssf-dash-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.jssf-dash-title h2{margin:0}.jssf-dash-title a{background:var(--brand);color:#fff;padding:9px 12px;border-radius:10px;text-decoration:none;font-weight:800}.jssf-admin-form{background:#f7f9fc;padding:16px;border-radius:16px;margin-bottom:18px}.jssf-check{display:flex!important;align-items:center;gap:8px}.jssf-check input{width:auto!important;margin:0!important}.jssf-admin-list article{display:grid;grid-template-columns:55px 1fr auto auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f6}.jssf-admin-list img{width:55px;height:55px;object-fit:cover;border-radius:12px}.jssf-admin-list small{display:block;color:#7b8799;margin-top:4px}.jssf-admin-list a{color:var(--brand);text-decoration:none}.jssf-admin-list a.danger{color:#c62828}.jssf-booking-list article{border:1px solid #e5eaf1;border-radius:16px;padding:15px;margin-bottom:12px}.jssf-booking-top{display:flex;justify-content:space-between}.status{font-size:11px;padding:6px 9px;border-radius:10px;background:#e8eef8}.status.new{background:#fff4cc}.status.confirmed{background:#dbeafe}.status.completed{background:#dcfce7}.status.cancelled{background:#fee2e2}.jssf-booking-list h3{margin:12px 0 5px}.jssf-booking-list p{color:#677489;font-size:13px}.jssf-booking-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.jssf-booking-actions>a,.jssf-booking-actions button{border:0;background:#edf3fb;color:#183458;padding:9px 11px;border-radius:9px;text-decoration:none;font-weight:750}.jssf-booking-actions form{display:flex;gap:5px}.jssf-booking-actions select{padding:8px;border:1px solid #dce3ee;border-radius:9px}.jssf-empty{grid-column:1/-1;text-align:center;padding:35px;color:#748095;background:#fff;border-radius:18px}
@media(max-width:760px){body.jssf-body{padding-bottom:68px}.jssf-header{height:66px;padding:0 14px}.jssf-menu-btn{display:block}.jssf-header nav{display:none;position:absolute;top:65px;left:10px;right:10px;background:#fff;padding:14px;border-radius:16px;box-shadow:0 18px 40px #10264d22;flex-direction:column;align-items:stretch;gap:0}.jssf-header nav.open{display:flex}.jssf-header nav a{padding:13px}.jssf-brand small{max-width:130px}.jssf-hero{margin:10px;border-radius:22px;min-height:410px;padding:28px 22px;align-items:flex-end}.jssf-hero h1{font-size:37px}.jssf-hero p{font-size:15px}.jssf-hero-actions{flex-direction:column}.jssf-trust{margin:-22px 18px 0;padding:10px;gap:0}.jssf-trust div{flex-direction:column;font-size:10px;text-align:center}.jssf-section{margin:50px auto}.jssf-section-head h2{font-size:29px}.jssf-service-grid{grid-template-columns:1fr 1fr;gap:11px}.jssf-card-img{height:125px}.jssf-card-body{padding:12px}.jssf-card-body h3{font-size:15px}.jssf-card-body p{font-size:11px;height:34px}.jssf-card-foot{display:block}.jssf-card-foot b{font-size:13px}.jssf-card-foot span{display:none}.jssf-about-band{margin:50px 12px;padding:24px;grid-template-columns:1fr}.jssf-about-art{height:100px}.jssf-about-band h2,.jssf-cta h2{font-size:28px}.jssf-cta{margin:50px 12px 80px;border-radius:22px}.jssf-page-hero{padding:45px 15px 28px}.jssf-page-hero h1{font-size:34px}.jssf-single{grid-template-columns:1fr;margin-top:18px;gap:14px}.jssf-single-img{min-height:280px}.jssf-single-info{padding:21px}.jssf-single-info h1{font-size:30px}.jssf-contact-grid,.jssf-content,.jssf-form-wrap{margin:18px 12px 80px;padding:18px}.jssf-contact-grid{grid-template-columns:1fr}.jssf-two{grid-template-columns:1fr}.jssf-footer{padding:35px 20px 100px;display:block}.jssf-footer div:nth-child(2){margin:20px 0;flex-wrap:wrap}.jssf-bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;height:68px;background:#fff;z-index:80;box-shadow:0 -5px 25px #10264d14}.jssf-bottom a{text-decoration:none;color:#657286;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:19px}.jssf-bottom a span{font-size:9px;font-weight:700;margin-top:3px}.jssf-bottom .book{background:var(--brand);color:#fff;width:56px;height:56px;margin:-14px auto 0;border-radius:50%;box-shadow:0 8px 18px color-mix(in srgb,var(--brand),transparent 65%)}.jssf-dashboard>header{padding:20px 15px}.jssf-dashboard>header h1{font-size:19px}.jssf-dash-nav{position:sticky;top:0;z-index:20}.jssf-dash-nav a{font-size:12px}.jssf-stats{grid-template-columns:1fr 1fr}.jssf-stats div:last-child{grid-column:1/-1}.jssf-admin-list article{grid-template-columns:45px 1fr auto}.jssf-admin-list article>a.danger{grid-column:3}.jssf-admin-list img{width:45px;height:45px}.jssf-booking-actions form{width:100%}.jssf-booking-actions select{flex:1}}

/* v1.0.2 direct mobile gallery uploader */
.jssf-gallery-field{margin-top:7px}.jssf-gallery-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.jssf-gallery-btn{display:flex!important;align-items:center;justify-content:center;min-height:48px;margin:0!important;padding:12px 14px;border:1.5px dashed var(--brand);border-radius:13px;background:#fff;color:var(--brand);font-weight:850!important;cursor:pointer;text-align:center}.jssf-image-preview{margin-top:10px;min-height:110px;border:1px solid #e1e7f0;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;color:#8692a5;font-size:12px}.jssf-image-preview img{width:100%;height:180px;object-fit:cover;display:block}.jssf-image-preview.logo img{height:120px;object-fit:contain;padding:10px}.jssf-image-preview.banner img{height:170px;object-fit:cover}.jssf-admin-link{font-weight:800;color:var(--accent)!important}
@media(max-width:760px){.jssf-gallery-btn{min-height:52px;font-size:14px}.jssf-image-preview img{height:165px}.jssf-image-preview.logo img{height:115px}.jssf-image-preview.banner img{height:155px}.jssf-admin-link{width:100%;padding-top:12px;border-top:1px solid #ffffff22}}

/* v1.0.4 larger storefront logo */
.jssf-brand img{width:auto;height:58px;max-width:190px;object-fit:contain;border-radius:8px;display:block}
.jssf-brand{min-height:64px}
@media(max-width:760px){.jssf-header{height:76px}.jssf-brand img{width:auto;height:62px;max-width:180px}.jssf-brand{min-height:70px}.jssf-header nav{top:75px}}

/* v1.0.5 extra-large highly visible storefront logo */
.jssf-header{height:108px}
.jssf-brand{min-height:100px;flex:0 1 auto}
.jssf-brand img{width:auto!important;height:94px!important;max-width:300px!important;max-height:94px!important;object-fit:contain!important;border-radius:6px!important;display:block}
@media(max-width:760px){.jssf-header{height:96px;padding:0 10px}.jssf-brand{min-height:90px;max-width:calc(100% - 52px)}.jssf-brand img{width:auto!important;height:84px!important;max-width:245px!important;max-height:84px!important}.jssf-header nav{top:95px}.jssf-brand b,.jssf-brand small{display:none}}

/* v1.0.6 cache-safe prominent logo */
.jssf-header{height:112px!important}
.jssf-brand{min-height:104px!important;max-width:min(360px,calc(100% - 60px))!important;overflow:visible!important}
.jssf-brand img{height:100px!important;max-height:100px!important;max-width:340px!important;width:auto!important;object-fit:contain!important;display:block!important}
@media(max-width:760px){.jssf-header{height:104px!important;padding:0 8px!important}.jssf-brand{min-height:98px!important;max-width:calc(100% - 50px)!important}.jssf-brand img{height:92px!important;max-height:92px!important;max-width:290px!important}.jssf-header nav{top:103px!important}.jssf-brand b,.jssf-brand small{display:none!important}}


/* v1.0.7 mobile storefront polish: visible logo + cleaner hero/banner */
@media(max-width:760px){
  /* Keep the business name visible, but make the uploaded logo itself readable. */
  .jssf-header{height:84px!important;padding:0 12px!important}
  .jssf-brand{min-height:76px!important;max-width:calc(100% - 58px)!important;gap:10px!important;overflow:hidden!important}
  .jssf-brand img{
    width:68px!important;height:68px!important;min-width:68px!important;max-width:68px!important;max-height:68px!important;
    object-fit:cover!important;object-position:center!important;border-radius:10px!important;background:#fff!important
  }
  .jssf-brand>span{display:block!important;min-width:0!important}
  .jssf-brand b{display:block!important;font-size:17px!important;line-height:1.15!important;white-space:normal!important;max-width:220px!important}
  .jssf-brand small{display:none!important}
  .jssf-header nav{top:83px!important}

  /* Give the banner more room and stop the generic copy from hiding the image. */
  .jssf-hero{
    margin:10px!important;border-radius:22px!important;min-height:360px!important;padding:22px 20px!important;
    align-items:flex-end!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important
  }
  .jssf-hero>div{max-width:100%!important;width:100%!important;background:linear-gradient(180deg,transparent,rgba(4,19,46,.72));margin:-22px -20px -22px!important;padding:90px 20px 22px!important}
  .jssf-hero .jssf-eyebrow{display:none!important}
  .jssf-hero h1{font-size:30px!important;line-height:1.08!important;margin:0 0 10px!important;max-width:92%!important;text-shadow:0 2px 8px #0008}
  .jssf-hero p{font-size:14px!important;line-height:1.45!important;margin:0 0 14px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-shadow:0 1px 6px #0008}
  .jssf-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important}
  .jssf-hero-actions .jssf-btn{padding:12px 8px!important;font-size:14px!important;border-radius:12px!important}
  .jssf-trust{margin:-18px 18px 0!important}
}

/* v1.0.8: mobile hero is a clean, fully-fitted business banner */
@media (max-width:760px){
  .jssf-hero{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    padding:0!important;
    margin:12px 18px!important;
    border-radius:24px!important;
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#eef3f8!important;
    overflow:hidden!important;
    display:block!important;
  }
  .jssf-hero>div{
    display:none!important;
  }
}

/* v1.0.9: uncropped service images + clean natural-ratio banner */
.jssf-hero.has-image{
  max-width:1160px!important;
  min-height:0!important;
  height:auto!important;
  margin:18px auto 0!important;
  padding:0!important;
  display:block!important;
  background:none!important;
  border-radius:26px!important;
  overflow:hidden!important;
}
.jssf-hero.has-image .jssf-hero-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#eef3f8!important;
}
.jssf-card-img{
  position:relative!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  padding:0!important;
  background:#f4f7fb!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.jssf-card-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.jssf-card-img span{
  position:absolute!important;
  left:10px!important;
  top:10px!important;
  z-index:2!important;
  box-shadow:0 4px 12px #10264d18!important;
}
@media(max-width:760px){
  .jssf-hero.has-image{
    margin:12px 10px!important;
    aspect-ratio:auto!important;
    border-radius:18px!important;
  }
  .jssf-hero.has-image .jssf-hero-img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .jssf-card-img{
    height:auto!important;
    aspect-ratio:1 / 1!important;
  }
}

/* v1.1.0 Premium Website Upgrade */
.jssf-service-card{display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;border-color:#e6ebf2}.jssf-service-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px #17345b16}.jssf-card-main{display:block;flex:1}.jssf-card-body{display:flex;flex-direction:column;min-height:150px}.jssf-card-body p{height:auto;min-height:40px}.jssf-card-foot{margin-top:auto;padding-top:12px}.jssf-card-book{margin:0 14px 14px!important;background:var(--brand);color:#fff!important;border-radius:12px;padding:11px 14px;text-align:center;font-size:13px;font-weight:850;display:block}
.jssf-trust{max-width:1060px;grid-template-columns:repeat(4,1fr);padding:16px 18px}.jssf-trust div{justify-content:flex-start;padding:4px 16px}.jssf-trust b{width:36px;height:36px;border-radius:12px;background:color-mix(in srgb,var(--brand),white 90%);display:grid;place-items:center;font-size:17px;flex:0 0 auto}.jssf-trust span{display:flex;flex-direction:column}.jssf-trust strong{font-size:13px;color:#26364f}.jssf-trust small{font-size:10px;color:#8994a5;margin-top:2px}
.jssf-premium-section{max-width:1160px;margin:72px auto;padding:0 18px}.jssf-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.jssf-why-grid article,.jssf-offer-grid article,.jssf-review-grid article{background:#fff;border:1px solid #e8edf4;border-radius:20px;padding:22px;box-shadow:0 9px 28px #17345b0b}.jssf-why-grid i{font-style:normal;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand),white 90%);color:var(--brand);font-weight:900;font-size:20px}.jssf-why-grid h3{margin:15px 0 6px;font-size:18px}.jssf-why-grid p,.jssf-offer-grid p,.jssf-review-grid p{margin:0;color:#748095;line-height:1.65;font-size:14px}
.jssf-offers{background:linear-gradient(180deg,#f0f6ff,#f7f9fc);max-width:none;padding:66px max(18px,calc((100% - 1160px)/2));}.jssf-offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.jssf-offer-grid article{position:relative;overflow:hidden}.jssf-offer-badge{display:inline-block;background:var(--accent);color:#172033;font-size:10px;font-weight:900;letter-spacing:1px;border-radius:999px;padding:6px 9px}.jssf-offer-grid h3{font-size:20px;margin:14px 0 10px}.jssf-offer-price{display:flex;align-items:baseline;gap:9px;margin-bottom:12px}.jssf-offer-price del{color:#9ca6b5;font-size:13px}.jssf-offer-price strong{font-size:25px;color:var(--brand)}.jssf-offer-grid a{display:inline-flex;margin-top:16px;text-decoration:none;background:var(--brand);color:#fff;padding:10px 14px;border-radius:11px;font-weight:800;font-size:13px}
.jssf-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.jssf-gallery-grid figure{margin:0;aspect-ratio:1/1;background:#eef2f7;border-radius:18px;overflow:hidden;border:1px solid #e3e9f1}.jssf-gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.jssf-gallery-grid figure:hover img{transform:scale(1.035)}
.jssf-reviews{background:#fff;max-width:none;padding:66px max(18px,calc((100% - 1160px)/2));}.jssf-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.jssf-stars{color:#f4a900;letter-spacing:2px;margin-bottom:12px}.jssf-review-grid strong{display:block;margin-top:16px;color:#26364f}
.jssf-faq-list{max-width:850px;margin:0 auto}.jssf-faq details{background:#fff;border:1px solid #e5ebf2;border-radius:16px;padding:0 18px;margin-bottom:10px;box-shadow:0 5px 16px #17345b08}.jssf-faq summary{cursor:pointer;font-weight:800;padding:17px 4px;list-style:none}.jssf-faq summary::-webkit-details-marker{display:none}.jssf-faq summary:after{content:'+';float:right;color:var(--brand);font-size:20px}.jssf-faq details[open] summary:after{content:'−'}.jssf-faq details p{color:#69778c;line-height:1.65;margin:0;padding:0 4px 18px}
.jssf-about-art{overflow:hidden;background:#fff}.jssf-about-art img{width:100%;height:100%;object-fit:contain;padding:18px}.jssf-cta>span{font-size:11px;font-weight:900;letter-spacing:1.5px;color:var(--accent)}.jssf-cta-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.jssf-cta .jssf-btn.ghost{background:transparent;border-color:#ffffff66;color:#fff}
.jssf-single-media{min-height:440px;background:#fff;border:1px solid #e7edf4;border-radius:26px;display:grid;place-items:center;overflow:hidden;box-shadow:0 12px 35px #10264d0b}.jssf-single-media img{width:100%;height:100%;max-height:560px;object-fit:contain;display:block;background:#f7f9fc}.jssf-single-placeholder{color:#9aa5b4;font-weight:800}.jssf-service-copy p{line-height:1.75;color:#59667a}.jssf-single-actions{display:flex;gap:10px;margin-top:22px}.jssf-wa-btn{background:#15803d}.jssf-service-trust{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.jssf-service-trust span{font-size:11px;font-weight:750;color:#506078;background:#f2f6fb;border-radius:999px;padding:7px 10px}
.jssf-form-wrap{max-width:850px}.jssf-form{background:linear-gradient(180deg,#fff,#fbfcfe)}.jssf-form label{color:#26364f}.jssf-form input:focus,.jssf-form select:focus,.jssf-form textarea:focus,.jssf-admin-form input:focus,.jssf-admin-form select:focus,.jssf-admin-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand),transparent 88%)}
.jssf-dash-nav{grid-template-columns:repeat(5,1fr)}.jssf-help{background:#eef5ff;border:1px solid #dbeafe;border-radius:12px;padding:12px;color:#4a5c76;font-size:12px;line-height:1.55}.jssf-premium-form label small{display:block;color:#8994a5;font-weight:500;margin-top:3px}.jssf-manage-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 18px}.jssf-manage-gallery label{margin:0!important;background:#fff;border:1px solid #e1e7ef;border-radius:12px;overflow:hidden}.jssf-manage-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.jssf-manage-gallery span{display:flex;align-items:center;gap:5px;padding:7px;font-size:10px}.jssf-manage-gallery input{width:auto!important;margin:0!important}
@media(max-width:760px){
  body.jssf-body{padding-bottom:76px}.jssf-trust{grid-template-columns:1fr 1fr;margin:12px 10px 0!important;border-radius:18px;gap:0;padding:8px}.jssf-trust div{flex-direction:row!important;text-align:left!important;justify-content:flex-start!important;border-right:0!important;border-bottom:1px solid #edf1f6;padding:10px 8px}.jssf-trust div:nth-child(3),.jssf-trust div:nth-child(4){border-bottom:0}.jssf-trust b{width:30px;height:30px;font-size:14px}.jssf-trust strong{font-size:11px}.jssf-trust small{font-size:9px}
  .jssf-card-body{min-height:128px}.jssf-card-book{margin:0 10px 10px!important;padding:10px 8px;font-size:12px}
  .jssf-premium-section{margin:50px auto}.jssf-why-grid,.jssf-offer-grid,.jssf-review-grid{grid-template-columns:1fr;gap:11px}.jssf-why-grid article,.jssf-offer-grid article,.jssf-review-grid article{padding:18px}.jssf-offers,.jssf-reviews{padding:48px 14px}.jssf-gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.jssf-gallery-grid figure{border-radius:14px}
  .jssf-about-art img{padding:10px}.jssf-cta-actions{flex-direction:column}.jssf-single-media{min-height:0;aspect-ratio:1/1}.jssf-single-media img{height:100%;max-height:none}.jssf-single-actions{display:grid;grid-template-columns:1fr 1fr}.jssf-single-actions .jssf-btn{padding:12px 8px;font-size:13px}
  .jssf-action-bar{display:grid!important;grid-template-columns:1fr 1.18fr 1fr!important;height:72px!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom));gap:7px;background:#fff}.jssf-action-bar a{height:52px!important;border-radius:14px;background:#eef3f9!important;color:#26364f!important;flex-direction:row!important;gap:6px;font-size:14px!important;font-weight:800}.jssf-action-bar a b{font-size:17px}.jssf-action-bar a span{font-size:11px!important;margin:0!important}.jssf-action-bar .book{width:auto!important;height:52px!important;margin:0!important;border-radius:14px!important;background:var(--brand)!important;color:#fff!important;box-shadow:none!important}.jssf-action-bar .wa{background:#e8f7ee!important;color:#116b35!important}
  .jssf-dash-nav{grid-template-columns:repeat(5,1fr);overflow-x:auto}.jssf-dash-nav a{font-size:10px;padding:13px 3px;white-space:nowrap}.jssf-manage-gallery{grid-template-columns:repeat(3,1fr)}
}

/* v1.1.1 — Auto brand-colour system for premium sections */
.jssf-about-band{
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--brand),#07111f 34%),
    color-mix(in srgb,var(--brand),#000 52%))!important;
  box-shadow:0 22px 55px color-mix(in srgb,var(--brand),transparent 82%);
}
.jssf-about-band>div:last-child>span,.jssf-cta>span{color:var(--accent)!important}
.jssf-about-band p{color:#fff!important;opacity:.86}
.jssf-about-band a{color:var(--accent)!important}
.jssf-about-art{
  background:#fff!important;
  min-height:160px!important;
  height:auto!important;
  aspect-ratio:16/10;
  padding:14px;
  border-radius:24px!important;
  box-shadow:inset 0 0 0 1px #e7ebf2,0 12px 28px #00000014;
}
.jssf-about-art img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:190px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:6px!important;
}
.jssf-cta{
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--brand),#fff 4%),
    color-mix(in srgb,var(--brand),#000 42%))!important;
  box-shadow:0 24px 60px color-mix(in srgb,var(--brand),transparent 78%);
}
.jssf-cta p{color:#fff!important;opacity:.84}
.jssf-cta .jssf-btn:not(.ghost){background:var(--accent)!important;color:#172033!important}
.jssf-cta .jssf-btn.ghost{background:#ffffff0d!important;border:1px solid #ffffff59!important;color:#fff!important}
.jssf-footer{
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--brand),#07111f 48%),
    color-mix(in srgb,var(--brand),#000 66%))!important;
}
.jssf-footer p,.jssf-footer small{color:#fff!important;opacity:.64}
.jssf-footer .jssf-admin-link{color:var(--accent)!important}

@media(max-width:760px){
  .jssf-about-art{min-height:150px!important;aspect-ratio:16/9!important;padding:10px!important}
  .jssf-about-art img{max-height:170px!important;padding:4px!important}
  .jssf-about-band{box-shadow:0 16px 38px color-mix(in srgb,var(--brand),transparent 86%)}
  .jssf-cta{box-shadow:0 16px 38px color-mix(in srgb,var(--brand),transparent 84%)}
}
