/* Mollyverse Volume Archive — editorial presentation, v2.2.0 */

.mollyverse-volume{
    --mv-green:#173f33;
    --mv-maroon:#9a2339;
    --mv-rule:rgba(65,58,50,.16);
    --mv-soft:#f6ece8;
    margin:0 0 4rem;
}

.mollyverse-volume__header{
    margin:0 0 2.15rem;
}

/* 2.6.16: shared eyebrow/title typography lives in mollyverse-design.css. */


.mollyverse-volume__ornament,
.mollyverse-chapter-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    color:var(--mv-maroon);
}

.mollyverse-volume__ornament{
    width:20% !important;
    min-width:110px;
    max-width:150px !important;
    margin:1.7rem auto 2rem;
    font-size:17px;
    line-height:1;
}

.mollyverse-volume__ornament::before,
.mollyverse-volume__ornament::after,
.mollyverse-chapter-divider::before,
.mollyverse-chapter-divider::after{
    content:"";
    height:1px;
    flex:1 1 auto;
    background:var(--mv-maroon);
    opacity:.72;
}

.mollyverse-volume__ornament--label{
    width:28%;
    min-width:150px;
    max-width:220px;
    gap:.55rem;
    font-family:Georgia,"Times New Roman",serif;
    font-size:15px;
    font-weight:600;
    letter-spacing:.02em;
}

.mollyverse-volume__ornament--label span{
    white-space:nowrap;
    text-align:right;
}


/* Optional Archive Heading lines introduced in v2.3.1. */
.mollyverse-volume__deck{
    max-width:720px;
    margin:10px auto 0;
    text-align:center;
}

.mollyverse-volume__speaker{
    margin:.65rem auto 0;
    color:rgba(23,63,51,.78);
    font-size:13px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:.06em;
    text-align:center;
}


/* Two functional Volume-level audio ovals. */
.mollyverse-volume__intro-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 86px;
    column-gap:22px;
    align-items:start;
}

.mollyverse-volume__audio-stack{
    width:78px;
    justify-self:end;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
    padding-top:.2rem;
}

.mollyverse-volume-audio{
    position:relative;
    width:78px;
    height:106px;
    margin:0;
    text-align:center;
}

.mollyverse-volume-audio .mollyverse-audio-trigger{
    position:relative;
    z-index:2;
    display:block;
    width:72px;
    height:98px;
    padding:0;
    margin:4px auto;
    border:0;
    background:transparent;
    cursor:pointer;
}

.mollyverse-volume-audio .mollyverse-audio-trigger img{
    width:72px;
    height:98px;
    display:block;
    object-fit:cover;
    border-radius:50%;
}

.mollyverse-volume-audio .mollyverse-audio-player{display:none;}

/* Quiet listening marks around the compact archive oval. */
.mollyverse-volume-audio .mollyverse-audio-trigger::before,
.mollyverse-volume-audio .mollyverse-audio-trigger::after{
    content:"";
    position:absolute;
    left:50%;
    width:22px;
    height:6px;
    transform:translateX(-50%);
}
.mollyverse-volume-audio .mollyverse-audio-trigger::before{
    top:-7px;
    border-top:1px solid #555;
    border-radius:50% 50% 0 0;
}
.mollyverse-volume-audio .mollyverse-audio-trigger::after{
    bottom:-7px;
    border-bottom:1px solid #555;
    border-radius:0 0 50% 50%;
}
.mollyverse-volume-audio::before,
.mollyverse-volume-audio::after{
    content:"";
    position:absolute;
    z-index:1;
    top:39px;
    width:6px;
    height:22px;
}
.mollyverse-volume-audio::before{
    left:-1px;
    border-left:1px solid #555;
    border-radius:50% 0 0 50%;
}
.mollyverse-volume-audio::after{
    right:-1px;
    border-right:1px solid #555;
    border-radius:0 50% 50% 0;
}

.mollyverse-volume-audio .mollyverse-signal{
    position:absolute;
    z-index:0;
    pointer-events:none;
}
.mollyverse-volume-audio .mollyverse-signal::before,
.mollyverse-volume-audio .mollyverse-signal::after{
    content:"";
    position:absolute;
    opacity:0;
}
.mollyverse-volume-audio .mollyverse-signal--top{left:50%;top:4px;}
.mollyverse-volume-audio .mollyverse-signal--bottom{left:50%;bottom:4px;}
.mollyverse-volume-audio .mollyverse-signal--left{left:0;top:53px;}
.mollyverse-volume-audio .mollyverse-signal--right{right:0;top:53px;}
.mollyverse-volume-audio .mollyverse-signal--top::before,
.mollyverse-volume-audio .mollyverse-signal--top::after{
    left:50%;transform:translateX(-50%);border-top:1px solid var(--mv-maroon);border-radius:50% 50% 0 0;
}
.mollyverse-volume-audio .mollyverse-signal--bottom::before,
.mollyverse-volume-audio .mollyverse-signal--bottom::after{
    left:50%;transform:translateX(-50%);border-bottom:1px solid var(--mv-maroon);border-radius:0 0 50% 50%;
}
.mollyverse-volume-audio .mollyverse-signal--left::before,
.mollyverse-volume-audio .mollyverse-signal--left::after{
    top:50%;transform:translateY(-50%);border-left:1px solid var(--mv-maroon);border-radius:50% 0 0 50%;
}
.mollyverse-volume-audio .mollyverse-signal--right::before,
.mollyverse-volume-audio .mollyverse-signal--right::after{
    top:50%;transform:translateY(-50%);border-right:1px solid var(--mv-maroon);border-radius:0 50% 50% 0;
}
.mollyverse-volume-audio .mollyverse-signal--top::before{width:28px;height:7px;top:-8px;}
.mollyverse-volume-audio .mollyverse-signal--top::after{width:34px;height:8px;top:-13px;}
.mollyverse-volume-audio .mollyverse-signal--bottom::before{width:28px;height:7px;bottom:-8px;}
.mollyverse-volume-audio .mollyverse-signal--bottom::after{width:34px;height:8px;bottom:-13px;}
.mollyverse-volume-audio .mollyverse-signal--left::before{width:7px;height:28px;left:-5px;}
.mollyverse-volume-audio .mollyverse-signal--left::after{width:8px;height:34px;left:-10px;}
.mollyverse-volume-audio .mollyverse-signal--right::before{width:7px;height:28px;right:-5px;}
.mollyverse-volume-audio .mollyverse-signal--right::after{width:8px;height:34px;right:-10px;}

.mollyverse-volume-audio.is-playing .mollyverse-signal::before{
    animation:mollyverse-volume-signal-pulse 1.15s ease-in-out infinite;
}
.mollyverse-volume-audio.is-playing .mollyverse-signal::after{
    animation:mollyverse-volume-signal-pulse 1.15s ease-in-out .20s infinite;
}
@keyframes mollyverse-volume-signal-pulse{
    0%,100%{opacity:.18;}
    50%{opacity:.85;}
}

.mollyverse-volume__short-intro{
    margin:0 0 1rem;
    font-size:20px;
    line-height:1.62;
}

.mollyverse-volume__short-intro p{
    margin:0 0 1rem;
}

.mollyverse-volume__short-intro p:first-child{
    font-family:Georgia,"Times New Roman",serif;
    font-size:inherit;
    line-height:inherit;
    color:#2e3832;
}

.mollyverse-accordion{
    margin:0;
}

.mollyverse-accordion summary{
    cursor:pointer;
    list-style:none;
    position:relative;
    padding:.72rem 2rem .76rem 0;
    color:var(--mv-green);
    font-size:15px;
    line-height:1.4;
    font-weight:500;
}

.mollyverse-accordion summary::-webkit-details-marker{display:none;}

.mollyverse-accordion summary::after{
    content:"⌄";
    position:absolute;
    right:.2rem;
    top:.62rem;
    color:var(--mv-maroon);
    font-size:18px;
    line-height:1;
    font-weight:400;
    transform-origin:center;
    transition:transform .16s ease;
}

.mollyverse-accordion[open] summary::after{
    transform:rotate(180deg);
}

.mollyverse-accordion__body{
    padding:.2rem 0 1.25rem;
    font-size:16.5px;
    line-height:1.7;
}

.mollyverse-volume__read-more{
    display:block !important;
    width:max-content;
    max-width:100%;
    appearance:none;
    -webkit-appearance:none;
    border:0;
    background:transparent;
    margin:.2rem 0 0 auto !important;
    padding:0;
    color:var(--mv-maroon);
    font-family:inherit;
    font-size:14px;
    font-weight:400;
    line-height:1.55;
    cursor:pointer;
    white-space:nowrap;
}

.mollyverse-volume__read-more:hover,
.mollyverse-volume__read-more:focus{
    color:#6f1728;
    text-decoration:underline;
}

.mollyverse-volume__long-intro{
    padding:.2rem 0 1.7rem;
    font-size:17px;
    line-height:1.72;
}

.mollyverse-volume__long-intro[hidden]{
    display:none !important;
}

.mollyverse-volume__chapters{
    margin-top:.5rem;
}

.mollyverse-volume .mollyverse-chapter-card{
    border-top:0;
    padding:1.15rem 0 1.35rem;
}

.mollyverse-volume .mollyverse-chapter-card:first-of-type{
    padding-top:.6rem;
}

.mollyverse-volume .mollyverse-chapter-divider{
    width:20% !important;
    min-width:90px;
    max-width:150px !important;
    margin:1.65rem auto .65rem;
    font-size:15px;
    line-height:1;
}

.mollyverse-chapter-divider span{
    display:inline-block;
    padding:0 .15rem;
    transform:translateY(-1px);
}

.mollyverse-chapter-card__number{
    margin:0 0 .28rem;
    color:var(--mv-maroon);
    font-family:Georgia,"Times New Roman",serif;
    font-size:14px;
    line-height:1.3;
    font-weight:600;
}

.mollyverse-volume .mollyverse-chapter-card__title{
    margin:0 0 .65rem;
    color:var(--mv-green);
    font-family:Georgia,"Times New Roman",serif;
    font-size:30px !important;
    line-height:1.12;
    font-weight:500;
    letter-spacing:-.014em;
}

.mollyverse-volume .mollyverse-chapter-card__title a{
    color:inherit;
    text-decoration:none;
}

.mollyverse-volume .mollyverse-chapter-card__title a:hover{
    color:var(--mv-maroon);
}

.mollyverse-volume .mollyverse-chapter-card__description{
    margin:0 0 .6rem;
    font-size:17px;
    line-height:1.7;
}

.mollyverse-volume .mollyverse-chapter-card__description p{
    margin:0 0 .75rem;
}

.mollyverse-volume .mollyverse-chapter-card__description p:last-child{
    margin-bottom:0;
}

.mollyverse-chapter-card__letters{
    margin-top:.5rem;
    border:0;
}

.mollyverse-chapter-card__letters summary{
    display:block;
    width:max-content;
    max-width:100%;
    margin:.15rem 0 0 auto;
    padding:0;
    color:var(--mv-maroon);
    font-family:inherit;
    font-size:14px;
    line-height:1.55;
    font-weight:400;
    text-align:right;
    cursor:pointer;
    white-space:nowrap;
}

.mollyverse-chapter-card__letters summary::after{
    content:none !important;
}

.mollyverse-chapter-card__letters summary:hover,
.mollyverse-chapter-card__letters summary:focus{
    color:#6f1728;
    text-decoration:underline;
}

.mollyverse-chapter-card__letters summary span{
    opacity:1;
}

.mollyverse-letter-list{
    padding-top:.3rem;
}

.mollyverse-letter-list__item{
    padding:1rem 0;
    border-top:1px solid rgba(80,80,80,.12);
}

.mollyverse-letter-list__item:first-child{border-top:0;}

.mollyverse-volume .mollyverse-letter-list__title{
    margin:0 0 .35rem;
    color:var(--mv-maroon);
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px !important;
    line-height:1.3;
    font-weight:500;
}

.mollyverse-letter-list__title a{
    color:inherit;
    text-decoration:none;
}

.mollyverse-letter-list__excerpt{
    font-size:15.5px;
    line-height:1.62;
}

.mollyverse-chapter-card__open{
    width:max-content;
    max-width:100%;
    margin:1rem 0 .2rem auto;
    font-family:inherit;
    font-size:14px;
    line-height:1.55;
    font-weight:400;
    text-align:right;
}

.mollyverse-chapter-card__open a{
    color:var(--mv-maroon);
    text-decoration:none;
}

.mollyverse-chapter-card__open a:hover,
.mollyverse-chapter-card__open a:focus{
    color:#6f1728;
    text-decoration:underline;
}

/* The custom Volume template owns the archive; these remain as harmless
   compatibility guards in case a theme hook introduces an extra loop. */
.mollyverse-volume-archive .blog-entry,
.mollyverse-volume-archive .oceanwp-pagination,
.mollyverse-volume-archive .infinite-scroll-nav,
.mollyverse-volume-archive .load-more-wrap,
body:has(.mollyverse-volume) .blog-entry,
body:has(.mollyverse-volume) .oceanwp-pagination,
body:has(.mollyverse-volume) .infinite-scroll-nav,
body:has(.mollyverse-volume) .load-more-wrap{
    display:none !important;
}

@media (max-width:700px){
    .mollyverse-volume{margin-bottom:3rem;}
    .mollyverse-volume .mollyverse-volume__title{font-size:29px !important;}
    .mollyverse-volume__volume-label{font-size:16px;}
    .mollyverse-volume__header{margin-bottom:1.7rem;}
    .mollyverse-volume__short-intro{font-size:16.5px; line-height:1.68;}
    .mollyverse-volume__short-intro p:first-child{font-size:18px;}
    .mollyverse-volume .mollyverse-chapter-card__title{font-size:25px !important;}
    .mollyverse-volume .mollyverse-chapter-card__description{font-size:16px; line-height:1.65;}
    .mollyverse-chapter-divider{margin:1.2rem auto .35rem;}
    .mollyverse-volume__intro-layout{display:block;}
    .mollyverse-volume__audio-stack{
        width:78px;
        margin:1rem auto 0;
    }
}

/* -------------------------------------------------------------------------
 * Mollyverse Chapter Archive — book-level contents page, v2.2.2
 * ------------------------------------------------------------------------- */
.mollyverse-chapter{
    --mv-green:#173f33;
    --mv-maroon:#9a2339;
    --mv-rule:rgba(65,58,50,.16);
    margin:0 0 4rem;
}

.mollyverse-chapter__header{
    margin:0 0 1.15rem;
}

.mollyverse-chapter__eyebrow{
    margin:0 0 1rem;
    color:var(--mv-maroon);
    font-size:13px;
    line-height:1.3;
    font-weight:900;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.mollyverse-chapter__number{
    margin:0 0 .9rem;
    text-align:center;
    color:var(--mv-maroon);
    font-family:Georgia,"Times New Roman",serif;
    font-size:14px;
    line-height:1.3;
    font-weight:600;
}

.mollyverse-chapter .mollyverse-chapter__title{
    margin:0;
    color:var(--mv-green);
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px !important;
    line-height:1.08;
    font-weight:600;
    letter-spacing:-.02em;
}

.mollyverse-chapter__description{
    margin:0 0 1.2rem;
    font-size:18px;
    line-height:1.68;
}

.mollyverse-chapter__description p{
    margin:0;
}

.mollyverse-chapter__divider{
    width:20%;
    min-width:90px;
    max-width:150px;
    margin:1.45rem auto 1.2rem;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    color:var(--mv-maroon);
    font-size:15px;
    line-height:1;
}

.mollyverse-chapter__divider::before,
.mollyverse-chapter__divider::after{
    content:"";
    height:1px;
    flex:1 1 auto;
    background:var(--mv-maroon);
    opacity:.72;
}

.mollyverse-chapter__letters{
    margin-top:.15rem;
}

.mollyverse-chapter-letter{
    padding:0;
    border-bottom:1px solid var(--mv-rule);
}

.mollyverse-chapter-letter__link{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    column-gap:24px;
    align-items:center;
    padding:1.3rem 0 1.45rem;
    color:inherit;
    text-decoration:none;
}

.mollyverse-chapter-letter__link:hover,
.mollyverse-chapter-letter__link:focus{
    color:inherit;
    text-decoration:none;
}

.mollyverse-chapter-letter:first-child .mollyverse-chapter-letter__link{
    padding-top:.75rem;
}

.mollyverse-chapter-letter__portrait{
    display:block;
    width:84px;
    height:114px;
    margin:0 auto;
    text-decoration:none;
}

.mollyverse-chapter-letter__portrait img{
    display:block;
    width:84px;
    height:114px;
    object-fit:cover;
    border-radius:50%;
}

.mollyverse-chapter .mollyverse-chapter-letter__title{
    display:block;
    margin:0 0 .55rem;
    color:var(--mv-maroon);
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px !important;
    line-height:1.28;
    font-weight:500;
}

.mollyverse-chapter-letter__link:hover .mollyverse-chapter-letter__title,
.mollyverse-chapter-letter__link:focus .mollyverse-chapter-letter__title{
    color:#6f1728;
    text-decoration:underline;
}

.mollyverse-chapter-letter__excerpt{
    display:block;
    color:inherit;
    font-size:16.5px;
    line-height:1.65;
}

.mollyverse-chapter__empty{
    font-size:16.5px;
    line-height:1.65;
}

.mollyverse-chapter__navigation{
    margin:2.2rem 0 0;
    padding-top:1rem;
    border-top:1px solid var(--mv-rule);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
    align-items:start;
}

.mollyverse-chapter__navigation-previous{
    text-align:left;
}

.mollyverse-chapter__navigation-next{
    text-align:right;
}

.mollyverse-chapter__navigation a{
    color:var(--mv-maroon);
    font-family:inherit;
    font-size:14px;
    line-height:1.4;
    font-weight:400;
    text-decoration:none;
}

.mollyverse-chapter__navigation a:hover,
.mollyverse-chapter__navigation a:focus{
    color:#6f1728;
    text-decoration:underline;
}

@media (max-width:700px){
    .mollyverse-chapter{margin-bottom:3rem;}
    .mollyverse-chapter .mollyverse-chapter__title{font-size:29px !important;}
    .mollyverse-chapter__description{font-size:16.5px; line-height:1.68;}
    .mollyverse-chapter-letter__link{
        grid-template-columns:76px minmax(0,1fr);
        column-gap:16px;
        align-items:start;
    }
    .mollyverse-chapter-letter__portrait,
    .mollyverse-chapter-letter__portrait img{
        width:66px;
        height:90px;
    }
    .mollyverse-chapter .mollyverse-chapter-letter__title{font-size:19px !important;}
    .mollyverse-chapter-letter__excerpt{font-size:15.5px;}
    .mollyverse-chapter__navigation{grid-template-columns:1fr; gap:.65rem;}
    .mollyverse-chapter__navigation-previous,
    .mollyverse-chapter__navigation-next{text-align:left;}
}

/* 2.3.2: expanded Volume text returns to normal site body typography. */
.mollyverse-volume__long-intro{
    font-size:inherit;
    line-height:inherit;
}
.mollyverse-volume__long-intro p{
    font-size:inherit;
    line-height:inherit;
}

/* Memoir archive: shared Mollyverse heading, chronological collection body. */
.mollyverse-collection__description{
    margin:1.35rem 0 1.5rem;
    font-size:inherit;
    line-height:inherit;
}
.mollyverse-collection__description p:last-child{margin-bottom:0;}
.mollyverse-collection__section{padding:1rem 0 1.5rem;}
.mollyverse-collection__section + .mollyverse-collection__section{border-top:1px solid rgba(132,39,55,.22);}
.mollyverse-collection__entries{margin-top:.5rem;}


/* v2.3.5 — independent alignment for the five Archive Heading lines across archive formats. */
.mollyverse-volume .mv-align-left,
.mollyverse-collection .mv-align-left{ text-align:left !important; }
.mollyverse-volume .mv-align-center,
.mollyverse-collection .mv-align-center{ text-align:center !important; }
.mollyverse-volume .mv-align-right,
.mollyverse-collection .mv-align-right{ text-align:right !important; }
.mollyverse-volume__ornament--label.mv-align-left{ margin-left:0; margin-right:auto; }
.mollyverse-volume__ornament--label.mv-align-center{ margin-left:auto; margin-right:auto; }
.mollyverse-volume__ornament--label.mv-align-right{ margin-left:auto; margin-right:0; }
.mollyverse-volume__deck.mv-align-left,
.mollyverse-volume__speaker.mv-align-left{ margin-left:0; margin-right:auto; }
.mollyverse-volume__deck.mv-align-center,
.mollyverse-volume__speaker.mv-align-center{ margin-left:auto; margin-right:auto; }
.mollyverse-volume__deck.mv-align-right,
.mollyverse-volume__speaker.mv-align-right{ margin-left:auto; margin-right:0; }
.mollyverse-volume__intro-divider{ margin-top:1.35rem; margin-bottom:1.15rem; }

/* v2.3.5 — expanded Memoir description returns to normal site body typography. */
.mollyverse-collection__long-intro{font-size:inherit;line-height:inherit;}

/* Journal introduction: one speaking oval floated into the introduction. */
.mollyverse-journal__intro-oval{width:78px;margin-top:.25rem;position:relative;z-index:2;}
.mollyverse-journal__intro-oval--right{float:right;margin-left:22px;margin-bottom:12px;}
.mollyverse-journal__intro-oval--left{float:left;margin-right:22px;margin-bottom:12px;}
.mollyverse-journal .mollyverse-chapter-divider{clear:both;}
@media (max-width:600px){
  .mollyverse-journal__intro-oval--right,.mollyverse-journal__intro-oval--left{float:right;margin-left:18px;margin-right:0;}
}


/* v2.3.12 — Journal archive entry cards: compact horizontal featured image + linked title treatment. */
.mollyverse-journal .mollyverse-journal-entry{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    column-gap:18px;
    align-items:start;
}
.mollyverse-journal .mollyverse-journal-entry__image{
    display:block;
    width:150px;
    margin-top:.15rem;
}
.mollyverse-journal .mollyverse-journal-entry__image img{
    display:block;
    width:150px;
    height:auto;
    max-height:103px;
    object-fit:contain;
    object-position:left top;
}
.mollyverse-journal .mollyverse-letter-list__title a,
.mollyverse-journal .mollyverse-letter-list__title a:visited{
    color:#8E1B2D !important;
    text-decoration:none !important;
}
.mollyverse-journal .mollyverse-letter-list__title a:hover,
.mollyverse-journal .mollyverse-letter-list__title a:focus{
    color:#294C3A !important;
    text-decoration:underline !important;
}
@media (max-width:600px){
    .mollyverse-journal .mollyverse-journal-entry{
        grid-template-columns:110px minmax(0,1fr);
        column-gap:14px;
    }
    .mollyverse-journal .mollyverse-journal-entry__image,
    .mollyverse-journal .mollyverse-journal-entry__image img{width:110px;}
    .mollyverse-journal .mollyverse-journal-entry__image img{max-height:78px;}
}

/* v2.3.13 — Volume heading containment and independent introduction voices. */
.mollyverse-volume > .mollyverse-volume__header .mollyverse-volume__ornament--label{
    width:100% !important;
    max-width:100% !important;
    min-width:0;
    box-sizing:border-box;
}
.mollyverse-volume > .mollyverse-volume__header .mollyverse-volume__ornament--label span{
    white-space:normal;
    max-width:100%;
    overflow-wrap:anywhere;
    text-align:inherit;
}
.mollyverse-volume__intro-layout{
    display:block;
}
.mollyverse-volume__intro-layout::after{
    content:"";
    display:block;
    clear:both;
}
.mollyverse-volume__audio-float{
    width:78px;
    position:relative;
    z-index:1;
    margin-bottom:12px;
}
.mollyverse-volume__audio-float--right{
    float:right;
    margin-left:22px;
}
.mollyverse-volume__audio-float--left{
    float:left;
    margin-right:22px;
}
@media (max-width:700px){
    .mollyverse-volume__audio-float--right,
    .mollyverse-volume__audio-float--left{
        float:none;
        display:inline-block;
        vertical-align:top;
        margin:0 9px 14px;
    }
    .mollyverse-volume__intro-layout{text-align:center;}
    .mollyverse-volume__short-intro{text-align:left;}
}

/* 2.6.12 — Shared heading refinement.
   OceanWP alone owns the site's column geometry (currently 17/66/17).
   Archive titles use the established compact 31px size, with the same
   eyebrow-to-title breathing room as Mollyverse enhanced pages. */
/* Keep the Volume label centered and give it only short rules on each side,
   echoing the small apple/ornament divider rather than spanning the column. */
.mollyverse-volume > .mollyverse-volume__header .mollyverse-volume__ornament--label{
    width:20% !important;
    min-width:150px;
    max-width:180px !important;
    margin-left:auto;
    margin-right:auto;
}
.mollyverse-volume > .mollyverse-volume__header .mollyverse-volume__ornament--label span{
    white-space:nowrap;
    overflow-wrap:normal;
    text-align:center;
}

/* 2.6.13 — Archive Builder oval sizing. The source portraits are 128 × 174.
   Full respects that native display size; Compact keeps the same proportion. */
.mollyverse-volume-audio--full{width:138px;height:184px;}
.mollyverse-volume-audio--full .mollyverse-audio-trigger{width:128px;height:174px;margin:5px auto;}
.mollyverse-volume-audio--full .mollyverse-audio-trigger img{width:128px;height:174px;}
.mollyverse-volume-audio--full .mollyverse-signal--left,
.mollyverse-volume-audio--full .mollyverse-signal--right{top:92px;}
.mollyverse-volume__audio-float--full{width:138px;}

.mollyverse-volume-audio--compact{width:115px;height:153px;}
.mollyverse-volume-audio--compact .mollyverse-audio-trigger{width:105px;height:143px;margin:5px auto;}
.mollyverse-volume-audio--compact .mollyverse-audio-trigger img{width:105px;height:143px;}
.mollyverse-volume-audio--compact .mollyverse-signal--left,
.mollyverse-volume-audio--compact .mollyverse-signal--right{top:76px;}
.mollyverse-volume__audio-float--compact{width:115px;}


/* 2.6.14 — Keep archive portraits inside the reading column. */
.mollyverse-volume__audio-float--left{margin-left:30px;}
.mollyverse-volume__audio-float--right{margin-right:30px;}
@media (max-width:900px){
    .mollyverse-volume__audio-float--left{margin-left:0;}
    .mollyverse-volume__audio-float--right{margin-right:0;}
}

/* 2.6.18 — Keep archive intro ovals inside the reading column.
   The Journal wrapper now matches the actual Compact oval footprint (115px)
   and adds an inward gutter so signal marks do not intrude into the sidebar. */
.mollyverse-journal__intro-oval{width:115px;box-sizing:border-box;}
.mollyverse-journal__intro-oval--right{margin-right:24px;}
.mollyverse-journal__intro-oval--left{margin-left:24px;}
@media (max-width:700px){
    .mollyverse-journal__intro-oval--right{margin-right:0;}
    .mollyverse-journal__intro-oval--left{margin-left:0;}
}

/* Long Archive Builder section labels are descriptive lines, not compact
   Volume labels. Let them use the reading width and wrap safely; short labels
   such as “Volume 1” retain the centered short-rule treatment. */
.mollyverse-volume > .mollyverse-volume__header .mollyverse-volume__ornament--label.mollyverse-volume__ornament--long,
.mollyverse-collection > .mollyverse-collection__header .mollyverse-volume__ornament--label.mollyverse-volume__ornament--long{
    width:100% !important;
    max-width:100% !important;
    min-width:0;
    box-sizing:border-box;
    margin-left:auto;
    margin-right:auto;
}
.mollyverse-volume > .mollyverse-volume__header .mollyverse-volume__ornament--label.mollyverse-volume__ornament--long span,
.mollyverse-collection > .mollyverse-collection__header .mollyverse-volume__ornament--label.mollyverse-volume__ornament--long span{
    white-space:normal;
    overflow-wrap:break-word;
    text-align:inherit;
}


/* Long descriptive section labels need readable leading when they wrap. */
.mollyverse-volume > .mollyverse-volume__header .mollyverse-volume__ornament--label.mollyverse-volume__ornament--long,
.mollyverse-collection > .mollyverse-collection__header .mollyverse-volume__ornament--label.mollyverse-volume__ornament--long{
    line-height:1.35;
}
.mollyverse-volume > .mollyverse-volume__header .mollyverse-volume__ornament--label.mollyverse-volume__ornament--long span,
.mollyverse-collection > .mollyverse-collection__header .mollyverse-volume__ornament--label.mollyverse-volume__ornament--long span{
    line-height:inherit;
}


/* =========================================================
   2.6.29 — STANDARD CATEGORY INTRODUCTION
   Match the stable Mollyverse page-intro grammar:
   left portrait | introduction text | right portrait.
   The historical left/right Archive Builder controls now choose
   a portrait slot; they no longer cause text wrapping/floating.
   ========================================================= */
.mollyverse-volume__intro-layout{
    display:grid !important;
    grid-template-columns:138px minmax(0,1fr) 138px !important;
    column-gap:28px;
    align-items:start;
    width:100%;
    box-sizing:border-box;
    text-align:left;
}

.mollyverse-volume__intro-layout::after{
    content:none !important;
    display:none !important;
    clear:none !important;
}

.mollyverse-volume__audio-float{
    float:none !important;
    margin:0 !important;
    position:relative;
    z-index:1;
    align-self:start;
}

.mollyverse-volume__audio-float--left{
    grid-column:1;
    grid-row:1;
    justify-self:start;
}

.mollyverse-volume__audio-float--right{
    grid-column:3;
    grid-row:1;
    justify-self:end;
}

.mollyverse-volume__short-intro{
    grid-column:2;
    grid-row:1;
    min-width:0;
    margin:0;
    text-align:left;
}

/* Preserve the selected portrait size without letting it alter column geometry. */
.mollyverse-volume__audio-float--full,
.mollyverse-volume__audio-float--compact{
    max-width:138px;
}

/* On smaller screens, keep the same visual grammar until there is no longer
   enough room for three useful columns; then stack cleanly instead of floating. */
@media (max-width:760px){
    .mollyverse-volume__intro-layout{
        grid-template-columns:1fr 1fr !important;
        column-gap:22px;
        row-gap:18px;
        text-align:center;
    }
    .mollyverse-volume__audio-float--left{
        grid-column:1;
        grid-row:1;
        justify-self:center;
    }
    .mollyverse-volume__audio-float--right{
        grid-column:2;
        grid-row:1;
        justify-self:center;
    }
    .mollyverse-volume__short-intro{
        grid-column:1 / -1;
        grid-row:2;
        text-align:left;
    }
}

/* 2.6.57 — Archive oval idle listening marks.
   Keep the four quiet curves centered and evenly spaced around portraits of
   either archive size. Hide them while audio is playing; the animated signal
   remains the only speaking-state treatment. */
.mollyverse-volume-audio::before,
.mollyverse-volume-audio::after{
    top:50% !important;
    transform:translateY(-50%);
}
.mollyverse-volume-audio .mollyverse-audio-trigger::before{
    top:-7px;
}
.mollyverse-volume-audio .mollyverse-audio-trigger::after{
    bottom:-7px;
}
.mollyverse-volume-audio.is-playing::before,
.mollyverse-volume-audio.is-playing::after,
.mollyverse-volume-audio.is-playing .mollyverse-audio-trigger::before,
.mollyverse-volume-audio.is-playing .mollyverse-audio-trigger::after{
    opacity:0;
}

/* 2.7.5 — Restore the small speaker portrait beside letters expanded inside a Volume. */
.mollyverse-letter-list__item--with-portrait{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    column-gap:14px;
    align-items:start;
}
.mollyverse-letter-list__portrait{
    display:block;
    width:44px;
    height:60px;
    margin-top:.15rem;
}
.mollyverse-letter-list__portrait img{
    display:block;
    width:44px;
    height:60px;
    object-fit:cover;
    border-radius:50%;
}
.mollyverse-letter-list__content{min-width:0;}
@media (max-width:480px){
    .mollyverse-letter-list__item--with-portrait{grid-template-columns:44px minmax(0,1fr);column-gap:10px;}
    .mollyverse-letter-list__portrait,.mollyverse-letter-list__portrait img{width:38px;height:52px;}
}


/* v2.8.3 — Archive portraits use PHP-rendered ovals rather than a saved
   Audio Oval block, so the block stylesheet's flip rule is not guaranteed
   to load on category archives. Keep the archive presentation self-contained. */
.mollyverse-volume .mollyverse-audio-item--portrait-flipped .mollyverse-audio-trigger img,
.mollyverse-volume-audio.mollyverse-audio-item--portrait-flipped .mollyverse-audio-trigger img {
    transform: scaleX(-1);
}
