/* Heritage Gutenberg blocks: original 2.7.1 markup and styling. */
.paolinos-loyalty-page .loyalty-section__grid > .loyalty-section{padding:0;background:transparent;min-width:0}
.paolinos-loyalty-page .loyalty-section__grid > .loyalty-section > .page-shell{width:100%;max-width:none;padding:0;margin:0}
.paolinos-loyalty-page .loyalty-section__grid .loyalty-app{width:100%;min-width:0}
.paolinos-loyalty-page .loyalty-story .wp-block-heading,.paolinos-loyalty-page .loyalty-faq .wp-block-heading{margin-top:0}
/* Gutenberg heading typography is defined explicitly below. */
.paolinos-products-page .catalog-hero__copy > h1,.paolinos-loyalty-page .loyalty-hero__text > h1{font-family:var(--display);font-size:clamp(48px,6vw,86px);font-weight:400;line-height:1.02;letter-spacing:-.045em}
.paolinos-products-page .catalog-hero__copy > h1 em,.paolinos-loyalty-page .loyalty-hero__text > h1 em{color:var(--burgundy)}
.paolinos-loyalty-page .loyalty-faq__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media(max-width:800px){.paolinos-loyalty-page .loyalty-faq__grid{grid-template-columns:1fr}}

/* 2.9.1: Gutenberg heading markup must use the original 2.7.1 hero scale.
   Keep selectors scoped to the heritage components, not generic entry-content. */
.paolinos-loyalty-page .loyalty-hero__text > h1,
.paolinos-loyalty-page .loyalty-hero__text > h1.wp-block-heading {
  font-family:var(--display);font-size:clamp(58px,6.8vw,108px);
  font-weight:400;line-height:.97;letter-spacing:-.065em;
  margin:22px 0 0;color:var(--ink);
}
.paolinos-loyalty-page .loyalty-hero__text > h1 em {color:var(--burgundy);font-weight:400;line-height:1.13}
.paolinos-loyalty-page .loyalty-hero__text > h1 + p:not(.eyebrow){max-width:520px;font-size:clamp(15px,1.26vw,19px);line-height:1.7;color:var(--muted);margin-top:28px}
@media(max-width:620px){.paolinos-loyalty-page .loyalty-hero__text > h1,.paolinos-loyalty-page .loyalty-hero__text > h1.wp-block-heading{font-size:clamp(48px,11vw,72px)}}

/* Standorte: original catalog hero and event list contracts, scoped to this page. */
.paolinos-locations-page .catalog-hero__copy > h1,
.paolinos-locations-page .catalog-hero__copy > h1.wp-block-heading {
 font-family:var(--display);font-size:clamp(48px,6vw,86px);font-weight:400;
 line-height:1.02;letter-spacing:-.045em;color:var(--ink);
}
.paolinos-locations-page .catalog-hero__copy > h1 em {color:var(--burgundy);font-weight:400}
.paolinos-locations-page .events-section__intro .wp-block-heading {
 font-family:var(--display);font-weight:400;color:var(--ink);letter-spacing:-.048em;
 line-height:1.08;font-size:clamp(39px,4.8vw,73px);margin-top:20px
}
.paolinos-locations-page .events-section__intro .wp-block-heading em {color:var(--burgundy)}
.paolinos-locations-page .events-section__intro > .wp-block-group {min-width:0}
@media(max-width:650px){.paolinos-locations-page .events-section__intro .wp-block-heading{font-size:clamp(37px,9.1vw,52px)}}

/* 2.9.4: category archives and the Gutenberg products page share one hero contract. */
.tax-paolinos_product_category .catalog-hero__copy > h1.wp-block-heading,
.paolinos-products-page .catalog-hero__copy > h1.wp-block-heading {
  font-family:var(--display);font-size:clamp(54px,7vw,109px);
  font-weight:400;line-height:.97;letter-spacing:-.06em;
  color:var(--ink);margin:23px 0;
}
.tax-paolinos_product_category .catalog-hero__copy > h1 em,
.paolinos-products-page .catalog-hero__copy > h1 em {color:var(--burgundy);font-style:italic}
.paolinos-category-editorial {padding-block:clamp(42px,6vw,88px)}
.paolinos-category-editorial > .page-shell > * {max-width:850px}

/* 2.9.6: locations hero uses catalog component. Defensive sizing independent of enqueue order. */
.paolinos-locations-page .paolinos-locations-hero .catalog-hero__inner{display:flex;align-items:center;position:relative;min-height:clamp(330px,30vw,455px);padding-block:clamp(120px,10vw,165px) clamp(65px,7vw,105px)}
.paolinos-locations-page .paolinos-locations-hero .catalog-hero__copy{position:relative;z-index:1;max-width:850px}
.paolinos-locations-page .paolinos-locations-hero .catalog-hero__ornament{position:absolute;right:3.5%;top:14%;width:clamp(155px,18vw,290px);height:75%;object-fit:contain;opacity:.22;transform:rotate(-17deg);pointer-events:none}
@media(max-width:780px){.paolinos-locations-page .paolinos-locations-hero .catalog-hero__ornament{right:-30px;opacity:.13}}
