/* Jo's Ices v15 — vivid public site throughout, no gloomy cards or fake buttons.
   All large colour surfaces use image assets, preserving candy colours in Android browser darkening. */
#app.jo-exact-ready,#app.jo-exact-ready main{color-scheme:only light!important;background-color:#15b7f3!important;}
#app.jo-exact-ready main>section.jo-exact-section{overflow:clip;isolation:isolate;position:relative;padding:clamp(45px,7vw,90px) 0!important;color:#064d86!important;scroll-margin-top:0;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}
#app.jo-exact-ready main>section.jo-exact-section.jo-candy-blue-section{background-color:#6bdafa!important;background-image:url('/brand/jo-candy-blue.svg')!important;}
#app.jo-exact-ready main>section.jo-exact-section.jo-candy-pink-section{background-color:#ffd3eb!important;background-image:url('/brand/jo-candy-pink.svg')!important;}
#app.jo-exact-ready .jo-exact-section .shell{max-width:1100px;position:relative;z-index:1;padding-left:clamp(18px,4.5vw,34px);padding-right:clamp(18px,4.5vw,34px);}
#app.jo-exact-ready .jo-exact-section .eyebrow{display:inline-block;color:#f60985!important;background:#fff!important;background-image:url('/brand/jo-candy-panel.svg')!important;font-weight:1000!important;letter-spacing:.08em!important;font-size:clamp(.76rem,2.3vw,.9rem)!important;padding:9px 17px;border:2px solid #fff;border-radius:99px;box-shadow:0 4px 0 #fe62b5;text-transform:uppercase;}
#app.jo-exact-ready .jo-exact-section h2{font-size:clamp(2rem,5vw,3.5rem)!important;font-weight:1000!important;line-height:1.08!important;letter-spacing:-.045em!important;color:#004b91!important;text-shadow:2px 3px 0 #fff9!important;margin:22px 0 23px!important;}
#app.jo-exact-ready .jo-candy-blue-section h2{color:#ffffff!important;text-shadow:2px 4px 0 #087bbd,3px 5px 12px #0670b060!important;}
#app.jo-exact-ready .jo-exact-section p,#app.jo-exact-ready .jo-exact-section .muted,#app.jo-exact-ready .jo-exact-section .small{color:#0a4573!important;}
#app.jo-exact-ready .jo-exact-services .cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))!important;gap:20px!important;margin-top:23px;}
#app.jo-exact-ready .jo-exact-section .jo-candy-treat{display:grid!important;grid-template-columns:135px minmax(0,1fr)!important;grid-template-rows:auto 1fr auto!important;align-items:center!important;column-gap:16px!important;row-gap:6px!important;position:relative!important;min-height:184px!important;padding:14px 16px 14px 13px!important;border-radius:25px!important;background:#f4fdff url('/brand/jo-candy-panel.svg') center / cover no-repeat!important;border:3px solid #fff!important;box-shadow:0 7px 0 #ed3b9a,0 15px 23px #005fa735!important;overflow:hidden!important;scroll-margin-top:14px;}
#app.jo-exact-ready .jo-candy-treat img.jo-candy-treat-img{grid-column:1!important;grid-row:1/span 3!important;display:block!important;width:100%!important;height:100%!important;min-height:145px!important;max-height:190px!important;object-fit:cover!important;border-radius:17px!important;background:#d6eeff;}
#app.jo-exact-ready .jo-candy-treat h3{grid-column:2!important;grid-row:1!important;color:#07518f!important;line-height:1.12!important;font-weight:950!important;font-size:clamp(1.05rem,2.2vw,1.42rem)!important;margin:0!important;}
#app.jo-exact-ready .jo-candy-treat p{grid-column:2!important;grid-row:2!important;color:#1b547f!important;line-height:1.32!important;font-size:clamp(.86rem,1.8vw,1.01rem)!important;margin:0!important;align-self:start!important;}
#app.jo-exact-ready .jo-candy-cta{grid-column:2;grid-row:3;display:inline-flex;align-items:center;justify-content:center;min-height:41px;max-width:max-content;margin-top:10px;padding:8px 14px;text-decoration:none;color:#fff!important;-webkit-text-fill-color:#fff;background:#fb168f!important;background-image:linear-gradient(175deg,#ff65ba,#ed087b)!important;border:2px solid #ffaedb;border-radius:14px;box-shadow:0 4px 0 #026ab5;font-size:.9rem;font-weight:950;line-height:1.2;transition:transform .15s;}
#app.jo-exact-ready .jo-candy-cta:hover{transform:translateY(-2px);}
#app.jo-exact-ready .jo-candy-cta:focus-visible,#app.jo-exact-ready .jo-exact-hotspot:focus-visible{outline:3px solid #003e7c;outline-offset:4px;}
#app.jo-exact-ready .jo-exact-section .card:not(.jo-candy-treat){background:#fff url('/brand/jo-candy-panel.svg') center / cover no-repeat!important;border:2px solid #fff!important;box-shadow:0 5px 0 #069bd7!important;border-radius:23px!important;padding:23px!important;color:#073a65!important;}
#app.jo-exact-ready .jo-exact-about .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:17px;}
#app.jo-exact-ready .jo-candy-story{min-height:190px;}
#app.jo-exact-ready .jo-candy-story-emoji{font-size:41px;line-height:1.1;display:block;margin-bottom:14px;}
#app.jo-exact-ready .jo-exact-section .card h3{color:#07518f!important;font-weight:950!important;line-height:1.16!important;}
#app.jo-exact-ready .jo-exact-section .card p{color:#235479!important;line-height:1.5!important;}
#app.jo-exact-ready .jo-exact-section .jo-candy-van,#app.jo-exact-ready .jo-exact-section .jo-candy-book{background:#f4fdff url('/brand/jo-candy-panel.svg') center / cover no-repeat!important;color:#073c6b!important;border:3px solid #ffffff!important;border-radius:25px!important;box-shadow:0 7px 0 #ed3b9a,0 14px 25px #005e9950!important;padding:clamp(18px,3.4vw,31px)!important;}
#app.jo-exact-ready .jo-exact-section .jo-candy-van h2,#app.jo-exact-ready .jo-exact-section .jo-candy-book h2{font-size:clamp(1.8rem,4vw,2.5rem)!important;color:#00508e!important;text-shadow:none!important;margin:0 0 14px!important;}
#app.jo-exact-ready .jo-candy-van-status{font-size:.94rem;line-height:1.45;background:#c9f4ff!important;color:#034975!important;padding:10px 14px;border:2px solid #76dcff;border-radius:15px;font-weight:850;margin:12px 0;}
#app.jo-exact-ready .jo-candy-van a:not(.jo-candy-cta){color:#e90082!important;font-weight:850;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
#app.jo-exact-ready .jo-exact-gallery .gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px;}
#app.jo-exact-ready .jo-exact-gallery .photo{background:#fff url('/brand/jo-candy-panel.svg') center / cover no-repeat!important;border:3px solid #fff!important;border-radius:23px!important;box-shadow:0 6px 0 #fc239b!important;overflow:hidden;}
#app.jo-exact-ready .jo-exact-gallery .photo img{height:245px!important;object-fit:cover;width:100%;display:block;border-radius:0!important;}
#app.jo-exact-ready .jo-exact-gallery .photo figcaption{background:transparent!important;color:#063e6b!important;padding:16px!important;font-size:1.02rem;line-height:1.4;}
#app.jo-exact-ready .jo-exact-gallery .photo figcaption strong{color:#085184!important;font-weight:950!important;}
#app.jo-exact-ready .jo-exact-gallery .photo figcaption p{color:#275880!important;font-weight:550!important;}
#app.jo-exact-ready .jo-exact-section .grid2{gap:24px;align-items:stretch;}
#app.jo-exact-ready .jo-candy-book .field{background:#fff!important;color:#053e71!important;-webkit-text-fill-color:#053e71;border:2px solid #61cff4!important;border-radius:13px!important;min-height:48px;font-weight:600;box-shadow:0 2px 0 #c6edfc inset;}
#app.jo-exact-ready .jo-candy-book .field:focus{outline:3px solid #ff8acb;outline-offset:1px;}
#app.jo-exact-ready .jo-candy-book .label{color:#0d4c7a!important;font-weight:900!important;}
#app.jo-exact-ready .jo-candy-book .btn,#app.jo-exact-ready .jo-exact-section button.btn{background:#f81892!important;background-image:linear-gradient(180deg,#ff63b6,#f40580)!important;border:3px solid #ffc8eb!important;color:white!important;-webkit-text-fill-color:#fff;border-radius:17px!important;box-shadow:0 5px 0 #0073bb!important;min-height:50px;font-weight:950!important;}
#app.jo-exact-ready .jo-candy-book p.small{color:#25557e!important;}
#app.jo-exact-ready .jo-exact-section .small,#app.jo-exact-ready .jo-exact-section p.small{font-size:.9rem!important;}
#app.jo-exact-ready .jo-candy-footer{background:#05a8ee url('/brand/jo-candy-blue.svg') center / cover no-repeat!important;color:#053f73!important;border-top:7px solid #fa279c;min-height:130px;font-weight:750;}
#app.jo-exact-ready .jo-candy-footer a{color:#064879!important;}
#app.jo-exact-ready .jo-candy-footer img{max-width:100%;}
#app.jo-exact-ready .jo-exact-section .jo-candy-treat,#app.jo-exact-ready .jo-exact-section .card,#app.jo-exact-ready .jo-exact-section .locationbox,#app.jo-exact-ready .jo-exact-gallery .photo{color-scheme:only light!important;}
@media (max-width:670px){#app.jo-exact-ready .jo-exact-section .grid2{grid-template-columns:1fr!important;}#app.jo-exact-ready .jo-exact-gallery .photo img{height:210px!important;}}
@media (max-width:440px){#app.jo-exact-ready .jo-exact-services .cards{gap:18px!important;}#app.jo-exact-ready .jo-exact-section .jo-candy-treat{grid-template-columns:102px minmax(0,1fr)!important;gap:7px 12px!important;padding:11px!important;min-height:160px!important;}#app.jo-exact-ready .jo-candy-treat img.jo-candy-treat-img{min-height:130px!important;max-height:177px!important;}#app.jo-exact-ready .jo-candy-treat h3{font-size:1rem!important;}#app.jo-exact-ready .jo-candy-treat p{font-size:.8rem!important;}#app.jo-exact-ready .jo-candy-cta{font-size:.78rem;min-height:35px;padding:7px 9px;}}
@media (prefers-reduced-motion:reduce){#app.jo-exact-ready .jo-candy-cta{transition:none!important;}}

/* Android/Samsung forced-dark safeguard: foreground colours remain legible on artwork backdrops. */
#app.jo-exact-ready main>.jo-exact-section .eyebrow{-webkit-text-fill-color:#f60985!important;}
#app.jo-exact-ready main>.jo-exact-section h2{-webkit-text-fill-color:#075391!important;}
#app.jo-exact-ready main>.jo-exact-section.jo-candy-blue-section>.shell>h2,
#app.jo-exact-ready main>.jo-exact-section.jo-candy-blue-section>.shell>.eyebrow+h2{-webkit-text-fill-color:#fff!important;}
#app.jo-exact-ready .jo-exact-section .jo-candy-treat h3,
#app.jo-exact-ready .jo-exact-section .card h3,
#app.jo-exact-ready .jo-exact-section .jo-candy-book h2,
#app.jo-exact-ready .jo-exact-section .jo-candy-van h2{-webkit-text-fill-color:#07518f!important;}
#app.jo-exact-ready .jo-exact-section .card p,
#app.jo-exact-ready .jo-exact-section .locationbox p,
#app.jo-exact-ready .jo-exact-section .photo figcaption,
#app.jo-exact-ready .jo-exact-section .photo figcaption p,
#app.jo-exact-ready .jo-exact-section .label{-webkit-text-fill-color:#1b547f!important;}
#app.jo-exact-ready .jo-exact-section .jo-candy-van-status{-webkit-text-fill-color:#034975!important;}
