/*!
 * Playground — WordPress additions to the design: inner pages, the shared
 * blog (core/inc/blog.php) in Playground's clothes, search and 404,
 * Elementor-built pages, and the booking platform's
 * inventory, category and item pages.
 */

/* Content that sits above the falling confetti. */
.pagebody,.pagebody--wide,.elementor,.prt-io{position:relative;z-index:3}

/* =====================================================================
   Page headers: the hero's sky with a grassy edge
   ===================================================================== */
.pghead,.pagehead:not(.pagehead--io){position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky3),var(--sky2) 80%,var(--cream));color:var(--ink)}
.pghead{padding:clamp(46px,6vw,80px) 0 0}
.pghead.has-img::before{content:'';position:absolute;inset:0;background:var(--pgh-img) center/cover no-repeat;opacity:.16;z-index:0}
.pghead .sun--sm{width:84px;height:84px;top:22px;right:5%}
.pghead .sun--sm .rays{inset:-24px}
.pghead .cloud.c1{top:44px}
.pghead .cloud.c3{top:120px;right:22%}
.pghead .balloon{position:absolute;z-index:2;animation:pg-floaty 5s ease-in-out infinite}
.pgh-b1{width:40px;top:34%;right:13%}
.pgh-b2{width:32px;top:52%;right:6%;animation-delay:1.6s!important}
.pghead__in{padding-bottom:clamp(40px,5vw,64px);max-width:var(--max)}
.pghead__title{font-size:clamp(2.3rem,5.4vw,3.9rem);line-height:1.02;max-width:20ch}
.pghead__title em{color:var(--pink-b)}
.pghead__intro{font-size:1.1rem;max-width:60ch;margin-top:16px;color:#4b4976}
.pghead .kick{margin-top:14px}
.pghead .row{margin-bottom:0}

.pagehead:not(.pagehead--io){padding:clamp(46px,6vw,80px) 0 clamp(66px,7vw,96px)}
.pagehead:not(.pagehead--io)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:24px;background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='34'%3E%3Cpath d='M0 34V12c5 0 7-8 10-8s5 8 10 8 7-10 10-10 5 10 10 10 7-8 10-8 5 8 10 8v22z' fill='%23000'/%3E%3C/svg%3E") 0 0/42px 24px repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='34'%3E%3Cpath d='M0 34V12c5 0 7-8 10-8s5 8 10 8 7-10 10-10 5 10 10 10 7-8 10-8 5 8 10 8v22z' fill='%23000'/%3E%3C/svg%3E") 0 0/42px 24px repeat-x}
.pagehead:not(.pagehead--io)::before{content:'';position:absolute;top:30px;right:5%;width:84px;height:84px;border-radius:50%;
  background:radial-gradient(circle at 36% 32%,#ffe279,#ffc531);box-shadow:0 0 30px rgba(255,197,49,.6)}
.pagehead .wrap{position:relative;z-index:3}
.pagehead--io{padding:18px 0 4px}
.pagehead__title{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.04;margin:.25em 0 .15em;max-width:22ch}
.pagehead p{max-width:60ch;margin:.5em 0 0;color:#4b4976}
.pagehead__btns{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0!important}
.pagehead__count{font-weight:700}
.pagehead__search{margin-top:18px}
.error404 .pagehead .wrap,.blog .pagehead .wrap,.search .pagehead .wrap,.archive .pagehead .wrap{text-align:center;display:flex;flex-direction:column;align-items:center}
.error404 .pagehead__btns{justify-content:center}
.error404 .pagehead .search-form,.pagehead__search .search-form{width:100%;max-width:520px;margin-inline:auto}

/* Breadcrumbs. */
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45em;font-size:.86rem;font-weight:800}
.crumbs li{color:var(--ink2)}
.crumbs li+li::before{content:'›';content:'›' / '';margin-right:.45em;color:var(--ink2)}
.crumbs a{color:var(--purple-d);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:rgba(91,47,192,.3)}
.crumbs a:hover{text-decoration:underline}

/* =====================================================================
   Page bodies, search, comments
   ===================================================================== */
.pagebody{padding-block:clamp(34px,4vw,60px) clamp(60px,7vw,100px)}
.pagebody--wide{padding:0}
.pagebody--read{max-width:820px}
.prt-page .entry-content{font-size:1.04rem;color:var(--ink2)}
.prt-page .entry-content>*+*{margin-top:1em}
.prt-page .entry-content h2,.prt-page .entry-content h3,.pgtext__body h2,.pgtext__body h3{color:var(--ink);margin:1.4em 0 .45em;line-height:1.15}
.prt-page .entry-content h2{font-size:clamp(1.6rem,2.8vw,2.1rem)}
.prt-page .entry-content a,.pgtext__body a{color:var(--purple-b);font-weight:700}
.prt-page .entry-content img{border-radius:22px;height:auto}
/* The closing CTA photo is a full-bleed cover, also inside Elementor/page content (whose img rules set height:auto). */
section.cta>img.cta-bg{height:100%;max-width:none;border-radius:0}
.prt-page .entry-content ul,.pgtext__body ul{list-style:none;padding:0}
.prt-page .entry-content ul li,.pgtext__body ul li{position:relative;padding-left:32px;margin:.45em 0}
.prt-page .entry-content ul li::before,.pgtext__body ul li::before{content:'✓';content:'✓' / '';position:absolute;left:0;top:.15em;width:22px;height:22px;border-radius:50%;background:var(--green-b);color:#fff;font-size:.7rem;font-weight:800;display:grid;place-items:center}
.prt-page .entry-content ol,.pgtext__body ol{padding-left:1.3em}
.prt-page .entry-content blockquote{background:#fff;border-radius:24px;padding:22px 26px;box-shadow:0 7px 0 #ece8fb;font-size:1.08rem;color:var(--ink)}
.search-form{display:flex;gap:10px;max-width:480px}
.search-form label{flex:1}
.search-form .search-field{width:100%;padding:13px 20px;border:3px solid #e8e4fb;border-radius:999px;background:#fff;font-weight:700;min-height:50px}
.search-form .search-field:focus{outline:none;border-color:var(--purple-b)}
.search-form .search-submit{border:0;border-radius:999px;padding:13px 24px;background:var(--pink-b);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 5px 0 var(--pink-d);transition:transform .14s,box-shadow .14s}
.search-form .search-submit:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--pink-d)}

.comments{margin-top:50px}
.comment-list{list-style:none;padding:0}
.comment-body{background:#fff;border-radius:24px;padding:20px 22px;box-shadow:0 6px 0 #ece8fb;margin-bottom:18px}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{width:100%;padding:12px 18px;border:3px solid #e8e4fb;border-radius:20px;background:#fff}
.comment-respond .submit{border:0;border-radius:999px;padding:13px 26px;background:var(--pink-b);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 5px 0 var(--pink-d)}

/* =====================================================================
   The shared blog (core prt-blog-*) in Playground's clothes: a sky hero
   with the sun and a grassy edge, toy-box cards with solid shadows, candy
   pills and buttons, a confetti newsletter.
   ===================================================================== */
.prt-blog{position:relative;z-index:3;--pb-gap:30px}

.prt-blog :is(h1,h2,h3){font-weight:800;letter-spacing:-.01em}
.prt-blog-crumbs ol{font-weight:800;font-size:.86rem}
.prt-blog-crumbs a{color:var(--purple-d);text-decoration-color:rgba(91,47,192,.3);text-decoration-thickness:2px}
.prt-blog-crumbs a:hover{text-decoration-color:currentColor}
.prt-blog-eyebrow{background:#fff;color:var(--purple-b);border-radius:999px;padding:7px 18px;font-size:.78rem;letter-spacing:2px;box-shadow:0 4px 0 rgba(139,92,246,.18)}

/* Sky heroes (archive and post). */
.prt-blog-hero,.prt-blog-art{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky3),var(--sky2) 78%,var(--cream))}
.prt-blog-hero::before,.prt-blog-art::before{content:'';position:absolute;top:30px;right:6%;width:84px;height:84px;border-radius:50%;
  background:radial-gradient(circle at 36% 32%,#ffe279,#ffc531);box-shadow:0 0 0 14px rgba(255,216,77,.22),0 0 34px rgba(255,197,49,.6)}
.prt-blog-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:24px;background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='34'%3E%3Cpath d='M0 34V12c5 0 7-8 10-8s5 8 10 8 7-10 10-10 5 10 10 10 7-8 10-8 5 8 10 8v22z' fill='%23000'/%3E%3C/svg%3E") 0 0/42px 24px repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='34'%3E%3Cpath d='M0 34V12c5 0 7-8 10-8s5 8 10 8 7-10 10-10 5 10 10 10 7-8 10-8 5 8 10 8v22z' fill='%23000'/%3E%3C/svg%3E") 0 0/42px 24px repeat-x}
.prt-blog-hero__in,.prt-blog-art__in,.prt-blog-art__fig{position:relative;z-index:1}
.prt-blog-hero{padding:clamp(44px,5.5vw,72px) 0 clamp(78px,8vw,110px)}
.prt-blog-hero__title{font-size:clamp(2.6rem,6vw,4.4rem);line-height:1}
.prt-blog-hero__intro{color:#4b4976;font-size:1.1rem}
.prt-blog-search{border:3px solid #e8e4fb;padding:6px 6px 6px 50px;box-shadow:0 6px 0 rgba(139,92,246,.18)}
.prt-blog-search:focus-within{border-color:var(--purple-b)}
.prt-blog-search input{font-weight:700}
.prt-blog-search .btn{padding:12px 24px;box-shadow:0 4px 0 var(--bd)}

/* Featured post: a big toy-box card. */
.prt-blog-feature{margin-top:-46px}
.prt-blog-feature__card{border:0;border-radius:34px;box-shadow:0 10px 0 rgba(139,92,246,.17),0 26px 48px rgba(56,54,95,.12);transition:transform .25s cubic-bezier(.34,1.5,.64,1),box-shadow .25s}
.prt-blog-feature__card:hover,.prt-blog-feature__card:focus-within{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 16px 0 rgba(139,92,246,.2),0 30px 54px rgba(56,54,95,.14)}
.prt-blog-feature__img{margin:12px 0 12px 12px;border-radius:26px;min-height:360px}
.prt-blog-feature__flag{background:var(--yellow);color:var(--gold-ink);box-shadow:0 3px 0 var(--yellow-d);letter-spacing:.02em}
.prt-blog-feature__title{font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1.08}
.prt-blog-feature__title a:hover,.prt-blog-card__title a:hover{color:var(--pink-b)}
.prt-blog-feature__ex{color:var(--ink2);font-size:1.02rem}
.prt-blog-feature__card:has(a:focus-visible),.prt-blog-card:has(.prt-blog-card__title a:focus-visible){outline:3px solid var(--purple-b);outline-offset:4px}

/* Category pills: candy chips; the sticky bar is the page's cream. */
.prt-blog-cats{background:rgba(255,253,244,.94);background:color-mix(in srgb,var(--cream) 94%,transparent)}
.prt-blog-cats.is-stuck{background:rgba(255,255,255,.97);background:color-mix(in srgb,#fff 97%,transparent);box-shadow:0 6px 0 rgba(139,92,246,.1),0 12px 24px rgba(56,54,95,.08)}
.prt-blog-cats__list{padding:4px 4px 10px;gap:12px}
.prt-blog-pill{border:0;font-weight:800;padding:.6em 1.2em;box-shadow:0 4px 0 #e3def7;transition:transform .15s,background .2s,box-shadow .15s}
.prt-blog-pill:hover{background:var(--sunny);color:var(--ink);transform:translateY(-2px);box-shadow:0 6px 0 #e6d6a4}
.prt-blog-pill[aria-current]{background:var(--purple-b);color:#fff;box-shadow:0 4px 0 var(--purple-d)}
.prt-blog-pill__n{background:#f2eeff;color:var(--purple-d)}
.prt-blog-pill[aria-current] .prt-blog-pill__n{background:rgba(0,0,0,.22);color:#fff}

/* Post cards: the favourites shelf's look; the tag colours step through the toy box. */
.prt-blog-list__h,.prt-blog-related__head h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.prt-blog-card{border:0;border-radius:28px;box-shadow:0 8px 0 #ece8fb;transition:transform .22s cubic-bezier(.34,1.5,.64,1),box-shadow .22s}
.prt-blog-card:hover,.prt-blog-card:focus-within{transform:translateY(-7px) rotate(-.8deg);box-shadow:0 14px 0 #d9ccf5;border-color:transparent}
.prt-blog-grid>.prt-blog-card:nth-child(even):hover{transform:translateY(-7px) rotate(.8deg)}
.prt-blog-card__img{margin:12px 12px 0;border-radius:20px;background:var(--sky2)}
.prt-blog-card__body{padding:16px 22px 24px}
.prt-blog-card__tag{background:#eee6ff;color:var(--purple-d)}
.prt-blog-grid>:nth-child(4n+2) .prt-blog-card__tag{background:#ffe1ef;color:var(--pink-d)}
.prt-blog-grid>:nth-child(4n+3) .prt-blog-card__tag{background:#ddf6de;color:var(--green-d)}
.prt-blog-grid>:nth-child(4n+4) .prt-blog-card__tag{background:#d8f7fa;color:var(--teal)}
.prt-blog-card__title{font-size:1.3rem;line-height:1.18}
.prt-blog-card__ex{color:var(--ink2);font-size:.95rem}
.prt-blog-card__meta{color:var(--ink2);font-weight:800}
.prt-blog-pager .page-numbers{border:0;font-weight:800;box-shadow:0 5px 0 #ece8fb}
.prt-blog-pager .page-numbers.current{background:var(--purple-b);box-shadow:0 5px 0 var(--purple-d)}

/* Newsletter: the purple band with confetti and a sun badge. */
.prt-blog-news__in{border-radius:36px;background-color:var(--purple-b);box-shadow:0 10px 0 var(--purple-d);
  background-image:radial-gradient(circle at 8% 88%,rgba(255,197,49,.9) 0 6px,transparent 7px),radial-gradient(circle at 46% 10%,rgba(255,95,168,.85) 0 5px,transparent 6px),
  radial-gradient(circle at 56% 90%,rgba(62,207,221,.9) 0 5px,transparent 6px),radial-gradient(circle at 94% 82%,rgba(94,201,94,.9) 0 6px,transparent 7px),radial-gradient(circle at 34% 22%,rgba(255,255,255,.35) 0 4px,transparent 5px)}
.prt-blog-news__in::before{background:#fff;opacity:.1}
.prt-blog-news__badge{background:var(--yellow);color:var(--gold-ink);border-radius:18px;box-shadow:0 5px 0 var(--yellow-d)}
.prt-blog-news__copy p{opacity:1;color:#f1ecff}
.prt-blog-news__row{box-shadow:0 6px 0 var(--purple-d)}
.prt-blog-news__row .btn{flex:none;padding:12px 24px;box-shadow:0 4px 0 var(--bd)}
.prt-blog-news__row input:focus-visible{outline:3px solid var(--yellow)}

/* Post hero: the photo in a white frame. */
.prt-blog-art{padding-top:clamp(40px,5vw,70px)}
.prt-blog-art__tag{border:0;background:#fff;color:var(--purple-b);box-shadow:0 4px 0 rgba(139,92,246,.18)}
.prt-blog-art__tag:hover{color:var(--pink-b)}
.prt-blog-art__title{font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.04}
.prt-blog-meta{color:var(--ink2);font-weight:800}
.prt-blog-meta__item .ic{color:var(--purple-b)}
.prt-blog-meta__avatar,.prt-blog-author__avatar{background:var(--pink-b);color:#fff}
.prt-blog-meta__by a{text-decoration-color:var(--yellow)}
.prt-blog-art__fig img{border:8px solid #fff;border-radius:32px;box-shadow:0 10px 0 rgba(56,54,95,.12),0 22px 40px rgba(56,54,95,.16);background:var(--sky2)}

/* Share rail and contents. */
.prt-blog-share__label{color:var(--ink2)}
.prt-blog-share__btn{border:0;box-shadow:0 4px 0 #e3def7;color:var(--purple-b)}
.prt-blog-share__btn:hover,.prt-blog-share__btn--copy.is-copied{background:var(--purple-b);color:#fff;box-shadow:0 4px 0 var(--purple-d)}
.prt-blog-toc{border:0;border-radius:24px;box-shadow:0 7px 0 #ece8fb}
.prt-blog-toc a{color:var(--ink2);border-radius:0 12px 12px 0}
.prt-blog-toc a:hover{background:var(--sunny);color:var(--ink)}
.prt-blog-toc a[aria-current]{background:#f2eeff;color:var(--purple-d);border-left-color:var(--purple-b)}
.prt-blog-toc__sum .ic{color:var(--purple-b)}

/* Reading. */
.prt-blog-body{color:#4b4976}
.prt-blog-body>p:first-child{color:var(--ink)}
.prt-blog-body h2::before{width:58px;height:6px;background:repeating-linear-gradient(90deg,var(--pink) 0 14px,transparent 14px 18px,var(--yellow) 18px 32px,transparent 32px 36px,var(--cyan) 36px 50px,transparent 50px 54px)}
.prt-blog-body a:not([class]){color:var(--purple-b)}
.prt-blog-body ul>li{padding-left:2.1em}
.prt-blog-body ul>li::before{content:'\2713';content:'\2713' / '';left:0;top:.2em;width:1.4em;height:1.4em;border-radius:50%;background:var(--green-b);color:#fff;font-size:.72em;font-weight:800;display:grid;place-items:center}
.prt-blog-body ol>li::before{background:var(--yellow);color:var(--gold-ink);box-shadow:0 2px 0 var(--yellow-d)}
.prt-blog-body blockquote{background:#fff;border-left:0;border-radius:26px;box-shadow:0 7px 0 #ece8fb;padding:24px 28px 24px 64px;position:relative}
.prt-blog-body blockquote::before{content:'\201C';position:absolute;left:20px;top:8px;font-family:var(--fd);font-size:3.4rem;line-height:1;color:var(--pink)}
.prt-blog-body img{border-radius:22px}
.prt-blog-body table{border-radius:20px;box-shadow:0 0 0 2px #ece8fb}

/* Booking card inside the post. */
.prt-blog-inline{border:0;border-radius:30px;background:var(--sky2);box-shadow:0 8px 0 #cbe6f4}
.prt-blog-inline__ic{background:var(--pink-b);border-radius:20px;box-shadow:0 5px 0 var(--pink-d)}
.prt-blog-inline__text{color:var(--ink2)}
.prt-blog-inline__link{text-decoration-color:var(--pink-b)!important}
.prt-blog-inline__link:hover{color:var(--pink-b)}

/* Tags and the author. */
.prt-blog-tags a{border:0;box-shadow:0 4px 0 #e3def7;color:var(--purple-b)}
.prt-blog-author{border:0;border-radius:30px;box-shadow:0 9px 0 #ece8fb}
.prt-blog-author__kicker{color:var(--purple-b)}
.prt-blog-author__bio{color:var(--ink2)}
.prt-blog-author__links a{color:var(--purple-b)}
.prt-blog-author__links a:hover{color:var(--pink-b)}
.prt-blog-related__all{color:var(--purple-b);font-weight:800}
.prt-blog-related__all:hover{color:var(--pink-b)}
@media (max-width:1100px){
  .prt-blog-layout__toc .prt-blog-toc{box-shadow:0 6px 0 #ece8fb,0 12px 22px rgba(56,54,95,.08)}
  .prt-blog-toc__nav{border:0;box-shadow:0 8px 0 #ece8fb,0 18px 30px rgba(56,54,95,.14)}
}
@media (max-width:900px){
  .prt-blog-feature__img{margin:12px 12px 0;min-height:0}
}
@media (max-width:640px){
  .prt-blog-wrap{width:calc(100% - 32px)}
  .prt-blog-hero::before,.prt-blog-art::before{width:56px;height:56px;top:14px;right:4%;box-shadow:0 0 0 9px rgba(255,216,77,.22),0 0 24px rgba(255,197,49,.6)}
  .prt-blog-hero{padding-bottom:84px}
  .prt-blog-feature{margin-top:-40px}
  .prt-blog-feature__card{border-radius:28px}
  .prt-blog-art__fig img{border-width:6px;border-radius:26px}
  .prt-blog-news__in{border-radius:28px}
  .prt-blog-search{padding-left:44px}
  .prt-blog-search__ic{left:15px}
  .prt-blog-search .btn{padding:11px 16px}
}
@media (prefers-reduced-motion:reduce){
  .prt-blog-pill,.prt-blog-card,.prt-blog-feature__card{transition:none}
  .prt-blog-grid>.prt-blog-card:nth-child(even):hover,.prt-blog-pill:hover{transform:none}
}

/* =====================================================================
   The shared page sections (core prts-*, pe-*: About, Events, Safety,
   FAQ, Reviews pages) in Playground's clothes: kicker pills, candy
   buttons, and cards that sit on a solid shadow instead of a hairline.
   ===================================================================== */
.prts{position:relative;z-index:3}
.prts h1,.prts h2,.prts h3{font-weight:800;letter-spacing:-.01em}
.prts-eyebrow{background:#fff;color:var(--purple-b);border-radius:999px;padding:7px 18px;font-size:.78rem;letter-spacing:2px;box-shadow:0 4px 0 rgba(139,92,246,.18);margin-bottom:16px}
.prts .prts-btn{border:0;font-family:var(--fb);box-shadow:0 6px 0 var(--pink-d);transition:transform .14s,box-shadow .14s}
.prts .prts-btn:hover{filter:none;transform:translateY(-3px);box-shadow:0 9px 0 var(--pink-d);color:#fff}
.prts .prts-btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--pink-d)}
.prts .prts-btn--ghost{background:#fff;color:var(--purple-b);box-shadow:0 6px 0 #d9ccf5}
.prts .prts-btn--ghost:hover{color:var(--purple-d);box-shadow:0 9px 0 #d9ccf5}
.prts :is(.pe-pack,.prts-box,.prts-card) .prts-btn--ghost{background:#f6f2ff}
.prts .prts-values__guar .prts-btn{box-shadow:0 6px 0 #22213f}
.prts .prts-values__guar .prts-btn:hover{color:var(--yellow);box-shadow:0 9px 0 #22213f}
.prts-ic{background:var(--sky2);color:var(--purple-b);border-radius:16px;box-shadow:0 4px 0 #cbe6f4}

/* Cards: no hairline, a solid toy-box shadow. */
.prts-box,.prts-card,.prts-values__card,.prts-minirev__card,.prts-check__list li,.prts-ssteps__track,.pe-pack,
.prts-fqitem,.prts-rsum__score,.prts-rplat__b,.prts-rleave__box{border:0;border-radius:28px;box-shadow:0 8px 0 #ece8fb}
.prts-check__list li,.prts-rplat__b,.prts-fqitem{border-radius:22px}
.prts a.prts-card:hover,.prts a.prts-rplat__b:hover{transform:translateY(-5px);box-shadow:0 12px 0 #d9ccf5}
.prts-fqitem{box-shadow:0 6px 0 #ece8fb}
.prts-fqitem.is-open{box-shadow:0 6px 0 #d9ccf5}
.prts-rleave__box{background:var(--sky2);box-shadow:0 8px 0 #cbe6f4}
.pe-pack.is-featured{border:0;box-shadow:0 0 0 4px var(--purple-b),0 12px 0 var(--purple-d)}
.pe-pack__badge{background:var(--yellow);color:var(--gold-ink);box-shadow:0 3px 0 var(--yellow-d);font-size:.78rem;padding:5px 14px}
.pe-pack__list{border-top:3px dashed #e3def7}
.pe-pack__list .ic,.pe-row__pop .ic,.prts-ticks svg{color:var(--green-b)}

/* Chips, tabs and filters: candy pills. */
.prts :is(.prts-pills :is(a,span),.prts-chips__list li,.pe-tab,.pe-picks__cats a,.prts-fqpop button,.prts-fqtabs a,.prts-rwall__filters button,.prts-rleave__btn){border:0;box-shadow:0 4px 0 #e3def7;font-weight:800}
.prts-pills a:hover,.pe-tab:hover,.pe-picks__cats a:hover,.prts-fqpop button:hover,.prts-fqtabs a:hover,.prts-rwall__filters button:hover{background:var(--sunny);color:var(--ink)}
.prts .prts-rleave__btn:hover{box-shadow:0 6px 0 #d9ccf5}
.pe-tabs.is-stuck,.prts-fqtabs{border-color:transparent}
.prts-fqsearch{border:3px solid #e8e4fb;box-shadow:0 6px 0 rgba(139,92,246,.18)}
.prts-fqsearch:focus-within{border-color:var(--purple-b)}
.prts-strip__box{border:0;border-radius:30px;background:var(--sky2);box-shadow:0 8px 0 #cbe6f4}
.prts-strip.is-bold .prts-strip__box{background:var(--purple-b);box-shadow:0 8px 0 var(--purple-d)}
.prts-ctabox{border-radius:36px;box-shadow:0 10px 0 var(--purple-d)}
.prts-photo img,.pe-row__media img,.prts-story__big{border-radius:28px}
.pe-row__media img{border:7px solid #fff;box-shadow:0 10px 0 rgba(56,54,95,.12),0 20px 36px rgba(56,54,95,.14)}
.prts-amap__map{border:7px solid #fff;border-radius:30px;box-shadow:0 10px 0 rgba(56,54,95,.12)}
.prts-map{border-radius:24px}
.prts-form :is(input,textarea){border:3px solid #e8e4fb;border-radius:20px;background:#fbfaff;font-weight:700}
.prts-form input{border-radius:999px}
.prts-form :is(input,textarea):focus{outline:none;border-color:var(--purple-b)}
/* Words on a brand-coloured ground: the kicker turns into a frosted pill. */
.prts :is(.prts-ctabox,.prts-rfeat__box,.prts-strip.is-bold) .prts-eyebrow,.prts.prts-rfeat .prts-eyebrow{background:rgba(0,0,0,.18);color:#fff;box-shadow:none;opacity:1}
/* Small centred labels above chips and badges: kicker pills too. */
.prts .prts-chips__label,.prts .prts-rplat__t{display:table;margin:0 auto 18px;background:#fff;color:var(--purple-b);border-radius:999px;padding:7px 18px;font-size:.78rem;letter-spacing:2px;box-shadow:0 4px 0 rgba(139,92,246,.18)}
.prts-rwcard__av{background:var(--pink-b);color:#fff}
.prts-fqq__ic{background:var(--purple-b);color:#fff;box-shadow:0 3px 0 var(--purple-d)}
.is-open .prts-fqq__ic{background:var(--pink-b);box-shadow:0 3px 0 var(--pink-d)}
/* FAQ page hero: the sky, the sun and the grassy edge of the other page headers. */
.prts-fqhero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky3),var(--sky2) 80%,var(--cream));padding-bottom:clamp(64px,7vw,92px)}
.prts-fqhero::before{content:'';position:absolute;top:30px;right:5%;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 36% 32%,#ffe279,#ffc531);box-shadow:0 0 0 14px rgba(255,216,77,.22),0 0 30px rgba(255,197,49,.6)}
.prts-fqhero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:24px;background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='34'%3E%3Cpath d='M0 34V12c5 0 7-8 10-8s5 8 10 8 7-10 10-10 5 10 10 10 7-8 10-8 5 8 10 8v22z' fill='%23000'/%3E%3C/svg%3E") 0 0/42px 24px repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='34'%3E%3Cpath d='M0 34V12c5 0 7-8 10-8s5 8 10 8 7-10 10-10 5 10 10 10 7-8 10-8 5 8 10 8v22z' fill='%23000'/%3E%3C/svg%3E") 0 0/42px 24px repeat-x}
.prts-fqhero>*{position:relative;z-index:1}
.prts-fqhero h1{font-size:clamp(2.3rem,5.4vw,3.9rem);line-height:1.02}
.prts-fqhero .prts-lead{color:#4b4976}
.prts .prts-crumbs{font-weight:800;font-size:.86rem}
.prts .prts-crumbs a{color:var(--purple-d);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:rgba(91,47,192,.3)}
.prts .prts-crumbs li+li::before{content:'\203A';content:'\203A' / ''}
@media (max-width:780px){.prts-fqhero::before{width:56px;height:56px;top:16px;right:4%}}
@media (prefers-reduced-motion:reduce){
  .prts .prts-btn{transition:none}
  .prts .prts-btn:hover,.prts a.prts-card:hover,.prts a.prts-rplat__b:hover{transform:none}
}

/* Text block. */
.pgtext{background:#fff;border-radius:34px;padding:clamp(28px,4vw,52px);box-shadow:0 9px 0 #ece8fb}
.pgtext--split{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.pgtext__body{color:var(--ink2)}
.pgtext__body>*+*{margin-top:1em}
.pgtext__pic{position:relative;inset:auto;transform:rotate(2deg);aspect-ratio:4/3}

/* Contact. */
.pgcontact{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}
.pginfo{list-style:none;display:grid;gap:14px}
.pginfo li{display:flex;align-items:center;gap:14px;background:#fff;border-radius:22px;padding:14px 18px;box-shadow:0 6px 0 #d9ebf5}
.pginfo__ic{width:46px;height:46px;border-radius:15px;background:var(--bg);color:var(--dk);display:grid;place-items:center;flex:none}
.pginfo__ic .ic{width:22px;height:22px}
.pginfo small{display:block;font-size:.72rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink2)}
.pginfo a,.pginfo li>span:last-child{font-weight:800;color:var(--ink);text-decoration:none}
.pginfo a:hover{color:var(--pink-b)}
.pgformcard{position:relative;background:#fff;border-radius:32px;padding:clamp(24px,3vw,38px);box-shadow:0 9px 0 rgba(139,92,246,.18)}
.pgformcard__pop{position:absolute;top:-20px;right:24px;font-size:2.4rem;animation:pg-floaty 5s ease-in-out infinite}
.pgformcard h3{font-size:1.6rem}
.pgformcard>p{margin:6px 0 18px}
.pgform{display:grid;gap:14px}
.pgform label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:800;letter-spacing:.4px;color:var(--ink2)}
.pgform input,.pgform textarea,.pgform select{font:700 .98rem var(--fb);padding:12px 18px;border:3px solid #e8e4fb;border-radius:20px;background:#fbfaff;color:var(--ink);width:100%}
.pgform input{border-radius:999px}
.pgform input:focus,.pgform textarea:focus,.pgform select:focus{outline:none;border-color:var(--purple-b)}
.pgform .btn{justify-self:start}
.pgmap{margin-top:44px;border-radius:30px;overflow:hidden;border:8px solid #fff;box-shadow:0 10px 0 rgba(56,54,95,.12)}
.pgmap iframe{display:block;width:100%;height:360px;border:0}

/* Stats band. */
.sec--tight{padding:40px 0}
.counts--band{margin:0}
.counts--band>div{box-shadow:0 7px 0 var(--sh);padding:22px 10px}
.counts--band dd{font-size:2.6rem;color:var(--dk)}

/* Elementor: buttons keep their candy shadow inside Elementor-built sections
   (Elementor's ".elementor a{box-shadow:none}" would flatten them). */
.elementor .btn{box-shadow:0 6px 0 var(--bd)}
.elementor .btn:hover{box-shadow:0 9px 0 var(--bd)}
.elementor .btn.b-sm{box-shadow:0 5px 0 var(--bd)}
.elementor .btn:active{box-shadow:0 2px 0 var(--bd)}
/* Stacked sections on a built page alternate bands, so two white sections never merge. */
.pagebody--wide .elementor-widget-prt-section+.elementor-widget-prt-section .sec:not(.sky):not(.mint):not(.sunny){background:transparent}

/* =====================================================================
   The booking platform's pages in Playground's clothes: inventory,
   category and item pages. Plain overrides of the shared IO styles.
   ===================================================================== */
body.prt .prt-io .entry-content>center{display:block;max-width:880px;margin:0 auto}
body.prt .prt-io .entry-content>center h1{font-size:clamp(2.3rem,5vw,3.8rem);line-height:1.04;margin:10px 0 14px}
body.prt .prt-io .entry-content>center p,body.prt .prt-io .entry-content>center p strong{font-weight:400;font-size:1.05rem;color:var(--ink2);line-height:1.7}
body.prt .prt-io .entry-content>center h2{font-size:1.5rem;margin:22px 0 4px}

/* "Set Event Date": the candy pink button. */
body.prt .pageDateRangeWrapper{margin:18px auto 10px!important}
body.prt .pageDateRangeWrapper .elementor-button{background:var(--pink-b)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:15px 32px!important;min-width:0!important;width:auto!important;
  display:inline-flex!important;box-shadow:0 6px 0 var(--pink-d)!important;font-family:var(--fb)!important;font-weight:800!important;font-size:1rem!important;letter-spacing:0!important;transition:transform .14s,box-shadow .14s!important}
body.prt .pageDateRangeWrapper .elementor-button:hover{transform:translateY(-3px)!important;box-shadow:0 9px 0 var(--pink-d)!important}
body.prt .pageDateRangeWrapper .ioDateRangeHeader,body.prt .pageDateRangeWrapper .elementor-button *{font:inherit!important;color:inherit!important}
body.prt .pageDateRangeWrapper .ioDateRangeHeader::before{content:'';display:inline-block;width:18px;height:18px;margin:0 10px -3px 0;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat}

/* "Bounce Houses for Rent": the wiggle underline on "for Rent". */
body.prt .io_category_wrapper .catNameIO{font-family:var(--fd)!important;font-weight:800!important;font-size:clamp(2.3rem,5vw,3.8rem)!important;line-height:1.04!important;margin:.35em 0 .5em!important;color:var(--ink)!important}
body.prt .io_category_wrapper .catNameIO .io_forrent{color:var(--pink-b)!important;font-weight:800!important;position:relative;display:inline-block;margin-left:.2em}
body.prt .io_category_wrapper .catNameIO .io_forrent::after{content:'';position:absolute;left:-2%;right:-2%;bottom:-.06em;height:.15em;border-radius:9px;background:repeating-linear-gradient(90deg,currentColor 0 .26em,transparent .26em .38em);opacity:.45}
body.prt .io_category_wrapper .catNameIO::after{display:none!important}

/* The inventory page's categories: the home page's toy-box cards. */
body.prt .io_catdiv2:not(.list-view){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:30px 24px!important;width:100%!important;max-width:none!important;margin:24px 0 10px!important}
body.prt .io_catdiv2 .io_item2_listcat{--bg:#ffe1ef;--sh:#f3b7d4;--dk:var(--pink-b);width:auto!important;max-width:none!important;margin:0!important;background:#fff!important;border:0!important;border-radius:30px!important;
  padding:14px 14px 8px!important;box-shadow:0 8px 0 var(--sh)!important;overflow:visible!important;transition:transform .2s cubic-bezier(.34,1.5,.64,1),box-shadow .2s!important}
body.prt .io_catdiv2 .io_item2_listcat:nth-child(8n+2){--bg:#fff2cf;--sh:#e8ce89;--dk:#a5650a}
body.prt .io_catdiv2 .io_item2_listcat:nth-child(8n+3){--bg:#ddf6de;--sh:#aadfab;--dk:var(--green-b)}
body.prt .io_catdiv2 .io_item2_listcat:nth-child(8n+4){--bg:#eee6ff;--sh:#c9b4f8;--dk:var(--purple-b)}
body.prt .io_catdiv2 .io_item2_listcat:nth-child(8n+5){--bg:#ffe8d6;--sh:#f3c7a1;--dk:var(--orange-b)}
body.prt .io_catdiv2 .io_item2_listcat:nth-child(8n+6){--bg:#d8f7fa;--sh:#a4e3e9;--dk:var(--teal)}
body.prt .io_catdiv2 .io_item2_listcat:nth-child(8n+7){--bg:#ffe2e2;--sh:#f3b4b4;--dk:var(--red-b)}
body.prt .io_catdiv2 .io_item2_listcat:nth-child(8n+8){--bg:#ddefff;--sh:#aed5f7;--dk:var(--blue-b)}
body.prt .io_catdiv2 .io_item2_listcat:hover{transform:translateY(-7px) rotate(-1.5deg)!important;box-shadow:0 14px 0 var(--sh)!important}
body.prt .io_catdiv2 .io_item2_listcat .cat_div{border-radius:22px!important;overflow:hidden!important;background:var(--bg)!important}
body.prt .io_catdiv2 .io_item2_listcat img{aspect-ratio:4/3!important;object-fit:contain!important;padding:10px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.18));transition:transform .3s!important}
body.prt .io_catdiv2 .io_item2_listcat:hover img{transform:scale(1.07) rotate(-3deg)}
body.prt .io_catdiv2 .io_item2_listcat .view-product-button{background:var(--dk)!important;color:#fff!important;border:0!important;border-radius:999px!important;font-weight:800!important;font-size:.8rem!important;padding:7px 16px!important;box-shadow:0 4px 0 rgba(0,0,0,.18)!important;z-index:3}
body.prt .io_catdiv2 .io_item2_listcat .cat_div_inner{padding:16px 8px 14px!important;text-align:center}
body.prt .io_catdiv2 .io_item2_listcat .rentNameIO{font-family:var(--fd)!important;font-size:1.3rem!important;font-weight:800!important;margin:0 0 6px!important;color:var(--ink)!important}
body.prt .io_catdiv2 .io_item2_listcat .catDescriptionIO,body.prt .io_catdiv2 .io_item2_listcat .catDescriptionIO *{font-size:.88rem!important;line-height:1.5!important;color:var(--ink2)!important}
html body.prt .io_catdiv2 .io_item2_listcat .catDescriptionIO.catDescriptionIO_small{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2;overflow:hidden!important;height:auto!important;min-height:0!important;max-height:3em!important;padding:0!important}
body.prt .io_catdiv2 .io_item2_listcat .cat_div_inner>a::after{content:'See them \2192';content:var(--pg-see,'See them') ' \2192' / '';display:block;margin-top:10px;font-size:.9rem;font-weight:800;color:var(--dk)}
@media(max-width:1100px){body.prt .io_catdiv2:not(.list-view){grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:800px){body.prt .io_catdiv2:not(.list-view){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 14px!important}
  body.prt .io_catdiv2 .io_item2_listcat{padding:8px 8px 4px!important;border-radius:24px!important}
  body.prt .io_catdiv2 .io_item2_listcat .cat_div{border-radius:18px!important}
  body.prt .io_catdiv2 .io_item2_listcat .cat_div_inner{padding:10px 4px 8px!important}
  body.prt .io_catdiv2 .io_item2_listcat .rentNameIO{font-size:1.05rem!important}
  body.prt .io_catdiv2 .io_item2_listcat .catDescriptionIO{display:none!important}
  body.prt .io_catdiv2 .io_item2_listcat .cat_div_inner>a::after{font-size:.8rem;margin-top:6px}}

/* "Professional delivery to Tulsa OK…": a note chip. */
body.prt .prt-io .io_landingpages{max-width:780px;margin:46px auto 10px!important;padding:16px 26px 16px 66px!important;background:#fff;border-radius:26px;box-shadow:0 7px 0 #ece8fb;position:relative;text-align:left}
body.prt .prt-io .io_landingpages,body.prt .prt-io .io_landingpages p{font-size:.95rem!important;color:var(--ink2)!important}
body.prt .prt-io .io_landingpages::before{content:'🚚';content:'🚚' / '';position:absolute;left:16px;top:50%;width:36px;height:36px;margin-top:-18px;border-radius:50%;background:var(--sunny);display:grid;place-items:center;font-size:1.1rem}
body.prt .prt-io .io_landingpages .io_city_list{color:var(--ink)!important;font-weight:800}

/* A category's long description: on a white card. */
body.prt .prt-io .io_cat_longdescription:not(:empty){max-width:880px!important;background:#fff;border-radius:34px;padding:42px 50px!important;box-shadow:0 9px 0 #ece8fb;margin-top:36px!important;margin-bottom:10px!important}
body.prt .prt-io .io_cat_longdescription:empty{display:none}
body.prt .cat_div_wrapper>.io_cat_description{border-radius:28px!important;border:0!important;box-shadow:0 8px 0 #ece8fb!important}
body.prt .wdz-cat-h2{font-family:var(--fd)!important;font-weight:800!important}
body.prt .io_view_toggle_btn{border-radius:14px!important}

/* BookFlow's rental cards on a category page: the favourites shelf. */
body.prt .wdz-browse__cat-title{font-family:var(--fd)!important;font-weight:800!important;text-shadow:none!important}
body.prt .wdz-browse__row{gap:28px!important;padding:8px 4px 24px!important}
body.prt .wdz-browse__card{border:0!important;border-radius:28px!important;box-shadow:0 8px 0 #dfeaf2!important;overflow:hidden!important;background:#fff!important;transition:transform .2s cubic-bezier(.34,1.5,.64,1),box-shadow .2s!important}
body.prt .wdz-browse__card:hover{transform:translateY(-7px) rotate(1deg);box-shadow:0 14px 0 #dfeaf2!important}
body.prt .wdz-browse__card-img{border-radius:0!important;background:linear-gradient(170deg,#eaf6fc,#d4ebf7)!important}
body.prt .wdz-browse__card-body{padding:16px 18px 20px!important}
body.prt .wdz-browse__card-name,body.prt .wdz-browse__card-name a{font-family:var(--fd)!important;font-size:1.25rem!important;font-weight:800!important;color:var(--ink)!important;text-decoration:none!important}
body.prt .wdz-browse__card-name a:hover{color:var(--pink-b)!important}
body.prt .wdz-browse__card-price{display:inline-block;width:auto!important;color:var(--pink-b)!important;font-weight:800!important;font-size:1.05rem!important;margin:4px 0 6px}
body.prt .wdz-browse__add{border-radius:999px!important;font-weight:800!important;box-shadow:0 5px 0 var(--pink-d)!important;transition:transform .14s,box-shadow .14s!important}
body.prt .wdz-browse__add:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--pink-d)!important}
body.prt .wdz-browse__qty{border-radius:999px!important;overflow:hidden;border-color:#e8e4fb!important}

/* ---------- item page: the layout is in core (prt-io.css); the look is here ---------- */
body.prt .io_product_picbox{position:relative}
body.prt .io_product_picbox>br{display:none}
body.prt .io_product_picbox #io_main_media_container{border:8px solid #fff;border-radius:30px!important;box-shadow:0 10px 0 rgba(56,54,95,.12),0 22px 40px rgba(56,54,95,.14);overflow:hidden;background:linear-gradient(170deg,#eaf6fc,#d4ebf7)}
body.prt .io_product_picbox .io_image_big{border-radius:0!important}
body.prt .io_product_picbox .io_image_thumbbox{margin-top:22px!important;display:flex;gap:10px}
body.prt .io_product_picbox .io_image_thumb{border:4px solid #fff!important;border-radius:16px!important;box-shadow:0 5px 0 #ece8fb;cursor:pointer}
body.prt .io_product_infobox{border:0!important;border-radius:30px!important;box-shadow:0 9px 0 #ece8fb!important;padding:clamp(24px,3.4vw,40px)!important;background:#fff!important}
body.prt .io_product_title{font-family:var(--fd)!important;font-weight:800!important;font-size:clamp(2rem,3.4vw,2.8rem)!important;line-height:1.05!important;color:var(--ink)!important}
body.prt .io_product_infobox .io_product_price_box{background:var(--sunny)!important;border:3px solid var(--yellow)!important;border-radius:999px!important;padding:10px 26px!important;box-shadow:0 5px 0 var(--yellow-d)!important;margin:6px 0 4px!important}
body.prt .io_product_infobox .io_product_price_box{flex-wrap:wrap;column-gap:8px;padding:10px 20px!important}
body.prt .io_product_infobox .io_product_price_left{margin-right:6px!important}
body.prt .io_product_infobox .io_product_price_left{font-family:var(--fd);font-size:1.5rem!important;white-space:nowrap;font-weight:800!important;color:var(--gold-ink)!important}
body.prt .io_product_infobox .io_product_price_right{font-weight:800!important;color:var(--gold-ink)!important}
body.prt .io_product_infobox .io_product_price_box>p:last-child{margin-right:0!important}
/* Set Date / Check Delivery: candy pills, side by side. */
body.prt .io_product_infobox>div:has(> div > .elementor-widget-button){display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:16px 0 6px}
body.prt .io_product_infobox>div:has(> div > .elementor-widget-button)>div{height:auto!important;min-height:0!important}
body.prt .io_product_infobox .elementor-button.io_button{border-radius:999px!important;padding:14px 26px!important;font-family:var(--fb)!important;font-weight:800!important;font-size:.98rem!important;text-decoration:none!important;border:0!important;transition:transform .14s,box-shadow .14s!important}
body.prt .io_product_infobox .elementor-button.io_button *{text-decoration:none!important;font-weight:800!important}
body.prt .io_product_infobox .item_add_set_date{background:var(--pink-b)!important;color:#fff!important;box-shadow:0 6px 0 var(--pink-d)!important}
body.prt .io_product_infobox .item_add_set_date:hover{transform:translateY(-3px);box-shadow:0 9px 0 var(--pink-d)!important}
body.prt .io_product_infobox #checkDeliveryButton{background:#fff!important;color:var(--purple-b)!important;box-shadow:0 0 0 3px #e8e4fb inset,0 6px 0 #d9ccf5!important}
body.prt .io_product_infobox #checkDeliveryButton:hover{transform:translateY(-3px)}
body.prt .io_product_infobox #checkDeliveryButton i,body.prt .io_product_infobox #checkDeliveryButton svg{color:var(--purple-b)!important;fill:var(--purple-b)!important}
body.prt .io_product_detailbox{border-top:3px dashed #e3def7!important;padding-top:6px}
body.prt .io_product_subtitle{font-family:var(--fd)!important;font-weight:800!important;font-size:1.5rem!important;color:var(--ink)!important}
body.prt .io_product_desc{font-size:1rem!important;line-height:1.75!important;color:var(--ink2)!important}
/* Size and power: a tidy spec list. */
body.prt .io_product_infobox .io_product_detail_box{display:flex!important;justify-content:space-between;align-items:center;gap:14px;background:var(--sky2)!important;border:0!important;border-radius:18px!important;
  padding:12px 18px!important;margin:10px 0 0!important;width:100%!important;max-width:none!important}
body.prt .io_product_infobox .io_product_detail_box p{background:none!important;padding:0!important;margin:0!important;width:auto!important;float:none!important;border-radius:0!important}
body.prt .io_product_infobox .io_product_detail_box p:first-child{font-size:.75rem!important;font-weight:800!important;letter-spacing:1.2px;text-transform:uppercase;color:var(--purple-b)!important}
body.prt .io_product_infobox .io_product_detail_box p:last-child{font-size:1rem!important;font-weight:800!important;color:var(--ink)!important;text-align:right}
/* A measurement never breaks in the middle ("20'x20'x" / "10'"): the value
   stays on one line and the label wraps beside it instead. */
body.prt .io_product_infobox .io_product_detail_box p:last-child{white-space:nowrap;flex:none}
body.prt .io_product_infobox .io_product_detail_box p:first-child{flex:1 1 auto;min-width:0;line-height:1.35!important}
/* BookFlow's availability card: a white card with a confetti stripe. */
body.prt .wdz-itemcal__card{border:0!important;border-radius:30px!important;box-shadow:0 9px 0 #ece8fb!important;position:relative;overflow:hidden}
body.prt .wdz-itemcal__card::before{content:'';position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--pink),var(--yellow),var(--green),var(--cyan),var(--purple))}
body.prt .wdz-itemcal__title{font-family:var(--fd)!important;font-weight:800!important;font-size:1.7rem!important}
/* The quote form: rental tiles and category rows as cards. */
body.prt .io_form .thumbnail{border:0!important;border-radius:24px!important;box-shadow:0 7px 0 #ece8fb!important;padding:14px!important;transition:transform .2s}
body.prt .io_form .thumbnail:hover{transform:translateY(-4px)}
body.prt .io_form .thumbnail img{border-radius:16px!important}
body.prt .io_form .rental-name{font-family:var(--fd);font-weight:800!important;color:var(--ink)!important}
body.prt .io_form .accordion-group{border:0!important;border-radius:24px!important;box-shadow:0 7px 0 #ece8fb!important}
body.prt .io_form .btn-success{box-shadow:0 5px 0 var(--pink-d)!important;font-weight:800!important}

.prt-io-page .pagebody{padding-top:6px}
.prt-io-page .prt-io .elementor-section-boxed>.elementor-container{max-width:var(--max)}

/* =====================================================================
   Phones
   ===================================================================== */
@media (max-width:780px){
  .pgtext--split,.pgcontact{grid-template-columns:1fr}
  .pghead .balloon,.pghead .cloud.c3{display:none}
  .pghead .sun--sm,.pagehead:not(.pagehead--io)::before{width:60px;height:60px;top:16px;right:4%}
  .pghead__title,.pagehead__title{max-width:none;padding-right:50px}
}
@media (max-width:620px){
  body.prt .io_product_picbox #io_main_media_container{border-width:6px;border-radius:24px!important}
  body.prt .io_product_infobox{border-radius:24px!important}
  body.prt .io_product_infobox .elementor-button.io_button{padding:13px 20px!important}
  body.prt .prt-io .io_cat_longdescription:not(:empty){padding:28px 22px!important;border-radius:26px}
  body.prt .prt-io .io_landingpages{margin-top:30px!important}
  .pgmap iframe{height:280px}
}

/* =====================================================================
   One grid. Core's sections and the blog use the same text column as our
   .wrap (1132px, 24px gutters, 16px on phones), so headings and cards line
   up from section to section.
   ===================================================================== */
.prts-wrap,.prt-blog-wrap{width:min(var(--prt-wrap,1132px),100% - 48px)}
@media (max-width:780px){:root{--prt-section-y:60px}}
@media (max-width:640px){.prt-blog-wrap{width:calc(100% - 32px)}}
@media (max-width:560px){.prts-wrap{width:calc(100% - 32px)}}
/* Review wall: Elementor zeroes figure margins inside its widgets, which glued the rows
   of review cards together. */
.prts-rwall__grid .prts-rwcard{margin:0 0 30px!important}
/* Strip titles wrap evenly instead of leaving one word on the second line. */
.prts .prts-strip__title{text-wrap:balance}
.prts p{text-wrap:pretty}

/* Phones (polish round 2): the whole contact chip is the tap target for its phone / email link. */
.pginfo li{position:relative}
.pginfo a::after{content:"";position:absolute;inset:0;border-radius:22px}
.pginfo small{font-size:.76rem}

/* Polish round 6 (colour & states): the current page in the breadcrumbs is ink, not the
   muted purple-grey (3.8:1 on the top of the sky header). */
.crumbs li,.prts .prts-crumbs,.prts .prts-crumbs li{color:var(--ink)}
/* The pink word in a page title sits on the top of the sky gradient (and a faint photo on
   event and town pages): one shade deeper keeps it above 3:1 there. */
.pghead__title em{color:#c01e6c}
/* Form fields and search pills: a lavender edge at 3:1 (the pale one was 1.2:1); focus keeps
   the purple edge and adds the purple ring. */
.search-form .search-field,.prt-blog-search,.prts-fqsearch,.prts-form :is(input,textarea),.pgform :is(input,textarea,select){border-color:#8f82d0}
.prts-form :is(input,textarea):focus,.pgform :is(input,textarea,select):focus,.search-form .search-field:focus{outline:3px solid var(--purple-b);outline-offset:2px}
/* Search pills: the edge is darker now, so focus adds the purple ring rather than only
   recolouring the edge. */
.prts-fqsearch:focus-within,.prt-blog-search:focus-within{outline:3px solid var(--purple-b);outline-offset:2px}
/* Breadcrumb links over a page header photo: one purple deeper (the photo's dark patches
   brought #5b2fc0 to 3.9:1). */
.pghead.has-img .crumbs a{color:#4a239f}
/* Inline blog "Browse rentals" link: hover in the deep pink (pink-b was 4.4:1 on the pale blue box). */
.prt-blog-inline__link:hover{color:var(--pink-d)}

/* Polish round 7 (performance). */
/* Photo page headers: phones take the lighter copy of the faint photo behind the sky. */
@media (max-width:760px){.pghead.has-img::before{background-image:var(--pgh-img-s,var(--pgh-img))}}

/* Polish round 8 (booking flow). */
/* Event-page picks: Add to Cart turns green once the rental is in the cart (as the home cards do). */
body.prt .prt-atc:not([class*="btn"]):not(.is-link).is-added{background:var(--green-b);border-color:var(--green-b);box-shadow:0 5px 0 var(--green-d)}
/* Item page calendar: "Book this date" is the candy-pink Book button ("Book a bounce!"). */
body.prt .wdz-itemcal__book{border-radius:999px!important;font:800 1.05rem/1.2 var(--fb)!important;color:#fff!important;background:var(--pink-b)!important;
  box-shadow:0 6px 0 var(--pink-d)!important;transition:transform .14s,box-shadow .14s!important;filter:none!important}
body.prt .wdz-itemcal__book:hover{transform:translateY(-3px)!important;box-shadow:0 9px 0 var(--pink-d)!important}
body.prt .wdz-itemcal__book:active{transform:translateY(4px)!important;box-shadow:0 2px 0 var(--pink-d)!important}
body.prt .wdz-itemcal__book:focus-visible{outline:3px solid var(--purple-b)!important;outline-offset:3px!important}
/* BookFlow's date window and checkout in the theme's colours: the band runs purple into candy
   pink (core keeps it readable in every theme: purple into deeper purple), the main buttons are
   the purple candy button. White text 5.3:1 (purple) to 4.8:1 (pink). */
html body.prt.wdz-style-playful .wdz-gate .wdz-gate__header{background:linear-gradient(135deg,var(--purple-b),var(--pink-b))!important}
body.prt.wdz-style-playful .wdz-gate__headline{font-family:var(--fd)!important}
body.prt.wdz-style-playful :is(.wdz-gate__btn--primary,.wdz-form__btn--primary,.wdz-form__btn--submit):not(:disabled){background:var(--purple-b)!important;color:#fff!important;
  font-weight:800!important;box-shadow:0 5px 0 var(--purple-d)!important}
body.prt.wdz-style-playful :is(.wdz-gate__btn--primary,.wdz-form__btn--primary,.wdz-form__btn--submit):not(:disabled):active{box-shadow:0 1px 0 var(--purple-d)!important}
/* "Prefer to talk? (phone)" under the calendar: a 44px tap target on phones and touch screens. */
@media (max-width:760px),(pointer:coarse){body.prt .wdz-itemcal a[href^="tel:"]{display:inline-block;padding:12px 2px;margin:-12px -2px}}
@media (prefers-reduced-motion:reduce){body.prt .wdz-itemcal__book{transition:none!important;transform:none!important}}
/* Round 9: the featured review quote asked for 400 but rendered at Baloo's 600 face; the font now has every
   weight, so keep the look buyers have seen. */
.prts-rfeat blockquote p{font-weight:600;text-wrap:balance}
.prts-amap__list li{text-wrap:balance}
/* Round 10: Elementor's `.elementor img{border:none;box-shadow:none}` loads later and ties; keep the white photo frame. */
body .pe-row__media img{border:7px solid #fff;box-shadow:0 10px 0 rgba(56,54,95,.12),0 20px 36px rgba(56,54,95,.14)}
/* Round 11 (motion & interaction states). */
/* Press and hover feedback where controls had none: the candy shadow lifts on hover and sinks while held,
   like the theme's buttons. */
.navcart{transition:transform .15s,box-shadow .15s}
.navcart:hover{box-shadow:0 6px 0 #cbe6f4}
.navcart:active{transform:translateY(3px);box-shadow:0 1px 0 #cbe6f4}
.tk-pause{transition:transform .14s,box-shadow .14s}
.tk-pause:hover{transform:translateY(calc(-50% - 2px));box-shadow:0 5px 0 var(--yellow-d)}
.tk-pause:active{transform:translateY(calc(-50% + 2px));box-shadow:0 1px 0 var(--yellow-d)}
.rs-pause{transition:transform .14s,box-shadow .14s,color .2s}
.rs-pause:hover{transform:translateY(-2px);box-shadow:0 6px 0 #d9ccf5;color:var(--purple-d)}
.rs-pause:active{transform:translateY(3px);box-shadow:0 1px 0 #d9ccf5}
.logo .lmark{transition:transform .25s cubic-bezier(.34,1.6,.64,1)}
.logo:hover .lmark{transform:rotate(-6deg) scale(1.05)}
body.prt .prt-atc:not([class*="btn"]):not(.is-link):active{transform:translateY(3px);box-shadow:0 2px 0 var(--purple-d)}
body.prt .prt-atc:not([class*="btn"]):not(.is-link).is-added:active{box-shadow:0 2px 0 var(--green-d)}
body.prt.wdz-style-playful :is(.wdz-gate__btn--primary,.wdz-form__btn--primary,.wdz-form__btn--submit):not(:disabled){transition:transform .14s,box-shadow .14s!important}
body.prt.wdz-style-playful :is(.wdz-gate__btn--primary,.wdz-form__btn--primary,.wdz-form__btn--submit):not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--purple-d)!important}
body.prt.wdz-style-playful :is(.wdz-gate__btn--primary,.wdz-form__btn--primary,.wdz-form__btn--submit):not(:disabled):active{transform:translateY(3px)!important}
/* The falling confetti passes behind everything on the page (it drew over core sections' text and,
   on phones, flickered through headings): it now shows only where the cream page shows. */
.confetti{z-index:-1}
/* Only transform/opacity animate: the menu notch slides with translate (it animated `left`), and the FAQ
   +/− badge changes colour and shadow without an all-properties transition. */
.mega-in::before{left:0;translate:var(--notch,52px) 0;transition:translate .2s}
.faq summary::after{transition:background .2s,box-shadow .2s,translate .14s}
.faq summary{transition:color .2s}
.faq summary:hover{color:var(--purple-b)}
.faq summary:active::after{translate:0 2px;box-shadow:0 2px 0 var(--purple-d)}
.prts .prts-crumbs a:hover{text-decoration-color:currentColor}
@media (prefers-reduced-motion:reduce){
  .pgformcard__pop{animation:none}
  .navcart:hover,.navcart:active,.rs-pause:hover,.rs-pause:active,.logo:hover .lmark,
  body.prt .prt-atc:not([class*="btn"]):not(.is-link):active{transform:none}
  .mega-in::before{transition:none}
  .faq summary:active::after{translate:none}
}

/* Round 12 (inner company pages).
   Inner pages take turns cream / tint like the home page does (functions.php prints a hidden
   .pg-tone marker before a cream section that would follow another cream one). */
.pg-tone--s+:is(.sec,.prts){background:var(--sky2)}
.pg-tone--m+:is(.sec,.prts){background:var(--mint)}
.pg-tone--y+:is(.sec,.prts){background:var(--sunny)}
.pg-tone:not(.pg-tone--keep)+.prts{padding-top:var(--prt-section-y)}
/* "Pause animations" (round 12, the suite-wide control first added in Splash): the footer button and
   the ticker's own button still the falling confetti, clouds, sun, kids, balloons, badges, town pills
   and the ticker (WCAG 2.2.2). html.pg-still is put back by the head script before the page paints. */
html.pg-still :is(.confetti i,.sun .rays,.c1,.c2,.c3,.kid,.balloon,.pop,.badge-yrs,.yrs,.tk-track,.town,.pghead .balloon,.pgformcard__pop){animation-play-state:paused!important}
.fmotion{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:14px;cursor:pointer;
  border:1px solid #4e4c7d;background:rgba(255,255,255,.05);color:#d0cdf0;font:inherit;font-size:.88rem;font-weight:700;
  transition:background-color .2s,border-color .2s,color .2s,transform .12s}
.fmotion:hover{background:rgba(255,255,255,.12);border-color:#8f8bd0;color:var(--yellow)}
.fmotion:active{transform:translateY(2px)}
.fmotion svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.fmotion .tp-play{display:none;fill:currentColor;stroke-width:1.5}
.fmotion .fm-play,.fmotion[data-still="true"] .fm-pause,.fmotion[data-still="true"] .tp-pause{display:none}
.fmotion[data-still="true"] .fm-play,.fmotion[data-still="true"] .tp-play{display:block}
.fmotion[hidden]{display:none}
.fbot .fmotion{margin-right:auto}
@media (max-width:700px){.fbot{justify-content:center;text-align:center}.fbot .fmotion{margin-inline:auto}}
@media (prefers-reduced-motion:reduce){.fmotion{display:none!important}}
/* Panels drawn in the sky tint would vanish on a tinted band: they turn white there (the weather box,
   which holds white cards, takes the cream page colour instead). */
.pg-tone+.prts :is(.prts-check__rules,.prts-rleave__box){background:#fff}
.pg-tone+.prts .prts-weather__box{background:var(--cream)}
.pg-tone+.prts:not(.is-bold) .prts-strip__box{background:#fff}

/* Round 13 (service area + town pages). The bold CTA strip keeps its purple box on a tinted band (the
   white-box rule for strips on tints had made its white words invisible on town pages). A heading's
   highlighted words stay with the punctuation after them (playground_accent(); core's word joiner alone
   does not hold after an inline-block in Chrome). */
.pg-nobr{white-space:nowrap}
/* The current town on a town page is a white candy pill (core draws a thin outline on the band's tint), and
   "Not on the list?" sits on the same line as its call link. */
.prts-amap__list a[aria-current]{background:#fff;box-shadow:0 4px 0 #d9ccf5;color:var(--ink)}
.prts-amap__note>span{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 .25em}

/* Round 14 (blog, search, 404, empty states).
   A post with no photo gets a storybook tile: candy tints that take turns like the card tags, the icon
   on a white disc with a candy shadow (it was one pale sky gradient on every card). */
.prt-blog-card__ph,.prt-blog-feature__ph{--ph1:#d8f7fa;--ph2:#eee6ff;--phc:var(--purple-b);--phs:#d9ccf5;
  --phr:46px;background:radial-gradient(circle,#fff 0 var(--phr),transparent calc(var(--phr) + 1px)),linear-gradient(160deg,var(--ph1),var(--ph2));color:var(--phc)}
.prt-blog-card__ph .ic,.prt-blog-feature__ph .ic{filter:drop-shadow(0 3px 0 var(--phs))}
.prt-blog-grid>:nth-child(4n+2) .prt-blog-card__ph{--ph1:#ffe1ef;--ph2:#fff2cf;--phc:var(--pink-b);--phs:#ffc2dc}
.prt-blog-grid>:nth-child(4n+3) .prt-blog-card__ph{--ph1:#ddf6de;--ph2:#fff4cd;--phc:var(--green-b);--phs:#aadfab}
.prt-blog-grid>:nth-child(4n+4) .prt-blog-card__ph{--ph1:#d8f7fa;--ph2:#ddefff;--phc:var(--teal);--phs:#a4e3e9}
.prt-blog-feature__ph{--ph1:#fff2cf;--ph2:#ffe1ef;--phc:var(--pink-b);--phs:#ffc2dc;--phr:72px}
/* The falling confetti stays off a post you are reading (pieces drifted across the article's words). */
.single-post .confetti{display:none}
/* The search placeholder ends in an ellipsis when a phone cuts it ("Search party tips, rentals…"). */
.prt-blog-search input,.search-form .search-field{text-overflow:ellipsis}
/* A long post title (core marks it --long when it can) takes a smaller size. */
.prt-blog-art__title--long{font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.1;max-width:30ch}
.prt-blog-feature__title--long{font-size:clamp(1.4rem,2.1vw,1.85rem)}
/* 404: crumbs, then the way back, a search and the rental categories as candy pills. */
.pagehead--nf .crumbs{margin-bottom:14px}
.pagehead--nf .crumbs ol{justify-content:center}
.pgpills{display:grid;justify-items:center;gap:10px;margin-top:26px}
.pgpills__label{font-size:.8rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--purple-d)}
.pgpills__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.pgpill{display:inline-flex;align-items:center;min-height:44px;padding:.5em 1.2em;border-radius:999px;background:#fff;color:var(--ink);font-weight:800;text-decoration:none;
  box-shadow:0 4px 0 #e3def7;transition:transform .15s,background .2s,box-shadow .15s}
.pgpill:hover{background:var(--sunny);transform:translateY(-2px);box-shadow:0 6px 0 #e6d6a4}
.pgpill:active{transform:translateY(2px);box-shadow:0 1px 0 #e3def7}
.pgpill:focus-visible{outline:3px solid var(--purple-b);outline-offset:3px}
.pgpills__list li:nth-child(4n+1) .pgpill:hover{background:#ffe1ef}
.pgpills__list li:nth-child(4n+3) .pgpill:hover{background:#ddf6de}
@media (prefers-reduced-motion:reduce){.pgpill:hover,.pgpill:active{transform:none}}
/* Core's "nothing here" box (prt_blog_empty(), core 1.2.16) as a white candy card: the icon on a lilac
   disc, the rental pills in Playground's candy style, "See all posts" in the theme's purple. */
.prt-blog-empty{border:0;border-radius:30px;box-shadow:0 8px 0 #ece8fb,0 20px 40px rgba(56,54,95,.08)}
.prt-blog-empty__ic{width:72px;height:72px;background:#eee6ff;color:var(--purple-b);font-size:1.8rem;box-shadow:0 5px 0 #d9ccf5;rotate:-6deg}
.prt-blog-empty__text{color:var(--ink2);font-weight:600}
.prt-blog-empty__cats{gap:12px}
.prt-blog-empty__link{color:var(--purple-b);text-decoration-color:rgba(124,74,232,.35)}
.prt-blog-empty__link:hover{color:var(--pink-b);text-decoration-color:currentColor}
.prt-blog-latest{margin-top:clamp(44px,5vw,64px)}
/* A long unbroken search word breaks inside the hero title instead of running off both edges: the hero
   column is a centred flex column, where break-word does not shrink the title (anywhere does). */
.prt-blog-hero__title,.prt-blog-art__title,.prt-blog-feature__title,.prt-blog-card__title{overflow-wrap:anywhere;max-width:100%}

/* Round 15 (SEO / headings): the booking platform's own steps (quote, confirm, receipt…) get a short page header
   with the step's <h1> — same sky band as every other page, kept low so the cart stays near the top. */
.pagehead.pagehead--flow{padding:clamp(28px,3.6vw,48px) 0 clamp(54px,5.4vw,74px)}
.pagehead--flow .pagehead__title{font-size:clamp(2rem,4.4vw,3rem)}
.pagehead--flow .pagehead__lead{margin-top:.35em}

/* Round 19: a page built with Elementor that also prints plain post content (WDZ Toolkit town pages,
   which carry their own <h1>) ran that text edge to edge. Plain blocks straight in the page body sit
   on the site's content column; Elementor's own markup is inside div.elementor and is not touched. */
.pagebody--wide .prt-page>.prt-page__body>:is(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,table,figure,hr,.wdz-entry-content,.wdz-entry-faq){max-width:var(--max);margin-inline:auto;padding-inline:24px;box-sizing:border-box}
.pagebody--wide .prt-page>.prt-page__body>:is(ul,ol){padding-left:calc(24px + 1.4em)}
.pagebody--wide .prt-page>.prt-page__body>:is(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,table,figure,.wdz-entry-content,.wdz-entry-faq):last-child{margin-bottom:clamp(60px,7vw,100px)}
@media (max-width:560px){
  .pagebody--wide .prt-page>.prt-page__body>:is(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,table,figure,hr,.wdz-entry-content,.wdz-entry-faq){padding-inline:16px}
  .pagebody--wide .prt-page>.prt-page__body>:is(ul,ol){padding-left:calc(16px + 1.4em)}
}

/* Round 20 (final pass): iOS Safari zooms the page into any text field under 16px when it is tapped.
   On phones and touch screens the hero booking bar and the message form type at 16px (they were ~15.5px). */
@media (max-width:860px),(pointer:coarse){
  .bookcard input,.bookcard select,.pgform input,.pgform textarea,.pgform select{font-size:16px}
}
