/* Public PHPShop theme. Never loaded by the administration interface. */
:root {
  --club-bg: #050407;
  --club-surface: #14101c;
  --club-surface-raised: #1e152b;
  --club-text: #f2edf5;
  --club-muted: #bfb6c9;
  --club-gold: #efcd83;
  --club-gold-hover: #fff0cc;
  --club-primary: #6424a5;
  --club-primary-hover: #7834ba;
  --club-border: #493457;
  --club-red: #a72c45;
  --club-red-hover: #ce4964;
  --club-block-shadow: 5px 5px 30px 7px rgba(0, 0, 0, .25), -5px -5px 30px 7px #7156a1;
  --club-error: #ffb4b4;
  --club-success: #a7dab7;
}
body.club-site { color: var(--club-text); background: var(--club-bg); color-scheme: dark; }
.club-site ::selection { color: var(--club-bg); background: var(--club-gold); }
.club-site { scrollbar-color: var(--club-border) var(--club-bg); }
.club-site a { color: var(--club-gold); }
.club-site a:hover { color: var(--club-gold-hover); }
.club-site a:focus-visible, .club-site button:focus-visible,
.club-site input:focus-visible, .club-site textarea:focus-visible,
.club-site select:focus-visible { outline: 2px solid var(--club-gold); outline-offset: 4px; }
.club-site h1, .club-site h2, .club-site h3, .club-site h4, .club-site h5, .club-site h6 { color: var(--club-text); }
.club-site hr { border-color: var(--club-border); }
.club-site .text-muted, .club-site .text-secondary { color: var(--club-muted) !important; }
/* Main actions: shared by booking forms, cards and the footer. */
.club-site .btn-primary, .club-site .btn-soft-primary,
.club-site .site-footer__cta, .club-site .gem-button {
  color: var(--club-text) !important;
  background: var(--club-primary) !important;
  border: 1px solid var(--club-primary-hover) !important;
  border-radius: 12px !important;
  min-height: 46px;
  box-shadow: none !important;
  text-decoration: none;
}
.club-site .btn-primary:hover, .club-site .btn-soft-primary:hover,
.club-site .site-footer__cta:hover, .club-site .gem-button:hover {
  color: var(--club-text) !important;
  background: var(--club-primary-hover) !important;
  border-color: var(--club-primary-hover) !important;
}
.club-site .btn[data-dismiss], .club-site .btn-secondary,
.club-site .btn-outline-primary, .club-site a[href="../"] > .btn,
.club-site .club-announcement__button {
  color: var(--club-text) !important;
  background: transparent !important;
  border: 1px solid var(--club-border) !important;
  border-radius: 12px;
  box-shadow: none !important;
}
.club-site .btn[data-dismiss]:hover, .club-site .btn-secondary:hover,
.club-site .btn-outline-primary:hover, .club-site a[href="../"] > .btn:hover,
.club-site .club-announcement__button:hover {
  color: var(--club-gold) !important;
  background: transparent !important;
  border-color: var(--club-gold) !important;
}
.club-site .btn:disabled, .club-site .btn.disabled { opacity: .55; cursor: not-allowed; }
/* Neutral surfaces, with no decorative glow outside the hero. */
.club-site .club-announcement, .club-site .contentboxfaq,
.club-site .content-box2, .club-site .content-box3,
.club-site .content-boxgallery, .club-site .contentfaq,
.club-site .modal-content, .club-site .dropdown-menu {
  background: var(--club-surface);
  color: var(--club-text);
  border: 1px solid var(--club-border);
  box-shadow: none;
}
.club-site .contentboxtitle2, .club-site .content-box-title,
.club-site .content-box-title2, .club-site .content-box-title3,
.club-site .content-box-title4 { color: var(--club-text); border-color: var(--club-border); }
.club-site .content-box-title4 { background: var(--club-surface-raised); }
.club-site .club-announcement h2 { color: var(--club-text); }
.club-site .club-announcement a { color: var(--club-gold); }
.club-site .club-announcement a:hover { color: var(--club-gold-hover); }
.club-site .our_team .team_member { background: var(--club-bg); }
.club-site .our_team .team_member .member_img { background: var(--club-surface); border: 1px solid var(--club-border); box-shadow: none; }
.club-site .our_team .team_member p { color: var(--club-muted); }
.club-site .our_team .team_member .social_media .fab { color: var(--club-gold); }
.club-site .card:nth-last-child(1) img { box-shadow: none; }
.club-site .demo, .club-site .demo2 { background: var(--club-surface); }
.club-site .demo__part-back, .club-site .demo2__part-back { background-color: var(--club-surface-raised); }
/* FAQ: text and the indicator share the same state colour. */
.club-site .accordion button { color: var(--club-text); }
.club-site .accordion button:hover, .club-site .accordion button:focus-visible,
.club-site .accordion button[aria-expanded="true"] { color: var(--club-gold); }
.club-site .accordion button p, .club-site .accordion button span { color: inherit !important; }
.club-site .accordion .accordion-item button[aria-expanded="true"] { border-bottom-color: var(--club-gold); }
.club-site .accordion .accordion-content { color: var(--club-muted); }
.club-site .accordion .accordion-content p, .club-site .accordion .accordion-content span { color: inherit !important; }
/* Price styles arrive from CMS content. Scoped specificity replaces their
   coloured sibling variants without altering the database or price copy. */
.club-site .pricing-column { color: var(--club-text); }
.club-site .pricing-column .pricing-price-wrapper,
.club-site .pricing-column:hover .pricing-price-wrapper,
.club-site .pricing-column .pricing-row2-title,
.club-site .pricing-table.pricing-table-style-4 .pricing-row2,
.club-site .gem-button-position-center { background: var(--club-surface) !important; box-shadow: none !important; }
.club-site .pricing-column .pricing-price {
  color: var(--club-gold) !important;
  background: var(--club-surface-raised) !important;
  box-shadow: 0 0 0 1px var(--club-border) !important;
}
.club-site .pricing-column .pricing_row_title,
.club-site .pricing-column .pricing-cost,
.club-site .pricing-column .pricing-row2::before { color: var(--club-gold) !important; }
.club-site .pricing-column .pricing-row2,
.club-site .pricing-column .time { color: var(--club-muted) !important; border-color: var(--club-border); }
.club-site .pricing-column .pricing-row2 span { color: inherit !important; }
/* Footer and forms continue the same palette. */
.club-site footer.border-top, .club-site .site-footer { background: var(--club-surface); color: var(--club-text); border-color: var(--club-border) !important; }
.club-site .site-footer::before { height: 1px; background: var(--club-border); }
.club-site .site-footer__copy, .club-site .site-footer__link,
.club-site .site-footer__bottom, .club-site footer.border-top .nav-link { color: var(--club-muted); }
.club-site .site-footer__phone { color: var(--club-gold); }
.club-site .site-footer__link:hover, .club-site .site-footer__phone:hover,
.club-site footer.border-top .nav-link:hover { color: var(--club-gold-hover); }
.club-site .site-footer__bottom, .club-site .site-footer__socials a { border-color: var(--club-border); }
.club-site .site-footer__socials a { color: var(--club-gold); }
.club-site .site-footer__socials a:hover { color: var(--club-gold-hover); border-color: var(--club-gold-hover); }
.club-site .modal-header, .club-site .modal-footer { border-color: var(--club-border); }
.club-site .modal-title, .club-site .modal-content label { color: var(--club-text); }
.club-site .modal-content .close { color: var(--club-text); text-shadow: none; box-shadow: none; }
.club-site .form-control, .club-site .custom-select {
  background: var(--club-surface-raised); color: var(--club-text);
  border: 1px solid var(--club-border); caret-color: var(--club-gold);
}
.club-site .form-control::placeholder { color: var(--club-muted); opacity: 1; }
.club-site .form-control:focus, .club-site .custom-select:focus { background: var(--club-surface-raised); color: var(--club-text); border-color: var(--club-gold); box-shadow: none; }
.club-site .form-control.is-invalid, .club-site .form-control:invalid:not(:placeholder-shown) { border-color: var(--club-error); }
.club-site .invalid-feedback, .club-site .text-danger { color: var(--club-error) !important; }
.club-site .valid-feedback, .club-site .text-success { color: var(--club-success) !important; }
.club-site input[type="checkbox"], .club-site input[type="radio"] { accent-color: var(--club-primary); }
/* Legacy inline colours in CMS prose: preserve error/success semantics. */
.club-site main [style*="color: #ccffff" i], .club-site main [style*="color:#ccffff" i],
.club-site main [style*="color: #00bcd4" i], .club-site main [style*="color:#00bcd4" i] { color: var(--club-text) !important; }
.club-site main [style*="color: #facd3d" i], .club-site main [style*="color:#facd3d" i],
.club-site main [style*="color: #ffff00" i], .club-site main [style*="color:#ffff00" i] { color: var(--club-gold) !important; }
/* Remove the old multicoloured particle layers, keeping photographic assets. */
.club-site .stars, .club-site .twinkling, .club-site .clouds,
.club-site .starsec, .club-site .starthird, .club-site .starfourth, .club-site .starfifth { display: none; }
/* Restore the original animated particles on the home page only.
   The fixed, clipped layer cannot intercept clicks or cause page overflow. */
.club-site .club-particles { position: fixed; inset: 0; overflow: hidden; z-index: 999; pointer-events: none; }
.club-site .club-particles .starsec,
.club-site .club-particles .starfourth,
.club-site .club-particles .starfifth { display: block; top: 0; left: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .club-site .club-particles > div { animation: none; }
}

/* CMS article cards and residual inline price copy. */
.club-site main .h1, .club-site main .h2, .club-site main .h3 { color: var(--club-text); }
.club-site .blog-card, .club-site .blog-card .description,
.club-site .blog-card .description::before { background: var(--club-surface) !important; color: var(--club-text); }
.club-site .blog-card { box-shadow: 0 8px 24px #0004; }
.club-site .blog-card .description h1 { color: var(--club-text); }
.club-site .blog-card .description h2, .club-site .blog-card .description p { color: var(--club-muted); }
.club-site .blog-card .description p::before { background: var(--club-gold); }
.club-site .blog-card .description .read-more a { color: var(--club-gold); }
.club-site .blog-card .description .read-more a:hover { color: var(--club-gold-hover); }
.club-site .pricing-column p, .club-site .pricing-column p span { color: var(--club-muted) !important; }
.club-site .card1, .club-site .card1:hover { box-shadow: none; border: 1px solid var(--club-border); }
.club-site .carde, .club-site .tip-carde, .club-site .bonus-box { background: var(--club-surface); color: var(--club-text); border-color: var(--club-border); box-shadow: none; }
.club-site .carde p, .club-site .tip-carde p, .club-site .bonus-box p { color: var(--club-muted); }
.club-site .club-hero__booking { color: var(--club-text); }
.club-site .club-hero__booking:hover { color: var(--club-gold-hover); }
.club-site .chat_header { background: var(--club-primary); color: var(--club-text); }
.club-site .chat, .club-site .chat_converse, .club-site .fab_field { background: var(--club-surface); color: var(--club-text); }
.club-site .chat_field { background: var(--club-surface-raised); color: var(--club-text); }
.club-site .chat_field::placeholder { color: var(--club-muted); }
.club-site .alert.bg-white { background: var(--club-surface) !important; color: var(--club-text); border-color: var(--club-border) !important; }
.club-site .alert.bg-white .text-dark { color: var(--club-text) !important; }

/* Burgundy is a brand accent again, separate from form error colours. */
.club-site .contentboxtitle2,
.club-site .content-box-title,
.club-site .content-box-title3,
.club-site .content-box-title4 { border-color: var(--club-red); }
.club-site .club-announcement { border-top-color: var(--club-red); }
.club-site .blog-card .description p::before { background: var(--club-red); }

/* Restore the original purple depth around the legacy content blocks. */
.club-site .contentboxfaq,
.club-site .content-box2,
.club-site .content-boxgallery,
.club-site .card1,
.club-site .card1:hover,
.club-site .our_team .team_member .member_img {
  box-shadow: var(--club-block-shadow);
}
.club-site .site-footer > .container {
  width: min(1280px, calc(100% - 48px)); max-width: 1280px;
  margin-inline: auto; padding-inline: 0; height: auto;
  box-sizing: border-box;
}
.club-site .site-footer .site-footer__grid { margin-inline: -12px; }
.club-site .site-footer .site-footer__column { padding-inline: 12px; }
@media (min-width: 1100px) {
  .club-site .site-footer > .container { width: min(1280px, calc(100% - 128px)); }
}
