/*
Theme Name:  NEOVANTAGE
Theme URI:   https://pixelspress.com/free-wordpress-theme/
Author:      PixelsPress, mohsinrafique
Author URI:  https://pixelspress.com
Description: Frontend Gutenberg block overrides — structural and layout rules only.
             Colour rules that depend on Customizer settings are injected at
             runtime via neovantage_custom_styles() in inc/template-functions.php.
Version:     2.0.13
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: neovantage
*/

/*------------------------------------------------------------------------------
>>> TABLE OF CONTENTS:
--------------------------------------------------------------------------------
# Blocks -> Comment Form
# Blocks -> wp-block-post-comments-form
# Blocks -> Alignment Utilities (has-text-align-*)
# Blocks -> Heading
# Blocks -> List
# Blocks -> Quote / Pullquote
# Blocks -> Preformatted / Verse / Code
# Blocks -> Image
# Blocks -> Gallery
# Blocks -> Cover
# Blocks -> Media & Text
# Blocks -> Embed
# Blocks -> Audio / Video / File
# Blocks -> Buttons (parent + outline variant)
# Blocks -> Separator
# Blocks -> Columns / Group
# Blocks -> Archives / Categories / Latest Posts / Page List / RSS
# Blocks -> Tag Cloud
# Blocks -> Calendar
# Blocks -> Social Links
# Blocks -> Latest Comments (refinements)
------------------------------------------------------------------------------*/


/*------------------------------------------------------------------------------
# Blocks -> Comment Form
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
## Blocks -> Comment Form -> Submit Button
   The submit button rendered by both the classic comment_form() helper and the
   wp-block-post-comments-form block carries only class="submit" id="submit" —
   no Bootstrap .btn class is applied by WordPress core.
   These rules give the button the same shape as .btn-primary.
   Background-color, border-color and color are injected dynamically by
   neovantage_custom_styles() so they follow the Customizer theme color.
------------------------------------------------------------------------------*/
#respond #submit,
.comment-form input[type="submit"],
.wp-block-post-comments-form input[type="submit"] {
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
        touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    border-radius: 4px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    text-decoration: none;
    -webkit-transition: color 0.15s ease-in-out,
                        background-color 0.15s ease-in-out,
                        border-color 0.15s ease-in-out;
            transition: color 0.15s ease-in-out,
                        background-color 0.15s ease-in-out,
                        border-color 0.15s ease-in-out;
}

#respond #submit:hover,
#respond #submit:focus,
.comment-form input[type="submit"]:hover,
.comment-form input[type="submit"]:focus,
.wp-block-post-comments-form input[type="submit"]:hover,
.wp-block-post-comments-form input[type="submit"]:focus {
    text-decoration: none;
    outline: 0;
}

#respond #submit:active,
.comment-form input[type="submit"]:active,
.wp-block-post-comments-form input[type="submit"]:active {
    outline: 0;
    background-image: none;
    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
            box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

#respond #submit[disabled],
.comment-form input[type="submit"][disabled],
.wp-block-post-comments-form input[type="submit"][disabled] {
    cursor: not-allowed;
    opacity: 0.65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
            box-shadow: none;
}


/*------------------------------------------------------------------------------
# Blocks -> wp-block-post-comments-form
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
## Blocks -> wp-block-post-comments-form -> Layout
------------------------------------------------------------------------------*/
.wp-block-post-comments-form .comment-form {
    margin-top: 1.5em;
}

.wp-block-post-comments-form .comment-form-comment textarea,
.wp-block-post-comments-form .comment-form-author input,
.wp-block-post-comments-form .comment-form-email input,
.wp-block-post-comments-form .comment-form-url input {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}


/*------------------------------------------------------------------------------
# Blocks -> Alignment Utilities (has-text-align-*)
   Core ships markup that uses these utility classes; classic themes have to
   declare the rules. Scoped to .entry-content so they only apply inside
   post/page content and never leak into widgets or template chrome.
------------------------------------------------------------------------------*/
.entry-content .has-text-align-left   { text-align: left; }
.entry-content .has-text-align-center { text-align: center; }
.entry-content .has-text-align-right  { text-align: right; }


/*------------------------------------------------------------------------------
# Blocks -> Heading
   The global rule at style.css:2990-3006 paints every h1-h6 in the theme accent
   (#26c6da) and sizes them flat (H1=24, H4=H3=18) — that's deliberate for
   widget titles and section labels in the chrome, but inside post body it
   destroys document hierarchy: every heading reads identical and decorative.
   Re-scope readable hierarchy inside .entry-content (and on .wp-block-heading
   anywhere — Gutenberg emits the class on heading blocks regardless of host).
   Specificity 0,1,1 beats the bare h1-h6 rule but doesn't reach into widgets.
------------------------------------------------------------------------------*/
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-content .wp-block-heading {
    color: #222;
    font-family: "Noto Sans", Georgia, "Times New Roman", Times, serif;
    font-weight: 700;
    line-height: 1.3;
    margin-top: 1.6em;
    margin-bottom: 0.6em;
    word-wrap: break-word;
}
.entry-content > h1:first-child,
.entry-content > h2:first-child,
.entry-content > h3:first-child,
.entry-content > h4:first-child,
.entry-content > h5:first-child,
.entry-content > h6:first-child,
.entry-content > .wp-block-heading:first-child {
    margin-top: 0;
}
.entry-content h1,
.entry-content h1.wp-block-heading { font-size: 36px; line-height: 1.2; }
.entry-content h2,
.entry-content h2.wp-block-heading { font-size: 28px; line-height: 1.25; }
.entry-content h3,
.entry-content h3.wp-block-heading { font-size: 22px; }
.entry-content h4,
.entry-content h4.wp-block-heading { font-size: 18px; }
.entry-content h5,
.entry-content h5.wp-block-heading { font-size: 15px; text-transform: uppercase; letter-spacing: 0.04em; }
.entry-content h6,
.entry-content h6.wp-block-heading { font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: #555; }
@media (max-width: 600px) {
    .entry-content h1,
    .entry-content h1.wp-block-heading { font-size: 30px; }
    .entry-content h2,
    .entry-content h2.wp-block-heading { font-size: 24px; }
    .entry-content h3,
    .entry-content h3.wp-block-heading { font-size: 20px; }
}


/*------------------------------------------------------------------------------
# Blocks -> List
   Modern Gutenberg emits <ul class="wp-block-list">; Classic blocks and raw
   HTML emit plain <ul>/<ol>. Cover both inside .entry-content so prose lists
   read at the same rhythm regardless of which editor produced them — the
   global `ul, ol { margin-bottom: 12px }` at style.css:3226 leaves them
   without left-padding, so without these rules the bullets and numbers
   either collapse against the content edge or float using browser defaults.
------------------------------------------------------------------------------*/
.wp-block-list,
.entry-content > ul,
.entry-content > ol,
.entry-content .wp-block-list {
    margin: 0 0 1.5em;
    padding-left: 1.5em;
}
.entry-content > ul {
    list-style: disc outside;
}
.entry-content > ol {
    list-style: decimal outside;
}
.entry-content ul ul,
.entry-content ol ul,
.entry-content > ul ul {
    list-style: circle outside;
}
.entry-content ul ul ul,
.entry-content ol ol ol {
    list-style: square outside;
}
.wp-block-list li > .wp-block-list,
.wp-block-list li + li,
.entry-content > ul li + li,
.entry-content > ol li + li,
.entry-content .wp-block-list li + li {
    margin-top: 0.35em;
}
.wp-block-list li > .wp-block-list,
.entry-content li > ul,
.entry-content li > ol {
    margin-bottom: 0;
    margin-top: 0.35em;
    padding-left: 1.5em;
}


/*------------------------------------------------------------------------------
# Blocks -> Quote / Pullquote
   .wp-block-quote already inherits the BS-style border-left from style.css
   and gets its dynamic border-color from neovantage_custom_styles(). These
   rules only add inner spacing and citation typography.
   Pullquote is fully styled here; its border-color is injected dynamically.
------------------------------------------------------------------------------*/
.wp-block-quote {
    padding: 0.5em 1em;
    margin: 0 0 1.5em;
}
.wp-block-quote cite,
.wp-block-quote .wp-block-quote__citation,
.wp-block-pullquote cite,
.wp-block-pullquote .wp-block-pullquote__citation {
    display: block;
    margin-top: 0.5em;
    font-size: 0.85em;
    font-style: normal;
    color: #777;
}

.wp-block-pullquote {
    padding: 1.75em 1em;
    margin: 1.5em 0;
    border-top: 4px solid #eee;
    border-bottom: 4px solid #eee;
    text-align: center;
}
.wp-block-pullquote p {
    font-size: 1.4em;
    line-height: 1.5;
    margin: 0;
}
/*
 * Inner blockquote reset.
 *
 * style.css:7610-7619 sets every <blockquote> to background:#f9f9f9 +
 * border-left:5px solid #26c6da + padding:24px — that rule predates the
 * Gutenberg pullquote (figure > blockquote). Without this reset the inner
 * blockquote inherits the cyan left border, gray fill, and chunky padding,
 * producing a visible box-within-a-box (visible on the WP test "Block: Quote"
 * post — the solid-color pullquote shows the inner blockquote offset to one
 * side with its own gray fill against the figure's background).
 */
.wp-block-pullquote blockquote,
.wp-block-pullquote blockquote.wp-block-quote {
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    text-align: inherit;
    color: inherit;
}
.wp-block-pullquote.is-style-solid-color {
    border: 0;
    padding: 2em;
}
.wp-block-pullquote.is-style-solid-color blockquote {
    max-width: 100%;
    margin: 0 auto;
}
.wp-block-pullquote.is-style-solid-color p {
    color: inherit;
}
.wp-block-pullquote.is-style-solid-color cite,
.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation {
    color: inherit;
    opacity: 0.85;
}


/*------------------------------------------------------------------------------
# Blocks -> Preformatted / Verse / Code
   Code is already styled in style.css. These rules add a consistent
   monospace baseline + readable padding for the sibling preformatted/verse
   blocks so they don't ship as the browser default.
------------------------------------------------------------------------------*/
.wp-block-preformatted {
    padding: 1em;
    margin: 0 0 1.5em;
    background: #f7f7f7;
    border-radius: 4px;
    font-family: "Overpass Mono", "Courier New", monospace;
    font-size: 0.9em;
    line-height: 1.5;
    overflow: auto;
    white-space: pre;
}
.wp-block-verse {
    padding: 1em 1.25em;
    margin: 0 0 1.5em;
    font-family: inherit;
    font-style: italic;
    white-space: pre-wrap;
}


/*------------------------------------------------------------------------------
# Blocks -> Image
   Constrain max-width, normalise figcaption typography, support is-style-rounded.
   Float-alignment for legacy aligncenter/alignleft/alignright wrappers.
------------------------------------------------------------------------------*/
.wp-block-image {
    margin: 0 0 1.5em;
}
.wp-block-image img {
    max-width: 100%;
    height: auto;
    display: block;
}
.wp-block-image figcaption,
.wp-block-audio figcaption,
.wp-block-video figcaption,
.wp-block-embed figcaption,
.wp-block-gallery figcaption {
    margin-top: 0.6em;
    font-size: 0.85em;
    line-height: 1.5;
    color: #777;
    text-align: center;
}
.wp-block-image.is-style-rounded img,
.wp-block-image .is-style-rounded img {
    border-radius: 9999px;
    /* Keep the circle on its natural footprint — without a max-width here a
       parent figure that stretches to column width forces a small source
       image (e.g. the WP test 150x150 placeholder) into a giant circle. The
       editor still respects width attributes and the resize handle; this
       just stops a placeholder from blowing up to fill the column. */
    max-width: 100%;
    width: auto;
    height: auto;
}
.wp-block-image.is-style-rounded,
.wp-block-image .is-style-rounded {
    text-align: center;
}
.entry-content .wp-block-image.alignleft,
.entry-content .alignleft {
    float: left;
    margin: 0.4em 1.25em 1em 0;
    max-width: 50%;
}
.entry-content .wp-block-image.alignright,
.entry-content .alignright {
    float: right;
    margin: 0.4em 0 1em 1.25em;
    max-width: 50%;
}
.entry-content .wp-block-image.aligncenter,
.entry-content .aligncenter {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
/*
 * Alignwide / alignfull — scope-corrected breakout.
 *
 * style.css:3320-3343 unconditionally breaks alignwide/alignfull out to
 * 100vw / calc(50% - 50vw). That works on one-column layouts but on the
 * standard col-lg-8 + sidebar layout (which single.php hardcodes — every
 * single post has a sidebar, no per-post override) the 100vw image
 * overflows the column and visually crashes into / displaces the sidebar.
 * Symptom: the WP test "Block: Image" post shows the alignfull "I'M
 * ACTUALLY 1200 PX WIDE" black bars eating the right column entirely.
 *
 * Fix: cap alignwide/alignfull at the column width by default, and only
 * restore real viewport-edge breakout when the body has the .no-sidebar
 * class — which neovantage_body_classes() already sets when sidebar-1 has
 * no widgets (inc/template-functions.php:23-25). Specificity 0,2,0 ties
 * with the style.css rules but blocks.css loads after, so this wins by
 * source order; .no-sidebar overrides have 0,3,1 so they always win.
 */
.entry-content .alignwide,
.entry-content > .wp-block[data-align="wide"],
.entry-content .alignfull,
.entry-content > .wp-block[data-align="full"] {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 100%;
}
.entry-content .alignwide img,
.entry-content > .wp-block[data-align="wide"] img,
.entry-content .alignfull img,
.entry-content > .wp-block[data-align="full"] img {
    width: 100%;
    height: auto;
}
/* Real viewport-edge breakout — only on layouts without a sidebar. */
body.no-sidebar .entry-content .alignwide,
body.no-sidebar .entry-content > .wp-block[data-align="wide"] {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
    max-width: 100vw;
}
body.no-sidebar .entry-content .alignfull,
body.no-sidebar .entry-content > .wp-block[data-align="full"] {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
    max-width: 100vw;
}
@media (min-width: 1200px) {
    body.no-sidebar .entry-content .alignwide,
    body.no-sidebar .entry-content > .wp-block[data-align="wide"] {
        margin-left: -285px;
        margin-right: -285px;
        width: calc(100% + 570px);
        max-width: calc(100% + 570px);
    }
}


/*------------------------------------------------------------------------------
# Blocks -> Gallery
   Gutenberg ships gallery v2 (flex-based). Only gap + caption alignment need
   theme-side help; the column flex math is core.
------------------------------------------------------------------------------*/
.wp-block-gallery {
    margin: 0 0 1.5em;
}
.wp-block-gallery.has-nested-images figure.wp-block-image {
    margin: 0;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    margin-top: 0.4em;
}


/*------------------------------------------------------------------------------
# Blocks -> Cover
   Sensible min-height + inner padding when nothing is set in the editor.
   The block becomes a flex column so the nine .is-position-* content-position
   variants (added below) can place .wp-block-cover__inner-container at any
   corner. Inline overrides from the editor keep priority.
------------------------------------------------------------------------------*/
.wp-block-cover,
.wp-block-cover-image {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 1.5em;
    min-height: 320px;
    padding: 1.5em;
    color: #fff;
    overflow: hidden;
    background-position: center center;
    background-size: cover;
}
.wp-block-cover .wp-block-cover__inner-container,
.wp-block-cover-image .wp-block-cover__inner-container {
    width: 100%;
    max-width: 720px;
    z-index: 1;
}
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover h4,
.wp-block-cover h5,
.wp-block-cover h6,
.wp-block-cover p,
.wp-block-cover a {
    color: inherit;
}
/*
 * Content position variants. With flex-direction: column, justify-content
 * controls the vertical (main) axis and align-items controls the horizontal
 * (cross) axis. The nine variants map cleanly to the editor's 3x3 picker.
 */
.wp-block-cover.has-custom-content-position.is-position-top-left,
.wp-block-cover-image.has-custom-content-position.is-position-top-left {
    -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start;
    -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start;
}
.wp-block-cover.has-custom-content-position.is-position-top-center,
.wp-block-cover-image.has-custom-content-position.is-position-top-center {
    -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.wp-block-cover.has-custom-content-position.is-position-top-right,
.wp-block-cover-image.has-custom-content-position.is-position-top-right {
    -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start;
    -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end;
}
.wp-block-cover.has-custom-content-position.is-position-center-left,
.wp-block-cover-image.has-custom-content-position.is-position-center-left {
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start;
}
.wp-block-cover.has-custom-content-position.is-position-center-center,
.wp-block-cover-image.has-custom-content-position.is-position-center-center {
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.wp-block-cover.has-custom-content-position.is-position-center-right,
.wp-block-cover-image.has-custom-content-position.is-position-center-right {
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end;
}
.wp-block-cover.has-custom-content-position.is-position-bottom-left,
.wp-block-cover-image.has-custom-content-position.is-position-bottom-left {
    -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end;
    -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start;
}
.wp-block-cover.has-custom-content-position.is-position-bottom-center,
.wp-block-cover-image.has-custom-content-position.is-position-bottom-center {
    -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.wp-block-cover.has-custom-content-position.is-position-bottom-right,
.wp-block-cover-image.has-custom-content-position.is-position-bottom-right {
    -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end;
    -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end;
}
/*
 * has-parallax / .wp-block-cover__image-background — keep the image layer
 * underneath the dim overlay and the inner content. Core renders these as
 * <img> + <span class="...background-dim"> sibling elements.
 */
.wp-block-cover .wp-block-cover__image-background,
.wp-block-cover-image .wp-block-cover__image-background,
.wp-block-cover video.wp-block-cover__video-background,
.wp-block-cover-image video.wp-block-cover__video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 0;
}
.wp-block-cover .wp-block-cover__background,
.wp-block-cover-image .wp-block-cover__background {
    z-index: 0;
}


/*------------------------------------------------------------------------------
# Blocks -> Media & Text
   Two-column layout with a mobile stack. The is-image-fill variant uses the
   image as the figure's background-image (core hides the <img>) so the figure
   has no intrinsic height — give it a sensible min-height. Content side gets
   internal padding so text is not flush against the image edge. The mobile
   stack break only fires when .is-stacked-on-mobile is set (the editor opts
   in via the toolbar; respect that flag rather than stacking unconditionally).
------------------------------------------------------------------------------*/
.wp-block-media-text {
    display: grid;
    grid-template-columns: 50% 1fr;
    gap: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 1.5em;
}
.wp-block-media-text.has-media-on-the-right {
    grid-template-columns: 1fr 50%;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 2; }
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { order: 1; }
.wp-block-media-text .wp-block-media-text__media {
    margin: 0;
    -ms-grid-row-align: stretch;
    -ms-flex-item-align: stretch;
        align-self: stretch;
}
.wp-block-media-text .wp-block-media-text__media img,
.wp-block-media-text .wp-block-media-text__media video {
    max-width: 100%;
    height: auto;
    display: block;
}
.wp-block-media-text .wp-block-media-text__content {
    padding: 0 8% 0 8%;
}
.wp-block-media-text .wp-block-media-text__content > :last-child {
    margin-bottom: 0;
}
.wp-block-media-text .wp-block-media-text__content > :first-child {
    margin-top: 0;
}
/* is-image-fill: image lives only as background; figure needs a minimum
   intrinsic height or it will collapse to zero and the row disappears. */
.wp-block-media-text.is-image-fill .wp-block-media-text__media {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    min-height: 280px;
}
.wp-block-media-text.is-image-fill .wp-block-media-text__media > img {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    border: 0;
}
@media (max-width: 600px) {
    .wp-block-media-text.is-stacked-on-mobile,
    .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right {
        grid-template-columns: 1fr;
    }
    .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__media,
    .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__content {
        order: initial;
    }
    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        padding: 1em 0 0;
    }
}


/*------------------------------------------------------------------------------
# Blocks -> Embed
   Responsive aspect-ratio container for video / audio embeds. Handles the
   common 16:9 default and the named ratio modifiers core ships.
------------------------------------------------------------------------------*/
.wp-block-embed {
    margin: 0 0 1.5em;
}
.wp-block-embed .wp-block-embed__wrapper {
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
}
.wp-block-embed .wp-block-embed__wrapper > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper { padding-top: 42.85%; }
.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper { padding-top: 50%; }
.wp-block-embed.wp-embed-aspect-4-3  .wp-block-embed__wrapper { padding-top: 75%; }
.wp-block-embed.wp-embed-aspect-1-1  .wp-block-embed__wrapper { padding-top: 100%; }
.wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper { padding-top: 177.77%; }
.wp-block-embed.wp-embed-aspect-1-2  .wp-block-embed__wrapper { padding-top: 200%; }


/*------------------------------------------------------------------------------
# Blocks -> Audio / Video / File
   audio/video figcaption already handled in the Image section. The audio
   block gets a subtle card so the bare browser control reads as a deliberate
   element instead of a stranded widget. The file block becomes a card-style
   row: filename label on the left, download button pinned to the right.
   Button colours are injected dynamically by neovantage_custom_styles().
------------------------------------------------------------------------------*/
.wp-block-audio,
.wp-block-video {
    margin: 0 0 1.5em;
}
.wp-block-audio {
    padding: 14px 16px;
    background-color: #fafafa;
    border: 1px solid #eee;
    border-radius: 4px;
}
.wp-block-audio audio,
.wp-block-video video {
    width: 100%;
    display: block;
}
.wp-block-audio audio {
    border-radius: 999px;
}

/* File block — card row pattern.
   Markup: <div class="wp-block-file">
             <a href="...">Filename</a>
             <a class="wp-block-file__button" download>Download</a>
           </div>
   The link reads as the file label (no underline, weight 600), the button
   pushes to the far right via margin-left:auto. On narrow viewports the
   row wraps cleanly. */
.wp-block-file {
    margin: 0 0 1.5em;
    padding: 14px 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    background-color: #fafafa;
    border: 1px solid #eee;
    border-radius: 4px;
}
/* Filename label — needs specificity that matches .single .entry-content a
   (style.css:8048, 0,3,1) so the cyan link colour doesn't paint over the
   gray "label" treatment. Sibling rule below pairs blocks.css with the
   .wp-block-file__button override emitted by neovantage_custom_styles(). */
.entry-content .wp-block-file > a:not(.wp-block-file__button),
.single .entry-content .wp-block-file > a:not(.wp-block-file__button) {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0;
    color: #333;
    font-weight: 600;
    text-decoration: none;
    word-break: break-word;
    -webkit-transition: color 0.15s ease-in-out;
         -o-transition: color 0.15s ease-in-out;
            transition: color 0.15s ease-in-out;
}
.entry-content .wp-block-file > a:not(.wp-block-file__button):hover,
.entry-content .wp-block-file > a:not(.wp-block-file__button):focus,
.single .entry-content .wp-block-file > a:not(.wp-block-file__button):hover,
.single .entry-content .wp-block-file > a:not(.wp-block-file__button):focus {
    color: #333;
    text-decoration: underline;
}
.wp-block-file__button {
    display: inline-block;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-left: auto;
    padding: 6px 14px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.428571429;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    text-decoration: none;
    -webkit-transition: color 0.15s ease-in-out,
                        background-color 0.15s ease-in-out,
                        border-color 0.15s ease-in-out;
            transition: color 0.15s ease-in-out,
                        background-color 0.15s ease-in-out,
                        border-color 0.15s ease-in-out;
}
.wp-block-file__button:hover,
.wp-block-file__button:focus {
    text-decoration: none;
    outline: 0;
}


/*------------------------------------------------------------------------------
# Blocks -> Buttons (parent) + outline variant
   wp-block-button itself is already BS-shaped in style.css. The parent
   wp-block-buttons needs flex layout; outline variant base lives here, its
   theme-colour border + text colour are injected dynamically.
------------------------------------------------------------------------------*/
.wp-block-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.75em;
    margin: 0 0 1.5em;
}
.wp-block-buttons.is-content-justification-left   { -webkit-box-pack: start;  -ms-flex-pack: start;  justify-content: flex-start; }
.wp-block-buttons.is-content-justification-center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.wp-block-buttons.is-content-justification-right  { -webkit-box-pack: end;    -ms-flex-pack: end;    justify-content: flex-end; }
.wp-block-buttons.is-content-justification-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.wp-block-buttons.is-vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

/*
 * Button shape, size, and radius — front-end / editor parity.
 *
 * WordPress core ships wp-includes/blocks/button/style.css with
 *   :where(.wp-block-button__link) { border-radius: 9999px; padding: ...em; }
 * via :where() (specificity 0,0,0). On the front-end nothing overrides it so
 * every button reads as a pill — even the .is-style-squared variant only flips
 * the radius to 0 without changing padding / typography. Meanwhile the editor
 * (css/style-editor.css:608-620) already applies font-size 18 / weight 500 /
 * 14x30 padding / 5px radius. The two surfaces drift apart visually.
 *
 * Mirror the editor's treatment on the front-end, scoped to .entry-content so
 * widget / sidebar / nav buttons (if any) keep their own existing styling.
 * Specificity is 0,2,2 — beats the bare .wp-block-button rule in style.css
 * (0,1,1) and core's :where (0,0,0). Rules deliberately omit !important so
 * authors can still override per-block via the editor's colour / radius UI.
 */
.entry-content .wp-block-button .wp-block-button__link,
.entry-content .wp-block-button__link {
    line-height: 1.4;
    font-weight: 500;
    font-family: "Noto Sans", Georgia, "Times New Roman", Times, serif;
    font-size: 18px;
    padding: 14px 30px 13px;
    white-space: normal;
}
.entry-content .wp-block-button:not(.is-style-squared) .wp-block-button__link {
    border-radius: 5px;
}
.entry-content .wp-block-button.is-style-squared .wp-block-button__link,
.entry-content .wp-block-button__link.wp-block-button.is-style-squared {
    border-radius: 0;
}
/* Outline variant — matches editor padding compensation so the 2px border
   doesn't make the button visibly larger than its sibling Solid variant. */
.entry-content .wp-block-button.is-style-outline .wp-block-button__link,
.entry-content .wp-block-button .wp-block-button__link.is-style-outline {
    padding-top: 12px;
    padding-bottom: 11px;
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline {
    background: transparent;
    border-width: 2px;
    border-style: solid;
}


/*------------------------------------------------------------------------------
# Blocks -> Separator
   Default thin rule + the two style variants core ships (wide, dots).
------------------------------------------------------------------------------*/
.wp-block-separator {
    border: 0;
    border-top: 1px solid #e5e5e5;
    margin: 2em auto;
    max-width: 100px;
    height: 0;
    background: transparent;
    opacity: 1;
}
.wp-block-separator.is-style-wide {
    max-width: 100%;
}
.wp-block-separator.is-style-dots {
    border: 0;
    text-align: center;
    line-height: 1;
    height: auto;
    max-width: none;
    background: none;
}
.wp-block-separator.is-style-dots::before {
    content: "\00b7 \00b7 \00b7";
    color: #999;
    font-size: 1.5em;
    letter-spacing: 1em;
    padding-left: 1em;
}


/*------------------------------------------------------------------------------
# Blocks -> Columns / Group
   Stack columns on mobile; pad has-background groups so the bg is visible.
------------------------------------------------------------------------------*/
.wp-block-columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5em;
    margin: 0 0 1.5em;
}
.wp-block-columns > .wp-block-column {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0;
            flex: 1 1 0;
    min-width: 0;
}
@media (max-width: 781px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
    }
}

.wp-block-group.has-background {
    padding: 1.25em 1.5em;
}
.wp-block-column.has-background {
    padding: 1em 1.25em;
}

/*
 * Group block — Row / Stack flex variants.
 * Core emits per-block selectors like .wp-container-core-group-is-layout-XXXX
 * but those are content-keyed and ephemeral; theme-side defaults make sure
 * .is-layout-flex groups read consistently even before core's inline CSS lands
 * (and after, since core only sets gap + display, not item alignment / wrap).
 */
.wp-block-group.is-layout-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.wp-block-group.is-layout-flex.is-nowrap {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
}
.wp-block-group.is-layout-flex.is-vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}
.wp-block-group.is-layout-flex.is-content-justification-left   { -webkit-box-pack: start;   -ms-flex-pack: start;   justify-content: flex-start; }
.wp-block-group.is-layout-flex.is-content-justification-center { -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center; }
.wp-block-group.is-layout-flex.is-content-justification-right  { -webkit-box-pack: end;     -ms-flex-pack: end;     justify-content: flex-end; }
.wp-block-group.is-layout-flex.is-content-justification-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.wp-block-group.is-layout-flex > * {
    margin-top: 0;
    margin-bottom: 0;
}


/*------------------------------------------------------------------------------
# Blocks -> Archives / Categories / Latest Posts / Page List / RSS
   Match the theme's existing widget-list rhythm. Hover colour is dynamic.
------------------------------------------------------------------------------*/
.wp-block-archives,
.wp-block-categories,
.wp-block-latest-posts,
.wp-block-page-list,
.wp-block-rss {
    margin: 0 0 1.5em;
    padding: 0;
}
.wp-block-archives:not(.wp-block-archives-dropdown),
.wp-block-categories:not(.wp-block-categories-dropdown),
.wp-block-latest-posts:not(.is-grid),
.wp-block-page-list,
.wp-block-rss {
    list-style: none;
    padding-left: 0;
}
.wp-block-archives li,
.wp-block-categories li,
.wp-block-latest-posts li,
.wp-block-page-list .wp-block-pages-list__item,
.wp-block-rss .wp-block-rss__item {
    padding: 0.4em 0;
    border-bottom: 1px solid #f1f1f1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 0.5em;
}
.wp-block-archives li > a,
.wp-block-categories li > a,
.wp-block-latest-posts li > a,
.wp-block-rss .wp-block-rss__item > a {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0;
}
/* Post-count chips next to archive / category links — WP emits the count as
   a sibling text node or .post-count span. Without separation it reads as
   "January 20227". Wrap visually with parens + dim colour. */
.wp-block-archives li .post-count,
.wp-block-categories li .post-count {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-left: 0;
    font-size: 0.85em;
    color: #999;
    font-variant-numeric: tabular-nums;
}
.wp-block-archives li .post-count::before,
.wp-block-categories li .post-count::before {
    content: "(";
}
.wp-block-archives li .post-count::after,
.wp-block-categories li .post-count::after {
    content: ")";
}
.wp-block-archives li:last-child,
.wp-block-categories li:last-child,
.wp-block-latest-posts li:last-child,
.wp-block-page-list .wp-block-pages-list__item:last-child,
.wp-block-rss .wp-block-rss__item:last-child {
    border-bottom: 0;
}
/* Dropdown variants: align the label + select side-by-side with breathing room
   so they don't read as two unrelated elements stacked. */
.wp-block-archives-dropdown,
.wp-block-categories-dropdown {
    margin: 0 0 1.5em;
}
.wp-block-archives-dropdown label,
.wp-block-categories-dropdown label {
    display: inline-block;
    margin-right: 0.75em;
    font-weight: 600;
}
.wp-block-archives-dropdown select,
.wp-block-categories-dropdown select {
    max-width: 100%;
    padding: 6px 10px;
    border: 1px solid #eee;
    border-radius: 0;
    background-color: #fff;
    font-size: 14px;
    line-height: 1.5;
}
.wp-block-latest-posts.is-grid {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5em;
}
.wp-block-latest-posts__post-excerpt,
.wp-block-latest-posts__post-date,
.wp-block-latest-posts__post-author {
    display: block;
    font-size: 0.85em;
    color: #777;
    margin-top: 0.25em;
}


/*------------------------------------------------------------------------------
# Blocks -> Tag Cloud
   Mirrors the theme's existing widget tag-cloud styling. Hover bg is dynamic.
------------------------------------------------------------------------------*/
.wp-block-tag-cloud {
    margin: 0 0 1.5em;
}
.wp-block-tag-cloud .tag-cloud-link {
    display: inline-block;
    padding: 4px 10px;
    margin: 0 4px 6px 0;
    font-size: 13px !important;
    line-height: 1.4;
    border: 1px solid #e5e5e5;
    border-radius: 3px;
    text-decoration: none;
    -webkit-transition: color 0.15s ease-in-out,
                        background-color 0.15s ease-in-out,
                        border-color 0.15s ease-in-out;
            transition: color 0.15s ease-in-out,
                        background-color 0.15s ease-in-out,
                        border-color 0.15s ease-in-out;
}


/*------------------------------------------------------------------------------
# Blocks -> Calendar
   Make the calendar table read like the rest of the site's tables. The
   #today highlight bg comes from neovantage_custom_styles().
------------------------------------------------------------------------------*/
.wp-block-calendar {
    margin: 0 0 1.5em;
}
.wp-block-calendar table {
    width: 100%;
    margin: 0 0 0.75em;
    border-collapse: collapse;
}
.wp-block-calendar caption {
    caption-side: top;
    padding: 0 0 0.5em;
    font-weight: 700;
    text-align: left;
}
.wp-block-calendar th,
.wp-block-calendar td {
    padding: 6px 8px;
    border: 1px solid #f1f1f1;
    text-align: center;
}
.wp-block-calendar tfoot td {
    border: 0;
    padding-top: 0.5em;
}


/*------------------------------------------------------------------------------
# Blocks -> Social Links
   Default visual is fine; we only add margin and a sensible focus ring.
   The hover background is themeable via neovantage_custom_styles().
------------------------------------------------------------------------------*/
.wp-block-social-links {
    margin: 0 0 1.5em;
}
.wp-block-social-links .wp-social-link a:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}


/*------------------------------------------------------------------------------
# Blocks -> Latest Comments (refinements)
   Markup for the .has-avatars variant:
     <li class="wp-block-latest-comments__comment">
       <img class="wp-block-latest-comments__comment-avatar" />
       <article>
         <span class="wp-block-latest-comments__comment-meta">
           <a class="wp-block-latest-comments__comment-author">…</a> on
           <a class="wp-block-latest-comments__comment-link">…</a>
           <time class="wp-block-latest-comments__comment-date">…</time>
         </span>
         <div class="wp-block-latest-comments__comment-excerpt">…</div>
       </article>
     </li>
   Without a flex layout the avatar inline-blocks above the article content
   and the whole row crams against the left margin (visible on the WP test
   "Block category: Widgets" post — comments stacked, avatar overlapping
   "themedemos on WP 6.1 Theme block category"). Put the row on a flex grid
   so the avatar pins left and the article fills the rest.
------------------------------------------------------------------------------*/
.wp-block-latest-comments {
    margin: 0 0 1.5em;
    padding-left: 0;
    list-style: none;
}
.wp-block-latest-comments .wp-block-latest-comments__comment {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f1f1f1;
}
.wp-block-latest-comments .wp-block-latest-comments__comment:last-child {
    border-bottom: 0;
}
.wp-block-latest-comments .wp-block-latest-comments__comment-avatar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 9999px;
    margin: 0;
}
.wp-block-latest-comments .wp-block-latest-comments__comment > article,
.wp-block-latest-comments .wp-block-latest-comments__comment > .wp-block-latest-comments__comment-meta {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}
.wp-block-latest-comments .wp-block-latest-comments__comment-meta {
    display: block;
    line-height: 1.4;
}
.wp-block-latest-comments .wp-block-latest-comments__comment-date {
    display: block;
    margin-top: 2px;
    font-size: 0.8em;
    color: #999;
}
.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt {
    margin-top: 0.4em;
}
.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p {
    margin: 0;
    font-size: 0.9em;
    line-height: 1.5;
    color: #555;
}
/* No-avatar variant: drop the avatar column reserve so meta sits flush. */
.wp-block-latest-comments:not(.has-avatars) .wp-block-latest-comments__comment {
    display: block;
}


/*------------------------------------------------------------------------------
# Blocks -> Table
   style.css already touches .wp-block-table for margin and the {table,
   wp-block-table} cluster for border-color (#f1f1f1 across thead/td/th). Cells
   were left without padding, headers without background, captions unstyled —
   so the WP test post showed plain rows with no visible structure. Apply the
   same spacing/border rhythm as the .table component (style.css:984+) so
   in-content tables read consistently with the rest of the design system.
------------------------------------------------------------------------------*/
.entry-content table,
.entry-content .wp-block-table {
    width: 100%;
    margin: 0 0 1.5em;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 14px;
    line-height: 1.5;
}
.entry-content table th,
.entry-content table td,
.entry-content .wp-block-table th,
.entry-content .wp-block-table td {
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
    /* WP core's wp-includes/blocks/table/style.css sets `border: 1px solid`
       on cells — that injects currentColor borders on all four sides which
       fight the row-separator-only rhythm. Explicitly zero right/bottom/left
       so only the top rule stays visible. */
    border-top: 1px solid #f1f1f1;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    word-break: break-word;
}
.entry-content table thead th,
.entry-content .wp-block-table thead th {
    vertical-align: bottom;
    background-color: #fafafa;
    border-top: 0;
    border-right: 0;
    border-bottom: 2px solid #e5e5e5;
    border-left: 0;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 13px;
    color: #444;
}
.entry-content table tbody tr:first-child td,
.entry-content table tbody tr:first-child th,
.entry-content .wp-block-table tbody tr:first-child td,
.entry-content .wp-block-table tbody tr:first-child th {
    border-top: 0;
}
.entry-content table tfoot td,
.entry-content table tfoot th,
.entry-content .wp-block-table tfoot td,
.entry-content .wp-block-table tfoot th {
    border-top: 2px solid #e5e5e5;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    background-color: #fafafa;
    font-weight: 700;
    color: #444;
}
.entry-content table caption,
.entry-content .wp-block-table figcaption,
.entry-content .wp-block-table caption {
    caption-side: bottom;
    padding: 8px 0 0;
    font-size: 13px;
    font-style: italic;
    color: #777;
    text-align: center;
}
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td,
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) th {
    background-color: #fafafa;
}
.entry-content .wp-block-table.is-style-stripes th,
.entry-content .wp-block-table.is-style-stripes td {
    border-color: transparent;
}
/* Horizontal scroll on narrow viewports — keeps table layout intact instead
   of mashing cells together. Matches the .table-responsive component pattern. */
@media (max-width: 600px) {
    .entry-content .wp-block-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}


/*------------------------------------------------------------------------------
# Blocks -> Search (form-group treatment)
   style.css already styles the .__label, the .__button color, and the inside
   variant wrapper edge. Here we give both layout variants (button-outside +
   button-inside) a consistent form-control look that matches .form-control
   (style.css:5158) — 38px height, 1px #eee border, smooth focus transition.
   Focus border colour is themed live in neovantage_custom_styles().
------------------------------------------------------------------------------*/
.wp-block-search {
    margin: 0 0 1.5em;
}
.wp-block-search .wp-block-search__inside-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 0;
}
.wp-block-search .wp-block-search__input {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    height: 38px;
    padding: 6px 12px;
    font-size: 16px;
    line-height: 1.5;
    color: #666;
    background-color: #fff;
    border: 1px solid #eee;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: border-color 0.15s ease-in-out;
         -o-transition: border-color 0.15s ease-in-out;
            transition: border-color 0.15s ease-in-out;
}
.wp-block-search .wp-block-search__input:focus {
    outline: 0;
    border-color: #26c6da;
}
.wp-block-search .wp-block-search__input::-webkit-input-placeholder { color: #999; }
.wp-block-search .wp-block-search__input::-moz-placeholder          { color: #999; opacity: 1; }
.wp-block-search .wp-block-search__input:-ms-input-placeholder      { color: #999; }
.wp-block-search .wp-block-search__input::placeholder               { color: #999; }
/* Button-outside variant: small gap between input and button */
.wp-block-search:not(.wp-block-search__button-inside) .wp-block-search__inside-wrapper {
    gap: 8px;
}
/* Button-inside variant: input border lives on the wrapper, not the input */
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
    border: 1px solid #eee;
    -webkit-transition: border-color 0.15s ease-in-out;
         -o-transition: border-color 0.15s ease-in-out;
            transition: border-color 0.15s ease-in-out;
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper:focus-within {
    border-color: #26c6da;
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__input {
    border: 0;
    background-color: transparent;
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__input:focus {
    border-color: transparent;
}


/*------------------------------------------------------------------------------
# Post pagination (page-links / post-page-numbers)
   Rendered by wp_link_pages() inside the_content() when a post contains a
   <!--nextpage--> page break. Markup:
     <div class="page-links">Pages:
       <span class="post-page-numbers current">1</span>
       <a class="post-page-numbers" href="...">2</a>
     </div>
   Mirrors the look of the existing .pagination component (style.css:1257+) so
   in-post page navigation reads consistently with archive pagination.
   Active-state colours are themed live in neovantage_custom_styles().
------------------------------------------------------------------------------*/
.page-links {
    clear: both;
    margin: 1.5em 0;
    font-size: 14px;
    line-height: 1.5;
    color: #666;
}
.page-links > .post-page-numbers,
.page-links > a.post-page-numbers {
    display: inline-block;
    min-width: 32px;
    padding: 4px 10px;
    margin-left: 4px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    color: #666;
    background-color: #fff;
    border: 1px solid #eee;
    border-radius: 3px;
    -webkit-transition: color 0.15s ease-in-out,
                        background-color 0.15s ease-in-out,
                        border-color 0.15s ease-in-out;
         -o-transition: color 0.15s ease-in-out,
                        background-color 0.15s ease-in-out,
                        border-color 0.15s ease-in-out;
            transition: color 0.15s ease-in-out,
                        background-color 0.15s ease-in-out,
                        border-color 0.15s ease-in-out;
}
.page-links > a.post-page-numbers:hover,
.page-links > a.post-page-numbers:focus {
    color: #fff;
    background-color: #26c6da;
    border-color: #26c6da;
}
.page-links > .post-page-numbers.current {
    color: #fff;
    background-color: #26c6da;
    border-color: #26c6da;
    cursor: default;
}
