/* Jo’s Ices — candy-neon SitePilot edition.
   Existing photos, location, public wording and secure owner controls remain functional. */
:root{--jo-cyan:#37d9ff;--jo-pink:#fa3ca8;--jo-lilac:#8756e9;--jo-navy:#0a1633}
*{box-sizing:border-box}
:focus-visible{outline:3px solid #00bfea!important;outline-offset:3px}
body{background:#0b1230;color:#fff}
#app.jo-site{background:#fff5fc;color:#242747}
.jo-site .top{
  background:linear-gradient(116deg,#0c183e,#2c1a65 51%,#b72480)!important;
  border-bottom:5px solid #34dcf3!important;box-shadow:0 10px 32px #34235c32;
  color:#fff;
}
.jo-site .brand{font-weight:950;font-size:clamp(1.3rem,2.7vw,1.75rem);
  color:#fff;text-shadow:2px 3px 0 #ff3da9;letter-spacing:-.05em}
.jo-site .navlinks a{border:1px solid #f88ff144!important;background:#171d53bb!important;
  border-radius:13px!important;font-weight:850;color:#fff}
.jo-site .navlinks a:hover{background:#ed41ae50!important;border-color:#75dfff!important}
.jo-site .hero{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 95% 20%,#fa3ca970,transparent 32%),
    radial-gradient(circle at 12% 74%,#15c8fd76,transparent 35%),
    linear-gradient(135deg,#071c41 4%,#46206d 55%,#e62b97 115%)!important;
  border-bottom:8px solid #2de2ff;
  color:white!important;
  min-height:475px;
}
.jo-site .hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(132deg,transparent 0 105px,#f9a3fa17 106px 109px,transparent 110px 186px);
}
.jo-site .hero::after{
  content:"🍦";position:absolute;right:4%;bottom:-32px;font-size:clamp(9rem,23vw,21rem);
  line-height:1;transform:rotate(12deg);opacity:.24;pointer-events:none;filter:drop-shadow(0 13px 25px #0006)
}
.jo-site .hero>.shell{position:relative;z-index:1}
.jo-site .hero h1{
  max-width:900px;font-size:clamp(2.7rem,6vw,5.7rem);font-weight:1000;line-height:1.02;
  letter-spacing:-.07em;text-shadow:3px 5px 0 #6b2878aa,0 12px 25px #0006;
}
.jo-site .hero h1 em{color:#ffe5f4!important;font-style:normal}
.jo-site .hero .pill{
  background:#04c8f321!important;border:2px solid #72f3ff!important;color:#fff!important;
  font-weight:1000;letter-spacing:.13em;box-shadow:0 0 16px #00cafa30
}
.jo-site .hero .lead{color:#fff;font-weight:600;max-width:670px;font-size:clamp(1.05rem,2.2vw,1.28rem)}
.jo-site .button,.jo-site .btn{
  background:linear-gradient(120deg,#ff3cb2,#f82f83)!important;color:#fff!important;
  border-radius:14px!important;border:2px solid #ffd6f3!important;
  font-weight:900!important;box-shadow:0 6px 0 #5e215f,0 13px 25px #0003;
  transition:transform .17s ease,filter .17s ease;
}
.jo-site .button:hover,.jo-site .btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.jo-site .button.secondary,.jo-site .btn.secondary{
  background:#ebffff!important;color:#17285b!important;border-color:#88ffff!important;
  box-shadow:0 6px 0 #1e6fb3!important;
}
.jo-site .status{
  background:#0d294de0!important;border:2px solid #6feeff!important;
  color:#fff!important;box-shadow:0 4px 20px #0005;
  border-radius:17px!important;font-size:.85rem;max-width:100%;
}
.jo-site .section{position:relative}
.jo-site .section:nth-child(odd){background:linear-gradient(150deg,#effdff,#ffeff9)!important}
.jo-site .section:nth-child(even){background:linear-gradient(165deg,#fff4fd,#f5ecff 84%)!important}
.jo-site .section .eyebrow{color:#b82083!important;font-weight:950}
.jo-site .section h2{
  color:#241b50;font-size:clamp(2rem,4.3vw,3.5rem)!important;
  line-height:1.1;letter-spacing:-.065em;font-weight:950;
}
.jo-site .section h2::after{content:"";display:block;margin:14px 0 0;width:92px;height:7px;
  border-radius:9px;transform:skew(-23deg);background:linear-gradient(90deg,#fd3ea8,#37d7ff);
  box-shadow:0 0 13px #ff3aae50}
.jo-site .cards{gap:18px}
.jo-site .card,.jo-site .locationbox{
  position:relative;background:#fff!important;border:2px solid #e7b9ea!important;
  color:#223058!important;border-radius:22px!important;overflow:hidden;
  box-shadow:0 16px 26px #56225e1a;
}
.jo-site .card::before,.jo-site .locationbox::before{
  content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,#ff40a9,#955cf4,#31cbf7);
}
.jo-site .card h3,.jo-site .locationbox h2{color:#251c53}
.jo-site .card p,.jo-site .locationbox p{color:#414562}
.jo-site .card:hover,.jo-site .photo:hover{transform:translateY(-3px);
  box-shadow:0 22px 40px #a131951f;border-color:#ff68b9!important}
.jo-site .gallery{gap:19px}
.jo-site .photo{
  position:relative;border:4px solid #fc9cd8!important;border-radius:23px!important;
  background:white!important;box-shadow:0 12px 27px #66277229;overflow:hidden;
}
.jo-site .photo:nth-child(even){border-color:#70dffe!important}
.jo-site .photo img{height:clamp(210px,23vw,290px);transition:transform .28s}
.jo-site .photo:hover img{transform:scale(1.045)}
.jo-site .photo figcaption strong{color:#292154;font-weight:950}
.jo-site .photo figcaption p{color:#525572}
.jo-site .muted{color:#494e74}
.jo-site .locationbox{padding:27px}
.jo-site .locationbox h2{font-size:clamp(1.75rem,3vw,2.5rem)!important}
.jo-site .locationbox h2::after{width:54px;height:5px}
.jo-site .locationbox a{color:#a22485;text-decoration-thickness:2px;text-underline-offset:3px}
.jo-site .field{background:#fff!important;border:2px solid #bbadd1!important;
  color:#1b2447!important;border-radius:12px!important}
.jo-site .field:focus{border-color:#e2359f!important;box-shadow:0 0 0 3px #f22fa821}
.jo-site .footer{
  border-top:5px solid #fa4cbd;background:#151e50;color:#e5e2ff;
  padding-top:28px;padding-bottom:28px;
}
.jo-site .footer a{color:#88eafa}
/* Light, friendly public pages and distinct, easy-to-use private SitePilot app */
#app:not(.jo-site){background:
 radial-gradient(circle at 88% 3%,#922d8455,transparent 28%),
 radial-gradient(circle at 6% 66%,#0cc5eb36,transparent 33%),
 #080f27;color:#f7fbff;min-height:100vh}
#app:not(.jo-site) .top{background:linear-gradient(115deg,#101b48,#3a1a63)!important;border-bottom:3px solid #2edcff}
#app:not(.jo-site) .brand{color:#fff;font-weight:950}
#app:not(.jo-site) .panel-body{max-width:1140px;margin:auto;padding-top:40px}
#app:not(.jo-site) .tabs{gap:10px}
#app:not(.jo-site) .tab{background:#19264d;color:#e1f4ff;border:1px solid #476faf;border-radius:15px;min-height:58px}
#app:not(.jo-site) .tab.active{background:linear-gradient(110deg,#3edafa,#9a70f5)!important;color:#081430}
#app:not(.jo-site) .panel-card,#app:not(.jo-site) .login{
  border:1px solid #4b78ae!important;background:linear-gradient(145deg,#172d50,#111731)!important;
  border-radius:23px!important;box-shadow:0 15px 43px #0006;
}
#app:not(.jo-site) .panel-card h2{color:#eaffff;font-weight:900}
#app:not(.jo-site) .field{border:1px solid #5276a7!important;background:#0d1a37!important;color:#fff}
#app:not(.jo-site) .btn:not(.danger){background:linear-gradient(110deg,#3ee1ff,#8e80ff)!important;color:#091632!important;font-weight:900}
#app:not(.jo-site) .btn.secondary{color:#fff!important;background:#22274e!important}
#app:not(.jo-site) .notice{background:#1a2c4d;border:1px solid #7c67bb}
#app:not(.jo-site) .pill{border-color:#37d6ff}
#app:not(.jo-site) .eyebrow{color:#4adefe}
@media(max-width:670px){
 .jo-site .hero{min-height:0;padding:59px 0 73px}
 .jo-site .hero::after{font-size:10rem;opacity:.14;right:-25px;bottom:-20px}
 .jo-site .section{padding:40px 0}
 .jo-site .locationbox{padding:22px}
 .jo-site .card{padding:23px}
 #app:not(.jo-site) .panel-body{padding-top:20px}
 #app:not(.jo-site) .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #app:not(.jo-site) .tab{font-size:.86rem;min-height:52px;padding:9px}
 .jo-site .photo:hover img{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .jo-site .photo img,.jo-site .button,.jo-site .btn{transition:none}
 .jo-site .card:hover,.jo-site .photo:hover,.jo-site .photo:hover img,.jo-site .button:hover{transform:none}
}
/* Gallery-backed candy-neon hero: customer photos, not artificial food claims. */
.jo-site.jo-candy-home .hero>.shell{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,440px);
 gap:12px 31px;align-items:center;max-width:1220px;position:relative;z-index:2
}
.jo-site.jo-candy-home .hero>.shell>.pill,
.jo-site.jo-candy-home .hero>.shell>h1,
.jo-site.jo-candy-home .hero>.shell>.lead,
.jo-site.jo-candy-home .hero>.shell>.actions,
.jo-site.jo-candy-home .hero>.shell>.status{grid-column:1;justify-self:start}
.jo-site.jo-candy-home .hero>.shell>.pill{align-self:end}
.jo-site.jo-candy-home .hero>.shell>h1{margin:0;font-size:clamp(2.75rem,4.5vw,5.2rem)}
.jo-site.jo-candy-home .hero>.shell>.actions{margin:12px 0}
.jo-candy-stage{
 position:relative;grid-row:1/span 5;grid-column:2;min-height:465px;
 display:grid;place-items:center;isolation:isolate;
}
.jo-candy-stage::before{
 content:"";position:absolute;inset:7% 0 6% 2%;border:3px solid #3fedfe;
 border-radius:50%;transform:rotate(-18deg);box-shadow:0 0 43px #1cbcf954;z-index:-1
}
.jo-candy-main{
 border:8px solid #f6f7ff;border-radius:29px;width:78%;height:325px;
 transform:rotate(-7deg) translate(-4px,-11px);overflow:hidden;
 box-shadow:0 14px 0 #ff4aaa,0 22px 52px #0008;background:#4c9bd2
}
.jo-candy-main img{width:100%;height:100%;object-fit:cover;display:block}
.jo-candy-small{
 width:41%;height:190px;position:absolute;right:0;bottom:5%;
 transform:rotate(9deg);border:7px solid white;border-radius:22px;
 box-shadow:0 9px 0 #2be4f1,0 19px 35px #0008;overflow:hidden;
 background:#eb61b2
}
.jo-candy-small img{width:100%;height:100%;object-fit:cover;display:block}
.jo-candy-kicker{
 position:absolute;top:4%;right:1%;padding:7px 22px;transform:rotate(10deg);
 background:#34e2ff;color:#07192c;font-size:1.6rem;font-weight:1000;
 letter-spacing:-.06em;clip-path:polygon(2% 12%,99% 0,94% 89%,0 100%);
 box-shadow:0 10px 28px #0008
}
.jo-candy-stamp{
 position:absolute;left:-13px;bottom:5%;transform:rotate(-8deg);
 background:#ff3fac;color:#090e23;font-weight:950;
 font-size:.94rem;letter-spacing:.06em;padding:14px 20px;
 clip-path:polygon(4% 3%,98% 0,100% 88%,0 100%)
}
@media(max-width:850px){
 .jo-site.jo-candy-home .hero>.shell{grid-template-columns:minmax(0,1fr) 270px}
 .jo-candy-stage{min-height:370px}.jo-candy-main{height:268px}
 .jo-candy-small{height:150px}
 .jo-candy-kicker{font-size:1.17rem}
 .jo-candy-stamp{font-size:.75rem;left:0}
}
@media(max-width:700px){
 .jo-site.jo-candy-home .hero>.shell{display:flex;flex-direction:column;align-items:stretch;gap:14px}
 .jo-site.jo-candy-home .hero>.shell>.pill{align-self:flex-start}
 .jo-site.jo-candy-home .hero>.shell>h1{font-size:clamp(2.65rem,10vw,4.8rem)}
 .jo-site.jo-candy-home .hero>.shell>.actions{margin:10px 0}
 .jo-candy-stage{min-height:390px;width:min(100%,390px);align-self:center;order:5}
 .jo-candy-main{height:295px}
 .jo-candy-small{height:158px;bottom:3%;right:3%}
 .jo-candy-kicker{right:3%}
 .jo-candy-stamp{bottom:9%;left:1%}
}
.jo-site .footer .jo-powered,#app:not(.jo-site) .footer .jo-powered{display:inline-flex;align-items:center;vertical-align:middle;padding:2px 3px;margin-left:4px;text-decoration:none}.jo-powered img{display:block;object-fit:contain;width:auto;height:35px;max-width:170px}.jo-site .footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.jo-powered:focus-visible{outline:3px solid #34dfff}
