/*
Theme Name: Polekatz Child
Theme URI:
Author: Pilot Digital
Author URI: https://pilotdigital.com
Description: Polekatz child theme merged from RCM-MA-Child and Polekatz design system.
Template: pilot-mercury-atlas
Version: 1.0.0
Text Domain: polekatz-child
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/* ========================================================================
   TOKENS — CSS custom properties
   ------------------------------------------------------------------------
   Neutrals: semantic (--white, --black) + numeric scale (--neutral-*).
   Scale slots 500 / 600 / 700 intentionally vacant — reserved for mid-tones
   discovered during the base-color sweep (see FIGMA.md pre-launch notes).
   ======================================================================== */

:root {
    --white:        #FFFFFF;
    --black:        #000000;
    --polekatz-red: #B61010;
    --gold:         #EDA70E;
    --light-gold:   #FCD47B;
    --dark-red:     #680A0A;
    --shadow:       #0E0E12;
    --mid-gray:     #333333;

    --neutral-100:  #FCFCFA;
    --neutral-200:  #F9F8F5;
    --neutral-300:  #F0EFEA;
    --neutral-400:  #E6E5DF;
    --neutral-800:  #404042;
    --neutral-900:  #2E2E2F;

    /* Links — on-light + on-dark color pairs (not palette entries, CSS-var-only) */
    --link-light:         #B61010; /* Polekatz Red */
    --link-light-hover:   #EDA70E; /* Gold */
    --link-dark:          #FCD47B; /* Light Gold */
    --link-dark-hover:    #FFFFFF; /* White */
    --tag-blue:           #FCD47B;
    --hsf-global__color:  #FFFFFF;
    --separator:          #D9D9D9;
}

/* ========================================================================
   EDITOR STYLES
   ======================================================================== */
/* Ensure the editor canvas reflects the front-end background and text color */
.editor-styles-wrapper {
    background-color: var(--black) !important;
    color: var(--white) !important;
}

/* Fix for some blocks that might have inherited light colors from parent theme in editor */
.editor-styles-wrapper p,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6,
.editor-styles-wrapper li,
.editor-styles-wrapper blockquote {
    color: var(--white) !important;
}

body{
    background-color: var(--black);
    color: var(--white);
}

body.wp-admin.post-type-pk_mega_menu{
    background: var(--black);
}

body.single-post {
    background: var(--black);
}

body.archive.category {
    background: var(--black);
}

footer.site-footer.wp-block-template-part {
    margin-top: 0;
}


/* ========================================================================
   INLINE EMPHASIS
   ======================================================================== */

strong,
em {
    font-weight: 700;
}


/* ========================================================================
   LINKS — default (on-light) + on-dark overrides via :is() mega-selector
   ======================================================================== */

a,
.wp-element-link {
    color: var(--light-gold);
    font-weight: 700;
}

a:hover,
a:active,
.wp-element-link:hover,
.wp-element-link:active {
    color: var(--gold);
}

/* ========================================================================
   BLOCKQUOTES
   ======================================================================== */
.wp-block-quote {
    position: relative;
    border-left: none;
    padding-left: 60px;
    margin-bottom: 40px;
}

.wp-block-quote::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 43px;
    height: 31px;
    background-image: url('data:image/svg+xml,<svg width="43" height="31" viewBox="0 0 43 31" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 31V13.7478L9.11709 0H18.2342L12.3829 13.7478H19.0506V31H0ZM23.9494 31V13.7478L33.0665 0H42.1835L36.3323 13.7478H43V31H23.9494Z" fill="%23B61010"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
}

.wp-block-quote p {
    font-size: 20px;
    line-height: 1.6;
    color: var(--white);
}

/* ========================================================================
   LISTS
   ======================================================================== */
ul, ol, 
.wp-block-list {
    padding-left: 20px;
    margin-bottom: 30px;
}

ul, .wp-block-list:not(ol) {
    list-style: none;
}

ul li, .wp-block-list:not(ol) li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}

ul li::before, .wp-block-list:not(ol) li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--polekatz-red);
    font-weight: bold;
}

ol, .wp-block-list ol {
    list-style: none;
    counter-reset: polekatz-counter;
}

ol li, .wp-block-list ol li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
    counter-increment: polekatz-counter;
}

ol li::before, .wp-block-list ol li::before {
    content: counter(polekatz-counter) ".";
    position: absolute;
    left: 0;
    color: var(--polekatz-red);
    font-weight: bold;
}

/* ========================================================================
   CAPTIONS
   ======================================================================== */
figcaption,
.wp-block-caption,
.wp-element-caption {
    font-size: 14px;
    color: var(--white);
    opacity: 0.8;
    margin-top: 10px;
}



/* Dark-context trigger: body class, custom section classes, palette bg classes, or Cover block */
:is(
	body.has-dark-background,
	.pk-section-dark,
	.has-dark-green-background-color,
	.has-gold-background-color,
	.has-black-background-color,
	.wp-block-cover
) :is(a, .wp-element-link) {
    color: var(--white);
}

:is(
	body.has-dark-background,
	.pk-section-dark,
	.has-dark-green-background-color,
	.has-gold-background-color,
	.has-black-background-color,
	.wp-block-cover
) :is(a:hover, a:active, .wp-element-link:hover, .wp-element-link:active) {
    color: var(--link-dark-hover);
}


/* ========================================================================
   HOMEPAGE SLIDER BLOCK
   ======================================================================== */

.pk-homepage-slider-block {
    padding: 100px 0;
    background: #000;
    overflow: hidden;
}

.pk-homepage-slider {
    padding-bottom: 120px;
    overflow: visible !important;
}

.pk-homepage-slider .slick-list {
    overflow: visible;
}

.pk-homepage-slider .slick-slide {
    transition: transform 0.5s ease, opacity 0.5s ease;
    opacity: 0.5;
    transform: scale(0.85);
    outline: none;
    padding: 0 10px; /* Gap between slides */
}

.pk-homepage-slider .slick-center {
    opacity: 1;
    transform: scale(1.1); /* Slightly larger than normal to stand out */
    z-index: 10;
}

/* Red glow effect for active slide as seen in screenshot */
.pk-homepage-slider .slick-center .slider-image-wrapper {
    box-shadow: 0 0 50px rgba(255, 0, 0, 0.8);
    position: relative;
    z-index: 11;
}

.pk-homepage-slider .slider-image-wrapper img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1; /* Make them square as in the screenshot */
    object-fit: cover;
    border-radius: 2px;
}

.pk-homepage-slider .slick-dots {
    bottom: -60px;
    position: relative;
    display: flex !important;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

.pk-homepage-slider .slick-dots li:before,
.pk-testimonial-slider .slick-dots li:before {
    display: none;
}

.pk-homepage-slider .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 6px;
    padding: 0;
}

.pk-homepage-slider .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    background: #fff;
    opacity: 0.3;
    border-radius: 50%;
    border: none;
    transition: opacity 0.3s ease;
    font-size: 0;
    line-height: 0;
    color: transparent;
    cursor: pointer;
    display: block;
}

.pk-homepage-slider .slick-dots li.slick-active button {
    opacity: 1;
    background: #fff;
}

/* Cleanup Swiper leftover classes if any */
.pk-homepage-slider .swiper-button-prev,
.pk-homepage-slider .swiper-button-next {
    display: none;
}


/* ========================================================================
   TESTIMONIAL SLIDER BLOCK
   ======================================================================== */

.pk-testimonial-slider-block {
    background: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.05);
    padding: 60px 0;

    margin: 0 auto;
    position: relative;
}

.pk-testimonial-slider-block {
}

.pk-testimonial-slider {
    padding-bottom: 40px;
}

.testimonial-item {
    text-align: center;
}

.testimonial-quote-icon {
    margin-bottom: 30px;
}

.testimonial-quote-icon svg {
    display: block;
    margin: 0 auto;
}

.testimonial-content {
    font-size: 20px;
    line-height: 1.6;
    color: #414141;
    font-style: italic;
    margin-bottom: 30px;
    padding: 0 65px;
}

.testimonial-author {
    margin-top: 20px;
}

.testimonial-name {
    font-weight: 700;
    color: var(--polekatz-red);
    font-size: 18px;
    margin-bottom: 5px;
}

.testimonial-company {
    color: var(--polekatz-red);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Slick Dots */
.pk-testimonial-slider .slick-dots {
    bottom: -30px;
}

.pk-testimonial-slider .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 5px;
}


.pk-testimonial-slider .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--polekatz-red);
    opacity: 1;
    border-radius: 50%;
}

.pk-testimonial-slider .slick-dots li.slick-active button {
    background: var(--polekatz-red);
}

/* Swiper Navigation (Reused for Slick) */
.pk-testimonial-slider-block .swiper-button-prev,
.pk-testimonial-slider-block .swiper-button-next {
    color: var(--polekatz-red);
    background: #FFFFFF;
    width: 44px;
    height: 44px;
    border: 1px solid #E0E0FE;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.pk-testimonial-slider-block .swiper-button-prev:after,
.pk-testimonial-slider-block .swiper-button-next:after {
    font-size: 18px;
}


@media (max-width: 767px) {
    .pk-testimonial-slider-block {
        padding: 40px 20px;
    }
    .pk-testimonial-slider-block .swiper-button-prev,
    .pk-testimonial-slider-block .swiper-button-next {
        display: none;
    }
}

/* ========================================================================
   SPLIT BACKGROUND LAYOUT (Pattern Support)
   ======================================================================== */

.pk-split-layout {
    position: relative;
    padding: 100px 0;
}

.pk-split-layout::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #F0F0F0; /* Default background */
    z-index: -2;
}

.pk-split-layout-blue-box {
    background-color: var(--black);
    border-radius: 12px;
    padding: 60px;
    color: #FFFFFF;
    position: relative;
    overflow: hidden;
    padding-right: 100px;
}

/* Decorative swoosh background for the blue box */
.pk-split-layout-blue-box::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: url('assets/icons/swoosh.svg'); /* Need to ensure this exists or use a generic one */
    background-repeat: no-repeat;
    background-position: right top;
    opacity: 0.1;
    z-index: 0;
    pointer-events: none;
}

.pk-split-layout-blue-box * {
    position: relative;
    z-index: 1;
}

.pk-split-layout-blue-box h2 {
    color: #FFFFFF;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.3);
    padding-bottom: 15px;
}

.pk-split-layout .wp-block-columns {
    align-items: center;
}

/* Overlap effect */
@media (min-width: 782px) {
    .pk-split-layout .pk-testimonial-slider-block {

        z-index: 10;
    }
}

/* Image Heading Slider */
.pk-image-heading-slider-block {
    position: relative;
    padding: 40px 0;
}

.pk-image-heading-slider .slide-item {
    text-align: center;
}

.pk-image-heading-slider .slide-heading {
    margin-bottom: 20px;
    font-size: 24px;
    color: var(--gold);
}

.pk-image-heading-slider .slide-image-wrapper {
    cursor: pointer;
    overflow: hidden;
    display: inline-block;
}

.pk-image-heading-slider .slide-image {
    max-width: 100%;
    height: auto;
    transition: transform 0.3s ease;
}

.pk-image-heading-slider .slide-image:hover {
    transform: scale(1.02);
}

/* Modal Styles */
.pk-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    padding-top: 100px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.9);
}

.pk-modal-content {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 1200px;
}

#pk-modal-caption {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
    text-align: center;
    color: #ccc;
    padding: 10px 0;
    height: 150px;
}

.pk-modal-content, #pk-modal-caption {
    animation-name: zoom;
    animation-duration: 0.6s;
}

@keyframes zoom {
    from {transform:scale(0)}
    to {transform:scale(1)}
}

.pk-modal-close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
}

.pk-modal-close:hover,
.pk-modal-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

@media only screen and (max-width: 700px){
    .pk-modal-content {
        width: 100%;
    }
}


/* ========================================================================
   BUTTONS
   ========================================================================
   Default button defined in theme.json `styles.elements.button`. The rules
   below handle: form-submit parity, on-dark default, block-style variants
   (secondary / outline / arrow / icon-email / icon-phone), and arrow block
   styling for bare links.
   ------------------------------------------------------------------------
   Future migration: these styles are candidates for extraction into the
   parent theme (Pilot Mercury Atlas) once stable.
   ======================================================================== */

/* ---- Form submit parity — same look as core/button ---- */
input[type="submit"],
button[type="submit"] {
    display: inline-block;
    background-color: var(--polekatz-red);
    color: var(--white);
    font-family: inter, sans-serif;
    font-weight: 700;
    font-size: 16px;
    padding: 14px 48px;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
    box-shadow: 0 0 20px var(--polekatz-red);
}


/* ---- Default button (on-dark) ---- */
:is(
	body.has-dark-background,
	.pk-section-dark,
	.has-dark-green-background-color,
	.has-gold-background-color,
	.has-black-background-color,
	.wp-block-cover
) .wp-block-button .wp-block-button__link,
:is(
	body.has-dark-background,
	.pk-section-dark,
	.has-dark-green-background-color,
	.has-gold-background-color,
	.has-black-background-color,
	.wp-block-cover
) input[type="submit"],
:is(
	body.has-dark-background,
	.pk-section-dark,
	.has-dark-green-background-color,
	.has-gold-background-color,
	.has-black-background-color,
	.wp-block-cover
) button[type="submit"] {


}

:is(
	body.has-dark-background,
	.pk-section-dark,
	.has-dark-green-background-color,
	.has-gold-background-color,
	.has-black-background-color,
	.wp-block-cover
) .wp-block-button .wp-block-button__link:hover,
:is(
	body.has-dark-background,
	.pk-section-dark,
	.has-dark-green-background-color,
	.has-gold-background-color,
	.has-black-background-color,
	.wp-block-cover
) input[type="submit"]:hover,
:is(
	body.has-dark-background,
	.pk-section-dark,
	.has-dark-green-background-color,
	.has-gold-background-color,
	.has-black-background-color,
	.wp-block-cover
) button[type="submit"]:hover {
    box-shadow: 0 0 20px var(--gold);
}


.wp-block-button .wp-block-button__link {
    background-color: var(--polekatz-red);
    color: var(--white);
    transition: all 0.3s ease;
}

.wp-block-button .wp-block-button__link:hover {
    box-shadow: 0 0 20px var(--gold);
    color: var(--white);
}

/* Secondary Hover Override */
.wp-block-button.is-style-secondary .wp-block-button__link:hover {
    box-shadow: 0 0 20px var(--gold);
}

/* ---- Secondary (gradient) ---- */
.wp-block-button.is-style-secondary .wp-block-button__link {
    background: linear-gradient(355deg, #EDA70E 3.06%, #E1D29C 95.52%);
    border: none;
    color: var(--black);
}

/* ---- Outline (transparent bg) ---- */
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent;

    color: var(--black);
    border: 1px solid var(--polekatz-red);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--polekatz-red);
    color: var(--black);
    border: 1px solid var(--polekatz-red);
}

:is(
	body.has-dark-background,
	.pk-section-dark,
	.has-dark-green-background-color,
	.has-gold-background-color,
	.has-black-background-color,
	.wp-block-cover
) .wp-block-button.is-style-outline .wp-block-button__link {
    color: var(--white);
}


/* ---- Arrow — tertiary text-link with persistent → ---- */
.wp-block-button.is-style-arrow .wp-block-button__link,
a.is-style-arrow,
p > a:only-child {
    background-color: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    min-width: 0;
    font-family: inter, sans-serif;
    font-weight: 700;
    font-size: inherit;
    line-height: inherit;
    text-transform: none;
    letter-spacing: normal;
    color: inherit;            /* user picks text color */
    text-decoration: none;
    display: inline;
}



.wp-block-button.is-style-arrow .wp-block-button__link:hover,
a.is-style-arrow:hover,
p > a:only-child:hover {
    text-decoration: underline;
}


/* ---- Icon buttons (shared base + per-icon vars) ---- */

/* Shared: any button with an is-style-icon-* class gets the ::before hook */
.wp-block-button[class*="is-style-icon-"] .wp-block-button__link::before {
    content: "";
    display: inline-block;
    width:  var(--btn-icon-size, 1em);
    height: var(--btn-icon-size, 1em);
    margin-right: var(--btn-icon-gap, 0.5em);
    background-color: currentColor;
    -webkit-mask: var(--btn-icon) center / contain no-repeat;
    mask: var(--btn-icon) center / contain no-repeat;
    vertical-align: middle;
}

/* Email */
.wp-block-button.is-style-icon-email .wp-block-button__link {
    --btn-icon: url("assets/icons/email.svg");
    --btn-icon-size: 16px;
}

/* Phone */
.wp-block-button.is-style-icon-phone .wp-block-button__link {
    --btn-icon: url("assets/icons/phone.svg");
    --btn-icon-size: 16px;
}


/* ========================================================================
   Homepage Transparent Header
   ======================================================================== */
.home main.site-main{
    margin-top:0;
}

.home .site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: transparent !important;
    border: none;
    padding-top: 20px;
    padding-bottom: 20px;
}

/* Header content colors on homepage */
.home .site-header .wp-block-navigation .wp-block-navigation-item__label,
.home .site-header .wp-block-navigation .wp-block-navigation-item__content,
.home .site-header .pk-mega-menu-trigger,
.home .site-header .wp-block-button.is-style-icon-phone .wp-block-button__link {
    color: #ffffff !important;
}

/* Search block styling for homepage header */
.home .site-header .wp-block-search {
    margin-bottom: 0;
}

.home .site-header .wp-block-search .wp-block-search__inside-wrapper {
    border: 1px solid #ffffff !important;
    border-radius: 50px !important;
    padding: 2px 5px 2px 15px !important;
    background: transparent !important;
}

.home .site-header .wp-block-search .wp-block-search__input {
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    padding: 5px 0 !important;
}

.home .site-header .wp-block-search .wp-block-search__input::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
}

.home .site-header .wp-block-search .wp-block-search__button {
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    padding: 5px 10px !important;
    margin-left: 0 !important;
}

/* Mega menu icon color adjustment for homepage */
.home .site-header .pk-mega-menu-trigger::after {
    filter: brightness(0) invert(1);
}

/* Sticky/Scrolled state - if the theme adds a class when scrolling */
.home .site-header.is-scrolled,
.home .site-header.nav-up,
.home .site-header.nav-down {
    /* Optional: background-color: rgba(23, 49, 90, 0.9) !important; */
}


/* ========================================================================
   Editor rich-text format overrides
   ------------------------------------------------------------------------
   Formats are registered + base-styled by the parent theme (Pilot Mercury
   Atlas). The overrides below tune `compcolor-span` to the RCM palette:
   Dark Gold on light backgrounds, Light Gold when inside a dark context.
   ======================================================================== */

.compcolor-span {
    color: var(--gold);
}

:is(
    body.has-dark-background,
    .pk-section-dark,
    .has-dark-green-background-color,
    .has-gold-background-color,
    .has-black-background-color,
    .wp-block-cover
) .compcolor-span {
    color: var(--light-gold);
}


/* ========================================================================
   BLOCK STYLE: Eyebrow — applies to core/heading and core/paragraph
   ======================================================================== */

.wp-block-heading.is-style-eyebrow,
.wp-block-paragraph.is-style-eyebrow,
p.is-style-eyebrow,
h1.is-style-eyebrow, h2.is-style-eyebrow, h3.is-style-eyebrow,
h4.is-style-eyebrow, h5.is-style-eyebrow, h6.is-style-eyebrow {
    color: var(--gold);
    font-family: inter, sans-serif;
    font-size: 14px;
    font-weight: 350;
    line-height: 1.5;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

/* Mobile eyebrow: Light Gold per Figma */
@media (max-width: 599px) {
    .wp-block-heading.is-style-eyebrow,
    .wp-block-paragraph.is-style-eyebrow,
    p.is-style-eyebrow,
    h1.is-style-eyebrow, h2.is-style-eyebrow, h3.is-style-eyebrow,
    h4.is-style-eyebrow, h5.is-style-eyebrow, h6.is-style-eyebrow {
        color: var(--light-gold);
    }
}


/* ========================================================================
   BLOCK STYLE: Arrow Link — applies to core/heading
   ======================================================================== */

.wp-block-heading.is-style-arrow-link,
h1.is-style-arrow-link, h2.is-style-arrow-link, h3.is-style-arrow-link,
h4.is-style-arrow-link, h5.is-style-arrow-link, h6.is-style-arrow-link {
    color: var(--polekatz-red);
    display: flex;
    align-items: center;
    gap: 0.5em;
    text-decoration: none;
}

.wp-block-heading.is-style-arrow-link::after,
h1.is-style-arrow-link::after, h2.is-style-arrow-link::after, h3.is-style-arrow-link::after,
h4.is-style-arrow-link::after, h5.is-style-arrow-link::after, h6.is-style-arrow-link::after {
    content: "";
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    border-top: 0.15em solid var(--polekatz-red);
    border-right: 0.15em solid var(--polekatz-red);
    transform: rotate(45deg);
    margin-top: 0.1em; /* Slight visual adjustment for alignment */
}


/* ========================================================================
   BLOCK STYLE: Equal Height, Bottom Aligned — applies to core/columns
   ======================================================================== */

.wp-block-columns.is-style-equal-height-bottom-aligned {
    align-items: stretch;
}

.wp-block-columns.is-style-equal-height-bottom-aligned .wp-block-column {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}



.pk-post-card {
    background: var(--white);
    border-radius: 8px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.pk-post-card .wp-block-post-featured-image {
    margin: 0;
    aspect-ratio: 16/9;
}

.pk-post-card .wp-block-post-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 3-column grid for post template */
.wp-block-query .wp-block-post-template.is-layout-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

@media (max-width: 991px) {
    .wp-block-query .wp-block-post-template.is-layout-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .wp-block-query .wp-block-post-template.is-layout-grid {
        grid-template-columns: 1fr;
    }
}

/* Category Tags */
.wp-block-post-terms {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.wp-block-post-terms a {
    background: var(--tag-blue);
    color: var(--black);
    padding: 4px 12px;
    border-radius: 100px;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    text-align: center;
    border: 1px solid var(--tag-blue);
}

.wp-block-post-terms a:hover {
    background: transparent;
    border: 1px solid var(--tag-blue);
    color: var(--white);
}

.wp-block-post-terms__separator{
    display: none;
}

/* Sidebar Styling */
.pk-blog-sidebar h4 {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    color: var(--neutral-800);
}

.pk-blog-sidebar .wp-block-categories-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pk-blog-sidebar .wp-block-categories-list li a {
    background: var(--tag-blue);
    color: var(--black);
    border: 1px solid var(--tag-blue);
    padding: 6px 14px;
    border-radius: 100px;
    text-decoration: none;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
}

.pk-blog-sidebar .wp-block-categories-list li a:hover {
    background: transparent;
    border: 1px solid var(--tag-blue);
    color: var(--black);
}

/* Button Styles */
.wp-block-button.is-style-primary-on-dark-bg .wp-block-button__link {
    border-radius: 8px;
    border: 2px solid var(--polekatz-red);
    background: var(--polekatz-red);
    color: var(--white);
}

.wp-block-button.is-style-primary-on-dark-bg .wp-block-button__link:hover {
    background: transparent;
    border-radius: 8px;
    border: 2px solid var(--polekatz-red);
    color: var(--white);
}

.wp-block-button.is-style-primary-on-light-bg .wp-block-button__link {
    border-radius: 8px;
    border: 2px solid var(--polekatz-red);
    background: var(--polekatz-red);
    color: var(--white);
}

.wp-block-button.is-style-primary-on-light-bg .wp-block-button__link:hover {
    border-radius: 8px;
    border: 2px solid var(--polekatz-red);
    color: var(--white);
    background: transparent;
}


/*FAQS */
.schema-faq .schema-faq-section {
    border: none;
    margin-bottom: 20px;
    background-color: transparent;
}

.schema-faq .schema-faq-question {
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    margin: 0;
    padding: 15px;
    line-height: 1.4;
    cursor: pointer;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: block;
    color: var(--polekatz-red);
    border-bottom: 1px solid var(--separator);
}


.schema-faq .schema-faq-question:before {
    position: relative;
    left: -10px;
    content: "";
    height: 0;
    border-bottom: 10px solid var(--gold);
    border-inline-width: 7px;
    border-inline-style: solid;
    border-inline-color: transparent;
    transition: 0.2s;
    display: inline-block;
}

.wp-admin .schema-faq-section{
    color: #000;
}

.wp-admin .schema-faq p.schema-faq-answer{
    display: block;
}

.schema-faq .schema-faq-question.faq-q-open:before {
    content: "";
    transform: rotate(180deg);
}

.schema-faq p.schema-faq-answer {
    margin: 0;
    padding: 15px;
    background-color: transparent;
    font-size: 16px;
    line-height: 1.4;
    border-bottom: none;
    display: none;
    font-weight: 300;
}


.has-background .schema-faq .schema-faq-question, .has-background .schema-faq .schema-faq-answer {
    color: #fff;
    border-bottom-color: #FFFFFF;
}

.has-background .schema-faq .schema-faq-question:before {
    border-bottom-color: var(--gold);
}

.has-white-background-color .schema-faq .schema-faq-question {
    color: var(--polekatz-red);
    border-bottom-color: #DEDEDE;
}


.has-white-background-color .schema-faq .schema-faq-answer {
    color: #565555;
}

.wp-block-accordion-heading__toggle-icon {
    color: var(--polekatz-red);
}


/* ========================================================================
   HUBSPOT FORMS
   ======================================================================== */

.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e {
    display: flex;
    flex-wrap: nowrap;
    gap: 15px;
    align-items: flex-end;
}

.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e .hs-form-field {
    flex-grow: 1;
    margin-bottom: 0 !important;
}

.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e .hs-form-field label {
    display: none; /* Hide label as per screenshot which looks like placeholder or just text above */
}

.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e input[type="email"],
.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e input[type="text"] {
    background: transparent !important;
    border: 1px solid #ffffff !important;
    border-radius: 33px !important;
    color: #ffffff !important;
    padding: 12px 25px !important;
    width: 100% !important;
    height: auto !important;
    font-size: 16px !important;
}

.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e input::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
}

.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e .hs-submit {
    margin: 0 !important;
    padding: 0 !important;
}

.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e .hs-button {
    background: var(--polekatz-red) !important;
    border: none !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    padding: 12px 40px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
}

.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e .hs-button:hover {
    background: var(--link-light-hover) !important;
}

/* Responsive adjustments */
@media (max-width: 600px) {
    .hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e {
        flex-direction: column;
        align-items: stretch;
    }

    .hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e .hs-button {
        width: 100%;
    }
}



.blablablocks-tabs-content {
    width: 100%;
}

.blablablocks-tab-container .blablablocks-tab-content,
.blablablocks-tab-container .blablablocks-tab-content > .wp-block-group {
    height: 100%;
}

.blablablocks-tabs__horizontal.blablablocks-tab-container .blablablock-tab-btn.is-bbb-active-tab, .blablablocks-tabs__horizontal.blablablocks-tab-container .blablablock-tab-btn {
    background: none;
}

.blablablocks-tabs__horizontal.blablablocks-tab-container .blablablock-tab-btn.is-bbb-active-tab span {
    border-bottom: 2px solid #EC6C22;
    font-weight: bold !important;

    padding-bottom: 6px;
}

.blablablocks-tabs__horizontal.blablablocks-tab-container .blablablock-tab-btn span {

    padding-bottom: 6px;
    color: var(    --black);
    font-weight: 300 !important;
}

footer .hs_recaptcha.hs-recaptcha,
footer label {
    display: none !important;
}

footer .hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e input[type="email"],footer .hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e input[type="text"] {
    padding-left: 10px !important;
    padding-right: 0 !important;
    width: calc(100% - 10px) !important;
}

footer form.hs-form-e1ba48ec-a213-4889-bfa6-5a5ff4cd861e {
    align-items: center;
}

article.wp-block-group {
    padding-bottom: 0;
    padding-top: 0;
}

main.wp-block-group {
    padding-bottom: 0;
    padding-top: 2rem;
}

.wp-site-blocks {
    padding: 0;
}

#a26aca5e-27a8-4292-a4d1-c885e58959ce-r .hsfc-RichText {
    color: #fff;
}

#a26aca5e-27a8-4292-a4d1-c885e58959ce-r .hsfc-FieldLabel {
    color: #fff;
}

ul.shield-list li {
    position: relative;
    list-style-type: none;
    padding-bottom: 7px;
}

ul.shield-list li:before {
    content: "";
    position: absolute;
    top: .25rem;
    left: -1.25rem;
    width: 1rem;
    height: 1rem;
    background-image: url(https://rcm.csseodev.com/wp-content/uploads/2026/04/shield-icon.svg);
    background-size: 100% 100%;
}
/* Search Results Separation */
.search-results-funds:has(.hide-empty-section),
.search-results-all:has(.hide-empty-section) {
    display: none;
}


.fade-bg-right .wp-block-cover::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;

    background: linear-gradient(
            to right,
            #000 0%,
            #000 30%,
            rgba(0,0,0,.75) 55%,
            rgba(0,0,0,.25) 75%,
            transparent 100%
    );
}

.fade-bg-right .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}


@media (max-width: 768px) {
    nav ul li:before {
        content: "";
    }

    nav .is-menu-open,
    .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay){
        background: #000;
        color: #fff;
    }

    .wp-block-navigation__responsive-container-close{

        position: absolute;
        top: 0;
        color: #fff;
        z-index: 424124;
    }

    .home .wp-block-cover__inner-container.has-global-padding.is-layout-constrained.wp-block-cover-is-layout-constrained{
        top: 100px;
    }

}