/* Extasy Klub 2.6: unified public component page headings.
   Reference: Paradise 6 article headings (extasy-article.css).
   Scoped to selected components; never affects Joomla administrator, articles,
   template's home page, event cards, forms, or the navbar. */
body.extasy-unified-component main#main-content.contentrow{
  padding-top:65px;
}
body.extasy-unified-component main#main-content .p6-main{
  min-width:0;
  width:100%;
}
/* Each of these components previously added a DIFFERENT vertical offset. */
body.extasy-unified-component .p6-main > .excal,
body.extasy-unified-component .p6-main > .extg,
body.extasy-unified-component .p6-main > .ecm,
body.extasy-unified-component .p6-main > .extasygb,
body.extasy-unified-component .p6-main > .exlf{
  margin-top:0!important;
  padding-top:0!important;
}
/* Calendar, gallery, club map, guestbook and lost-and-found keep own layout,
   but the top ribbon follows article badge sizing and spacing. */
body.extasy-unified-component .excal .excal__eyebrow,
body.extasy-unified-component .extg .extg-kicker,
body.extasy-unified-component .ecm .ecm-badge,
body.extasy-unified-component .extasygb .gbpill,
body.extasy-unified-component .exlf .exlf-ribbon{
  background:#d34360;
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:0;
  text-transform:none;
  padding:8px 24px;
  transform:skew(-10deg);
  box-shadow:-9px 9px 0 -2px #293640;
  border-radius:0;
}
body.extasy-unified-component .excal .excal__eyebrow,
body.extasy-unified-component .extg .extg-kicker,
body.extasy-unified-component .ecm .ecm-badge,
body.extasy-unified-component .extasygb .gbpill,
body.extasy-unified-component .exlf .exlf-ribbon-wrap{
  margin:0 0 26px 0;
}
/* The calendar creates its ribbon with a ::before background: reset it,
   otherwise two badges would overlap. */
body.extasy-unified-component .excal .excal__eyebrow::before,
body.extasy-unified-component .excal .excal__eyebrow::after{
  display:none!important;
}
body.extasy-unified-component .excal .excal__eyebrow{isolation:auto;}
body.extasy-unified-component .exlf .exlf-ribbon-wrap{display:block;}
body.extasy-unified-component .exlf .exlf-ribbon{
  display:inline-block;
  margin:0;
}
/* Uniform H1 typography and consistent spacing above the underline. */
body.extasy-unified-component .excal .excal__heading,
body.extasy-unified-component .extg .extg-head h1,
body.extasy-unified-component .ecm .ecm-head h1,
body.extasy-unified-component .extasygb > h1,
body.extasy-unified-component .exlf .exlf-title h1{
  color:#27323b!important;
  font-size:clamp(40px,5vw,67px)!important;
  font-weight:850!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  margin:0 0 30px!important;
}
/* Uniform pink rule: 110 x 4 px, 23 px below heading baseline.
   Only selectors from each component's own top heading are targeted. */
body.extasy-unified-component .excal .excal__heading::after{
  content:""!important;
  display:block!important;
  position:static!important;
  width:110px!important;
  height:4px!important;
  margin:23px 0 0!important;
  background:#d34360!important;
  border:0!important;
}
body.extasy-unified-component .extg .extg-underline,
body.extasy-unified-component .ecm .ecm-rule,
body.extasy-unified-component .exlf .exlf-title-bar{
  display:block!important;
  width:110px!important;
  height:4px!important;
  margin:0 0 23px!important;
  background:#d34360!important;
  border:0!important;
}
body.extasy-unified-component .extasygb > h1::after{
  content:"";
  display:block;
  width:110px;
  height:4px;
  margin-top:23px;
  background:#d34360;
}
/* All component introductions appear BELOW their own pink line. */
body.extasy-unified-component .excal .excal__lead,
body.extasy-unified-component .extg .extg-sub,
body.extasy-unified-component .ecm .ecm-head > p,
body.extasy-unified-component .extasygb > .gbmuted,
body.extasy-unified-component .exlf > .exlf-intro{
  margin-top:0;
  color:#657989;
  line-height:1.7;
}
body.extasy-unified-component .excal .excal__heading{
  margin-bottom:0!important;
}
body.extasy-unified-component .excal .excal__heading::after{
  margin-bottom:23px!important;
}
/* On the guestbook the original H1 had no underline and the next paragraph
   had inconsistent gaps. */
body.extasy-unified-component .extasygb > h1{margin-bottom:23px!important;}
body.extasy-unified-component .extasygb > .gbmuted{margin-bottom:30px;}
@media(max-width:700px){
  body.extasy-unified-component main#main-content.contentrow{padding-top:35px;}
}
