/* Paolino's Illustrated Heritage — inner pages and native Gutenberg blocks v1.9.
 * Scoped to inner-page content and the WP editor; home page is unchanged.
 */
:root {
  --pa-page-measure: 790px;
  --pa-page-wide: 1320px;
  --pa-page-space: clamp(58px, 6vw, 105px);
}
/* Page header intentionally has no decorative border. */
.page-hero {position:relative;isolation:isolate;overflow:hidden;background-color:var(--parchment)}
.page-hero__layout {display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:clamp(290px,29vw,450px);position:relative}
.page-hero__copy {position:relative;z-index:2;max-width:1020px;padding-block:clamp(105px,9.5vw,170px) clamp(64px,7.5vw,125px)}
.page-hero__title {font-family:var(--display);font-size:clamp(50px,7vw,108px);font-weight:400;letter-spacing:-.055em;line-height:1.0;color:var(--ink);margin:20px 0 0;overflow-wrap:break-word}
.page-hero__intro {font-family:var(--sans);font-size:clamp(16px,1.45vw,21px);line-height:1.65;color:var(--muted);max-width:650px;margin-top:27px}
.page-hero__ornament {position:absolute;right:clamp(12px,7vw,140px);top:10%;width:clamp(125px,18vw,320px);height:80%;object-fit:contain;opacity:.16;pointer-events:none;transform:rotate(-8deg)}
.page-hero--image .page-hero__layout {grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:clamp(24px,5vw,80px);min-height:500px}
.page-hero--image .page-hero__copy {padding-block:clamp(110px,10vw,158px) clamp(75px,8vw,120px)}
.page-hero--image .page-hero__title {font-size:clamp(48px,6vw,88px)}
.page-hero__visual {height:100%;min-height:500px;position:relative;align-self:stretch;margin-right:calc(-1 * var(--gutter));margin-left:0}
.page-hero__visual img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Align normal content with the left edge of the page hero (shared page-shell).
 * Keep paragraphs readable without centering the entire 790px text column.
 * The container padding also protects unwrapped classic-editor text nodes. */
.page-content {padding-block:var(--pa-page-space) clamp(90px,10vw,170px);background-color:var(--paper);container-type:inline-size}
.paolinos-content.entry-content {
  width:min(100%,var(--shell));
  max-width:none;margin-inline:auto;padding-inline:var(--gutter);
  font-size:var(--type-body);line-height:var(--line-body);overflow-wrap:break-word;
}
.paolinos-content > * {width:100%;max-width:var(--pa-page-measure);margin-left:0;margin-right:0}
/* Preserve Gutenberg wide/full alignments even inside the centered content flow. */
.paolinos-content > .alignwide {
  width:min(calc(100vw - 2 * var(--gutter)),var(--pa-page-wide));
  max-width:none;position:relative;left:50%;transform:translateX(-50%);margin-inline:0;
}
.paolinos-content > .alignfull {
  width:100vw;max-width:none;position:relative;left:50%;transform:translateX(-50%);margin-inline:0;
}
@supports (width: 100cqw) {
  .paolinos-content > .alignwide {width:min(calc(100cqw - 2 * var(--gutter)),var(--pa-page-wide))}
  .paolinos-content > .alignfull {width:100cqw}
}
.paolinos-content > :first-child {margin-top:0}
.paolinos-content > :last-child {margin-bottom:0}
:is(.paolinos-content,.editor-styles-wrapper) {color:var(--ink);font-family:var(--sans)}
:is(.paolinos-content,.editor-styles-wrapper) p {line-height:var(--line-body)}
:is(.paolinos-content,.editor-styles-wrapper) :is(h2,h3,h4,h5,h6) {font-family:var(--display);font-weight:400;letter-spacing:-.035em;line-height:1.14;color:var(--ink)}
:is(.paolinos-content,.editor-styles-wrapper) h2 {font-size:clamp(34px,3.9vw,55px)}
:is(.paolinos-content,.editor-styles-wrapper) h3 {font-size:clamp(26px,2.7vw,38px)}
:is(.paolinos-content,.editor-styles-wrapper) h4 {font-size:clamp(21px,2vw,26px)}
:is(.paolinos-content,.editor-styles-wrapper) :is(ul,ol) {padding-left:1.4em}
:is(.paolinos-content,.editor-styles-wrapper) li + li {margin-top:.45em}
:is(.paolinos-content,.editor-styles-wrapper) a:not(.wp-block-button__link) {color:var(--burgundy);text-decoration:underline;text-underline-offset:.17em;text-decoration-thickness:1px}
:is(.paolinos-content,.editor-styles-wrapper) a:hover {text-decoration-thickness:2px}
:is(.paolinos-content,.editor-styles-wrapper) strong {font-weight:700}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-image {margin-top:38px;margin-bottom:38px}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-image img {display:block;height:auto;max-width:100%;border-radius:0}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-image figcaption {font-family:var(--sans);font-size:12px;line-height:1.6;color:var(--muted);text-align:left;margin-top:12px}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-image.is-style-paolinos-photo img {filter:sepia(.23) saturate(.78) contrast(1.10)}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-separator {border:0;border-top:1px solid rgba(128,36,43,.28);opacity:1;margin-block:42px}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-separator.is-style-paolinos-line {width:110px;border-color:var(--burgundy);margin-left:0;margin-right:auto}
:is(.paolinos-content,.editor-styles-wrapper) blockquote,
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-quote {border:0;padding:0 0 0 clamp(22px,3vw,46px);border-left:2px solid var(--burgundy);margin-block:42px;font-family:var(--display);font-size:clamp(24px,2.7vw,38px);line-height:1.3}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-quote p {font-family:inherit;line-height:inherit}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-quote cite {display:block;font:normal 13px/1.6 var(--sans);color:var(--burgundy);margin-top:16px}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-quote.is-style-paolinos-quote {border-left:0;padding:0;text-align:center;color:var(--burgundy-deep);font-size:clamp(29px,3.8vw,55px)}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-pullquote {padding:45px 22px;border-block:1px solid rgba(128,36,43,.24)}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-pullquote blockquote {padding:0;border:0}
/* Buttons and links have distinct, square-edged visual language. */
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-buttons {gap:13px 17px;margin-block:27px 39px}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-button__link {display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:49px;padding:13px 23px;border:1px solid var(--burgundy);border-radius:0;background:var(--burgundy);color:#fff7ed;text-decoration:none;font:700 12px/1.25 var(--sans);letter-spacing:.07em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-button__link:hover {background:var(--burgundy-deep);color:#fff7ed}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-button.is-style-outline .wp-block-button__link,
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-button.is-style-paolinos-outline .wp-block-button__link {background:transparent;color:var(--burgundy);border:1px solid var(--burgundy)}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-button.is-style-outline .wp-block-button__link:hover,
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-button.is-style-paolinos-outline .wp-block-button__link:hover {background:#f2ddc7}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-button.is-style-paolinos-solid .wp-block-button__link {background:var(--burgundy)}
/* In Gutenberg this class adds the theme's consistent inline SVG arrow. */
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-button.is-style-paolinos-solid .wp-block-button__link::after,
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-button.is-style-paolinos-outline .wp-block-button__link::after {content:"";display:inline-block;vertical-align:middle;flex:0 0 25px;width:25px;height:15px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 18'%3E%3Cpath d='M1 9h25M19 2l7 7-7 7' stroke='black' fill='none' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 18'%3E%3Cpath d='M1 9h25M19 2l7 7-7 7' stroke='black' fill='none' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat}
/* Gutenberg columns, image/text compositions and intentional background blocks. */
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-columns {gap:clamp(24px,4.8vw,80px);align-items:center;margin-block:52px}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-column {min-width:0}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-group {box-sizing:border-box}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-group.has-background {padding:clamp(32px,5vw,75px)}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-cover {min-height:390px;margin-block:60px}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-cover .wp-block-cover__inner-container {max-width:1200px;margin-inline:auto}
:is(.paolinos-content,.editor-styles-wrapper) :is(.wp-block-table,table) {max-width:100%;overflow-x:auto}
:is(.paolinos-content,.editor-styles-wrapper) table {border-collapse:collapse;width:100%;font-size:15px}
:is(.paolinos-content,.editor-styles-wrapper) th,
:is(.paolinos-content,.editor-styles-wrapper) td {border:0;border-bottom:1px solid rgba(141,42,55,.25);text-align:left;padding:14px 12px 14px 0;vertical-align:top}
:is(.paolinos-content,.editor-styles-wrapper) th {font-family:var(--sans);font-weight:700;color:var(--burgundy-deep)}
/* Form styling also applies to forms from the later core plugin. */
.paolinos-page :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea) {width:100%;max-width:100%;min-height:47px;padding:12px 15px;border:1px solid rgba(92,48,44,.45);border-radius:0;background:#fffaf1;color:var(--ink);font:inherit}
.paolinos-page textarea {min-height:125px}
.paolinos-page label {font-weight:600;font-size:14px}
.paolinos-page :is(input,select,textarea,button):focus-visible {outline:2px solid var(--burgundy);outline-offset:3px}
.paolinos-page :is(button[type="submit"],input[type="submit"]) {border:1px solid var(--burgundy);border-radius:0;background:var(--burgundy);color:#fff7ed;padding:13px 24px;min-height:48px;font:700 12px/1.3 var(--sans);letter-spacing:.06em;cursor:pointer}
/* Named layout pattern classes are usable with ordinary native Groups/Columns. */
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-section-intro {padding-block:clamp(18px,3vw,46px);margin-block:40px}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-section-intro h2 {margin-top:13px;margin-bottom:17px}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-section-intro .paolinos-overline {color:var(--burgundy);font:700 12px/1.4 var(--display);letter-spacing:.13em;text-transform:uppercase}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-editorial {margin-block:clamp(40px,7vw,105px)}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-editorial .wp-block-image {margin:0}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-editorial .wp-block-columns {margin:0}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-editorial h2 {margin-top:10px}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-cta {background:var(--burgundy-deep);color:#fff2df;padding:clamp(36px,5vw,77px);margin-block:clamp(55px,8vw,110px)}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-cta h2,
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-cta p {color:#fff2df}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-cta .wp-block-button__link {background:#ffe8c6;color:var(--burgundy-deep);border-color:#ffe8c6}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-cta .wp-block-button__link:hover {background:white;color:var(--burgundy-deep)}
/* Default archive remains understated. */
.page-content .listing-entry {margin-block:0;padding-block:28px}
.page-content .listing-entry h2 {font-size:clamp(25px,3vw,37px)}
.page-content .listing-entry p {font-size:16px}
.page-content .navigation.pagination {margin-top:44px}
@media (max-width:780px) {
  .page-hero__layout {min-height:310px}
  .page-hero__copy {padding-top:115px;padding-bottom:66px}
  .page-hero__title {font-size:clamp(48px,9vw,72px)}
  .page-hero--image .page-hero__layout {display:flex;flex-direction:column;gap:0;align-items:stretch}
  .page-hero--image .page-hero__copy {padding-top:120px;padding-bottom:45px}
  .page-hero--image .page-hero__title {font-size:clamp(46px,8vw,72px)}
  .page-hero__visual {height:clamp(270px,48vw,415px);min-height:0;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter))}
  .page-hero__ornament {right:-30px;opacity:.13}
  :is(.paolinos-content,.editor-styles-wrapper) .wp-block-columns {gap:30px}
}
@media (max-width:540px) {
  .page-hero__copy {padding-block:114px 62px}
  .page-hero__title {font-size:clamp(44px,12vw,58px)}
  .page-hero__intro {font-size:16px;margin-top:21px}
  .page-hero--image .page-hero__copy {padding-block:116px 43px}
  .page-hero--image .page-hero__title {font-size:clamp(44px,11vw,58px)}
  .page-hero__visual {height:250px}
  .page-content {padding-block:61px 95px}
  :is(.paolinos-content,.editor-styles-wrapper) .wp-block-image {margin-block:25px}
  :is(.paolinos-content,.editor-styles-wrapper) .wp-block-columns {gap:21px;margin-block:33px}
  :is(.paolinos-content,.editor-styles-wrapper) .wp-block-group.has-background {padding:30px 22px}
  :is(.paolinos-content,.editor-styles-wrapper) .paolinos-cta {padding:36px 25px}
  :is(.paolinos-content,.editor-styles-wrapper) .wp-block-buttons {gap:11px}
}
/* Fallback layout in case WordPress disables core block-library layout CSS. */
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-columns {display:flex;flex-wrap:nowrap}
:is(.paolinos-content,.editor-styles-wrapper) .wp-block-column {flex:1 1 0;min-width:0}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-overline {font:700 var(--type-label)/1.45 var(--sans);letter-spacing:var(--tracking-label);color:var(--burgundy);text-transform:uppercase}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-cta .wp-block-button.is-style-paolinos-solid .wp-block-button__link {background:#ffe8c6;color:var(--burgundy-deep);border-color:#ffe8c6}
:is(.paolinos-content,.editor-styles-wrapper) .paolinos-cta .wp-block-button.is-style-paolinos-solid .wp-block-button__link:hover {background:#fff9ef;color:var(--burgundy-deep)}
@media(max-width:780px){:is(.paolinos-content,.editor-styles-wrapper) .wp-block-columns{flex-wrap:wrap}:is(.paolinos-content,.editor-styles-wrapper) .wp-block-column{flex-basis:100%}}
