/* Gutenberg structure, preserving the approved layout. */
.wp-block-group{box-sizing:border-box}.wp-block-image{margin:0}.wp-block-image img{max-width:100%;vertical-align:middle}.wp-block-heading{color:inherit}.wp-block-buttons{display:flex;flex-wrap:wrap;gap:16px}.wp-block-button{margin:0!important}.wp-block-button.devils-link{background:none;padding:0;box-shadow:none}.wp-block-button__link{display:inline-flex;align-items:center;border-radius:999px;background:var(--red);color:#fff;padding:15px 24px;font-size:14px;font-weight:600;text-decoration:none}.wp-block-button.text-link .wp-block-button__link,.wp-block-button.song-source .wp-block-button__link{background:transparent;border-radius:0;padding:6px 0;color:inherit}.wp-block-button__link:hover{filter:brightness(1.12)}
.hero-art>.wp-block-image{width:100%;height:100%}.hero-art>.wp-block-image img{height:100%;width:100%;object-fit:cover}.hero-copy .wp-block-buttons{justify-content:center}.actions>.wp-block-buttons{display:contents}.hero-copy .hero-activities{margin-bottom:24px}.features>div>p:first-child{color:var(--red);font-size:12px}.menu-lines>div>p{margin:0}.menu-lines>div>p:last-child{font-size:12px;color:var(--muted)}.bar-photos .wp-block-image{width:100%}.bar-photos .wp-element-caption{font-size:11px;color:var(--muted);margin-top:12px}.kims-art .wp-block-image,.kims-art img{width:100%;height:100%;object-fit:contain}.party-photos>.wp-block-image{min-width:0}.party-photos img{width:100%;object-fit:cover}.song-heading>p:first-child{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ff352c66;border-radius:12px;color:var(--red);font-size:12px;margin:0}.song-heading p{margin-bottom:0}.song-card .wp-block-audio{margin:20px 0}.song-card .wp-block-audio audio{width:100%}.video-grid .video-item{min-width:0;background:#171719;border:1px solid #ffffff15;border-radius:22px;overflow:hidden}.video-grid figure a{display:block;position:relative}.video-grid figure a:after{content:'▶';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#ef241dd9;display:grid;place-items:center;color:white}.video-grid img{width:100%;height:240px;object-fit:cover}.video-grid figcaption{padding:16px;color:#f5f5f7}.gallery-grid .gallery-item{padding:0;background:transparent;border:0}.gallery-grid .gallery-item img{width:100%;object-fit:cover}.gallery-grid .gallery-item figcaption{font-size:10px;letter-spacing:.04em;text-align:left;color:var(--muted);margin-top:12px;display:flex;justify-content:space-between}.gallery-grid .gallery-item b{margin-left:auto}.visit-details .wp-block-buttons{margin:20px 0}.devils-menu{display:contents;list-style:none;margin:0;padding:0}.devils-menu>li{display:contents}#mainNavigation a{white-space:nowrap}.devils-admin-note{padding:18px;border:1px dashed #ff4a3d;border-radius:14px;color:#ccc;font-size:13px}
.booking-form .wpcf7-form{margin:0}.booking-form input:not([type=submit]),.booking-form textarea{width:100%;max-width:100%;border:1px solid #ffffff24;background:#111114;color:white;border-radius:12px;padding:14px;font-size:16px}.booking-form .wpcf7-form-control-wrap{display:block;margin-top:8px}.booking-form label{display:block;font-size:13px}.booking-form input[type=submit]{width:auto;background:var(--red);border:0;border-radius:999px;padding:15px 24px;color:white}.booking-form .wpcf7-not-valid-tip{font-size:13px}.booking-form .wpcf7-response-output{margin:16px 0;border-radius:12px;padding:14px}.booking-form a{text-decoration:underline}.screen-reader-text{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.admin-bar .site-header{top:44px}.devils-media-dialog{background:#111114;color:#fff;border:1px solid #ffffff30;border-radius:22px;padding:24px;width:min(940px,94vw);max-height:90vh}.devils-media-dialog::backdrop{background:#000c;backdrop-filter:blur(12px)}.devils-media-dialog>.icon-button{display:block;margin:0 0 20px auto}.devils-media-dialog>img{display:block;max-width:100%;max-height:74vh;margin:auto;object-fit:contain}.devils-media-dialog>iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.devils-media-dialog p{max-width:55ch;margin:20px 0}.editor-styles-wrapper .section{max-width:1200px}.editor-styles-wrapper .hero{padding-top:40px}.editor-styles-wrapper .wp-block{max-width:none}
@media(max-width:1100px){.admin-bar .site-header{top:44px}#mainNavigation.devils-menu{display:block}.site-header.menu-open #mainNavigation{display:flex!important}#mainNavigation .devils-menu{display:contents}#mainNavigation a{white-space:normal}.site-header #mainNavigation{max-height:calc(100dvh - 145px);overflow-y:auto}.party-photos img{height:240px}}
@media(max-width:782px){.admin-bar .site-header{top:54px}.hero-art>.wp-block-image{height:100%}.video-grid img{height:210px}}
@media(max-width:620px){.hero-copy .actions{flex-wrap:wrap}.wp-block-button__link{font-size:12px;padding:13px 19px}.gallery-grid .gallery-item figcaption{font-size:9px}.party-photos>.wp-block-image{width:100%}.kims-art .wp-block-image{height:100%}.bar-photos .wp-block-image:first-child{grid-column:1/-1}.menu-lines>div>p:last-child{font-size:10px}.video-grid img{height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Social profiles appear once in the footer, including previously imported pages. */
.visit .social-links{display:none!important}

/* Birthday enquiry: consistent spacing across Gutenberg and all languages. */
.party-copy>.section-copy{margin:0 0 24px}
.party-copy>.wp-block-buttons{margin:0;gap:0}
.party-copy>.wp-block-buttons>.wp-block-button{margin:0!important}
.party-copy>.wp-block-buttons .wp-block-button__link{margin:0;line-height:1.4}
.party-copy>.wp-block-buttons+.subtle{margin:16px 0 0;line-height:1.7}

/* Contact and party enquiries. Fieldset + server hook keep pending SMTP setup closed. */
.booking-disabled{border:0;padding:0;margin:0;min-width:0}
.booking-unavailable{padding:16px 18px;border:1px solid #ffffff20;border-radius:14px;color:#c3c3c8;font-size:13px;line-height:1.65;margin:0 0 22px}
.booking-form .form-grid{gap:18px 16px;margin-bottom:18px}
.booking-form .wpcf7-form>p{margin:0 0 20px}
.booking-form .wpcf7-form>label{margin-bottom:20px}
.booking-form .form-grid p{margin:0}
.booking-form select{width:100%;padding:14px;border:1px solid #ffffff24;background:#111114;color:white;font-size:16px;border-radius:12px}
.booking-form fieldset:disabled input,.booking-form fieldset:disabled textarea,.booking-form fieldset:disabled select{opacity:.65}
.booking-form fieldset:disabled input[type=submit]{cursor:not-allowed;opacity:.45}
.booking-form .form-privacy{font-size:12px;color:var(--muted);line-height:1.7}

/* CF7 inserts paragraph/break wrappers inside field grids. Keep labels as grid items. */
.booking-form .form-grid>p{display:contents}
.booking-form .form-grid br{display:none}
.booking-form .form-grid label{margin:0;min-width:0}
.booking-form textarea{height:160px;min-height:140px;resize:vertical}

/* Keep the complete wordmark left aligned in compact navigation. */
@media(max-width:1100px){
 .site-header .brand{justify-self:start;align-items:flex-start;justify-content:flex-start;width:auto;max-width:100%;min-width:0}
 .site-header .brand-logo{display:block;width:156px;max-width:100%;height:auto;aspect-ratio:760/210;object-fit:contain;object-position:left center;flex-shrink:0}
 .site-header .brand-place{align-self:flex-start;white-space:nowrap}
}
@media(max-width:520px){
 .site-header{padding-inline:10px;column-gap:8px}
 .site-header .brand{width:156px;max-width:100%}
 .site-header .brand-logo{width:156px;height:auto;max-width:100%}
}
@media(max-width:350px){
 .site-header .brand{width:140px}
 .site-header .brand-logo{width:140px}
}

/* Center the location line beneath the mobile wordmark, keeping the brand at the left. */
@media(max-width:1100px){
 .site-header .brand{width:156px}
 .site-header .brand-place{align-self:stretch;width:100%;margin-inline:0;text-align:center;white-space:nowrap}
}
@media(max-width:350px){.site-header .brand{width:140px}}
