/**
Theme Name: CouCorp Astra 3
Author: Angeldie
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 3.3.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: coucorp-astra-3
Template: astra
*/

/* Front-page layout guardrails: avoid theme chrome competing with the custom landing. */
/* Force every Astra wrapper to relinquish width; this survives legacy/plugin CSS. */
body.home #content,
body.home .site-content > .ast-container,
body.home #primary,
body.home .site-main,
body.home .ast-article-single,
body.home .entry-content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
}
body.home #primary {
  margin: 0 !important;
}
body.home .spd-home {
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
}
.home .ast-breadcrumbs-wrapper,
.home .site-branding .site-title,
.home .site-branding .site-description {
  display: none;
}
.home .site-content > .ast-container,
.home .site-content .ast-article-single,
.home .site-content .entry-content {
  max-width: none;
  margin: 0;
  padding: 0;
}
.home .site-branding .custom-logo-link img {
  display: block;
  width: 64px;
  max-width: 64px;
  height: 64px;
  object-fit: contain;
}
@media (max-width: 921px) {
  .home .site-branding .custom-logo-link img {
    width: 52px;
    max-width: 52px;
    height: 52px;
  }
  .home .ast-mobile-header-wrap .menu-toggle,
  .home .main-header-menu-toggle {
    min-width: 46px;
    min-height: 46px;
    padding: 10px !important;
    color: #45205e !important;
    position: relative;
    z-index: 20;
  }
  /* Keep the members/login shortcut clear of Astra's mobile menu trigger. */
  #vcs-header-auth {
    right: 62px !important;
    left: auto !important;
    z-index: 10;
  }
}

/* Keep the mobile header compact and logo-led across every public template. */
.site-branding .site-title,
.site-branding .site-description { display: none; }
.site-branding .custom-logo-link img {
  display: block;
  width: 58px;
  max-width: 58px;
  height: 58px;
  object-fit: contain;
}

/* Reference-aligned global navigation palette: charcoal navy with a single red action accent. */
.site-header .ast-primary-header-bar,
.site-header .ast-builder-menu-1 .main-header-menu,
.site-header .ast-builder-menu-1 .main-header-menu .sub-menu {
  background:#242936 !important;
}
.site-header .main-header-menu .menu-link,
.site-header .ast-builder-menu-mobile .main-header-menu .menu-link,
.site-header .ast-button-wrap .menu-toggle,
.site-header .ast-builder-menu-mobile .menu-toggle {
  color:#fff !important;
}
.site-header .main-header-menu .menu-link:hover,
.site-header .main-header-menu .current-menu-item > .menu-link { color:#ff637f !important; }
.site-header #vcs-header-auth,
.site-header .ast-header-account-wrap .ast-header-account-link {
  background:#eb0029 !important;
  color:#fff !important;
  border-color:#eb0029 !important;
}
.site-header .ast-builder-menu-mobile { background:#242936 !important; }

/* Mobile drawer deliberately keeps the dark brand surface; white links remain unambiguous on every device. */
@media (max-width: 921px) {
  .site-header #ast-mobile-site-navigation,
  .site-header .ast-builder-menu-mobile,
  .site-header .ast-builder-menu-mobile .main-header-menu,
  .site-header .ast-builder-menu-mobile .main-header-menu .sub-menu {
    background:#242936 !important;
  }
  .site-header #ast-mobile-site-navigation .menu-link,
  .site-header .ast-builder-menu-mobile .main-header-menu .menu-link,
  .site-header .ast-builder-menu-mobile .menu-toggle,
  .site-header .ast-builder-menu-mobile .ast-menu-toggle {
    color:#fff !important;
  }
  .site-header #ast-mobile-site-navigation .menu-link:hover,
  .site-header #ast-mobile-site-navigation .current-menu-item > .menu-link {
    color:#ff637f !important;
  }
}

/* Contextual conversion module injected into priority editorial pages. */
.spd-roadmap-cta {
  max-width: 980px;
  margin: 52px auto 16px;
  padding: clamp(26px,4vw,46px);
  border: 1px solid rgba(235,0,41,.7);
  border-radius: 16px;
  background: linear-gradient(125deg,#161921,#2b3140);
  color: #fff;
  box-shadow: 0 18px 38px rgba(18,25,33,.20);
}
.spd-roadmap-cta__eyebrow { margin:0 0 9px; color:#ff8ba0; font-size:12px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.spd-roadmap-cta h2 { margin:0 0 10px; color:#fff!important; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.12; }
.spd-roadmap-cta__text { margin:0; color:#d7dce6; font-size:1.05rem; }
.spd-roadmap-cta__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:23px; }
.spd-roadmap-cta__actions a { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:12px 18px; border-radius:7px; font-size:13px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; text-decoration:none; }
.spd-roadmap-cta__primary { background:#eb0029; color:#fff!important; }
.spd-roadmap-cta__secondary { border:1px solid rgba(255,255,255,.7); color:#fff!important; }
.spd-roadmap-cta__actions a:hover { transform:translateY(-2px); filter:brightness(1.08); }
@media(max-width:620px) { .spd-roadmap-cta { margin:38px 0 8px; padding:27px 22px; border-radius:12px; } .spd-roadmap-cta__actions { flex-direction:column; } .spd-roadmap-cta__actions a { width:100%; } }

/* =====================================================================
   Studio Passione Danza public-site visual system
   Applies to commercial/public pages and course archive. Membership flows
   deliberately retain their own functional layout.
   ===================================================================== */
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post,.post-type-archive-mp-event) {
  --spd-ink: #161921;
  --spd-plum: #2d3342;
  --spd-pink: #eb0029;
  --spd-cream: #eef0f5;
  --spd-white: #ffffff;
  --spd-width: 1180px;
  background: var(--spd-cream);
}
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post,.post-type-archive-mp-event) #content {
  background: var(--spd-cream);
}
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post,.post-type-archive-mp-event) .site-content > .ast-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post,.post-type-archive-mp-event) #primary {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
body.post-type-archive-mp-event #secondary { display: none !important; }
body.post-type-archive-mp-event .page-header,
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post) .entry-header {
  width: min(var(--spd-width), calc(100% - 40px));
  margin: 38px auto 0;
  padding: clamp(28px, 5vw, 56px) clamp(24px, 5vw, 64px);
  border-radius: 20px 20px 0 0;
  background: linear-gradient(120deg, var(--spd-ink), var(--spd-plum));
  box-shadow: 0 16px 40px rgba(18, 16, 26, .14);
}
body.post-type-archive-mp-event .page-header .page-title,
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post) .entry-header .entry-title {
  margin: 0;
  color: var(--spd-white) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4vw, 4.25rem);
  line-height: 1.04;
}
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post) .ast-article-single,
body.post-type-archive-mp-event .ast-archive-description,
body.post-type-archive-mp-event .site-main {
  width: min(var(--spd-width), calc(100% - 40px));
  max-width: var(--spd-width);
  margin: 0 auto 52px;
  padding: clamp(28px, 5vw, 64px);
  background: var(--spd-white);
  border-radius: 0 0 20px 20px;
  box-shadow: 0 16px 40px rgba(18, 16, 26, .08);
}
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post) .entry-content,
body.post-type-archive-mp-event .entry-content {
  max-width: none !important;
  margin: 0 !important;
}
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post,.post-type-archive-mp-event) .entry-content h2,
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post,.post-type-archive-mp-event) .entry-content h3 {
  color: var(--spd-ink);
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.15;
}
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post,.post-type-archive-mp-event) .entry-content a:not(.elementor-button) {
  color: var(--spd-plum);
  font-weight: 700;
}
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post,.post-type-archive-mp-event) .elementor-button,
body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post,.post-type-archive-mp-event) input[type="submit"],
body.post-type-archive-mp-event .mp-event a.button {
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(120deg, var(--spd-pink), #bf3bcd) !important;
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 22px rgba(236, 76, 154, .24);
}
body.post-type-archive-mp-event .mp-event,
body.post-type-archive-mp-event article {
  overflow: hidden;
  margin: 0 0 28px !important;
  border: 0 !important;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(18,16,26,.10);
}
body.post-type-archive-mp-event .mp-event img,
body.post-type-archive-mp-event article img,
body:is(.page-id-1118,.page-id-574,.page-id-713) .entry-content img {
  max-width: 100%;
  border-radius: 12px;
}
@media (max-width: 921px) {
  .ast-mobile-header-content.spd-mobile-menu-open {
    display: block !important;
  }
  body.post-type-archive-mp-event .page-header,
  body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post) .entry-header {
    width: 100%; margin: 0; border-radius: 0; padding: 38px 24px;
  }
  body:is(.page-id-1118,.page-id-574,.page-id-662,.page-id-5052,.page-id-4867,.page-id-4862,.page-id-713,.single-post) .ast-article-single,
  body.post-type-archive-mp-event .site-main {
    width: 100%; margin: 0; padding: 32px 20px 46px; border-radius: 0; box-shadow: none;
  }
}