/*
Theme Name: Hide And Seek Child
Theme URI: https://example.com/hide-and-seek-child/
Description: A child theme for the Hide And Seek theme.
Author: Your Name
Author URI: https://example.com
Template: hide-and-seek
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
Text Domain: hide-and-seek-child
*/

/* Add your custom CSS below */

/* Sidebar Styles */
.hasc-sidebar {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
    padding-left: 20px; /* Assuming it's a right sidebar, add some left padding */
}

.hasc-sidebar-widget {
    background-color: #f8f9fa; /* Light greyish background, adjust as needed */
    border: 1px solid #e9ecef; /* Light border */
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
}

.hasc-widget-title {
    font-size: 1.4em;
    font-weight: bold;
    color: #212529; /* Dark text color */
    margin-top: 0;
    margin-bottom: 15px;
}

/* Table of Contents Styles */
.hasc-toc-container ul.table-of-contents-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.hasc-toc-container ul.table-of-contents-list li {
    margin-bottom: 10px;
}

.hasc-toc-container ul.table-of-contents-list li a {
    text-decoration: none;
    color: #495057; /* Medium dark grey for links */
    font-size: 1em;
}

.hasc-toc-container ul.table-of-contents-list li a:hover {
    color: #007bff; /* Standard blue for hover */
}

/* Author Bio Styles */
.hasc-author-bio-wrapper {
    display: flex;
    align-items: flex-start; /* Align items to the top */
}

.hasc-author-avatar img {
    border-radius: 50%;
    margin-right: 20px;
    width: 80px; /* Adjust size as needed */
    height: 80px;
}

.hasc-author-details {
    flex: 1;
}

.hasc-author-name {
    font-size: 1.2em;
    font-weight: bold;
    color: #212529;
    margin-top: 0;
    margin-bottom: 2px;
}

.hasc-author-subtitle {
    font-size: 0.95em;
    color: #6c757d; /* Lighter grey for subtitle */
    margin-top: 0;
    margin-bottom: 10px;
}

.hasc-author-description {
    font-size: 0.95em;
    color: #495057;
    line-height: 1.5;
    margin-bottom: 0;
}

/* Related Articles Styles */
.hasc-related-articles-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.hasc-related-article-item {
    margin-bottom: 15px;
}

.hasc-related-article-link {
    text-decoration: none;
}

.hasc-related-article-title {
    font-size: 1.1em;
    font-weight: bold;
    color: #212529;
    margin-top: 0;
    margin-bottom: 3px;
}

.hasc-related-article-link:hover .hasc-related-article-title {
    color: #007bff;
}

.hasc-related-article-date {
    font-size: 0.85em;
    color: #6c757d;
}

/* Single Post Hero Section */
.hasc-single-hero-section {
    background: linear-gradient(to right, #3e4c5a 60%, #4a90e2 100%); /* Gradient from image */
    color: #ffffff;
    padding: 60px 0; /* Adjust vertical padding as needed */
    width: 100vw; /* Full viewport width */
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box; /* Ensures padding is included in the 100vw */
}

.hasc-single-hero-content-area {
    margin: 0 auto;
    padding: 0 20px; /* Side padding for content within the full-width hero */
    box-sizing: border-box;
}

.hasc-single-hero-meta {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

.hasc-single-hero-category {
    background-color: rgba(255, 255, 255, 0.15); /* White with transparency */
    color: #ffffff;
    padding: 5px 12px;
    border-radius: 15px; /* Pill shape */
    font-size: 0.85em;
    font-weight: 500;
    margin-right: 15px;
    text-decoration: none;
}

.hasc-single-hero-date {
    font-size: 0.9em;
    color: rgba(255, 255, 255, 0.8);
}

.hasc-single-hero-title {
    font-size: 2.8em; /* Adjust as needed */
    font-weight: bold;
    color: #ffffff;
    margin-top: 0;
    margin-bottom: 15px;
    line-height: 1.2;
}

.hasc-single-hero-subtitle {
    font-size: 1.2em;
    color: rgba(255, 255, 255, 0.85);
    margin-top: 0;
    margin-bottom: 25px;
    line-height: 1.6;
}

.hasc-single-hero-breadcrumbs {
    margin-top: 30px;
    font-size: 0.9em;
}

.hasc-single-hero-breadcrumbs .hasc-breadcrumbs-container,
.hasc-single-hero-breadcrumbs .hasc-breadcrumbs-container p {
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 0;
}

.hasc-single-hero-breadcrumbs .hasc-breadcrumbs-container a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
}

.hasc-single-hero-breadcrumbs .hasc-breadcrumbs-container a:hover {
    color: #ffffff;
    text-decoration: underline;
} 

/* Container Style */
.hasc-social-share-buttons {
    display: flex;
    justify-content: center; /* Center the buttons horizontally */
    margin-top: 20px; /* Add space above the button container */
    gap: 15px; /* Space between each button */
}

/* Individual Button Styles */
.hasc-social-share-buttons a {
    padding: 10px 15px; /* Button padding */
    text-decoration: none;/* Remove underline from the links */
    border-radius: 5px; /* Rounded corners for the buttons */
    font-weight: bold; /* Bold text for better visibility */
    transition: background-color 0.3s; /* Smooth background color transition for hover effect */
}

/* Color and Hover Styles for Each Social Network */
.hasc-social-share-buttons a[href*="facebook.com"] {
    background-color: #3b5998;
    color: white;
}

.hasc-social-share-buttons a[href*="facebook.com"]:hover {
    background-color: #2d4373;
}

.hasc-social-share-buttons a[href*="twitter.com"] {
    background-color: #1DA1F2;
    color: white;
}

.hasc-social-share-buttons a[href*="twitter.com"]:hover {
    background-color: #0c85d0;
}

.hasc-social-share-buttons a[href*="linkedin.com"] {
    background-color: #0077B5;
    color: white;
}

.hasc-social-share-buttons a[href*="linkedin.com"]:hover {
    background-color: #005582;
}

.hasc-social-share-buttons a[href*="pinterest.com"] {
    background-color: #BD081C;
    color: white;
}

.hasc-social-share-buttons a[href*="pinterest.com"]:hover {
    background-color: #8d0615;
}

/* Ninja Forms Styles for Contact Form Section Block */
.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content {
  padding: 0 !important;
  max-width: inherit !important;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .nf-field-label {
  margin-bottom: 8px; /* Give a bit of space for the label */
  color: #cccccc; /* Light gray for labels in dark theme */
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-label {
  margin-bottom: 8px !important;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element {
  line-height: normal !important; /* Let it be normal */
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field {
  width: 100%;
  height: 40px; /* Slightly taller for better click/tap */
  font-size: 0.95rem !important;
  line-height: normal !important;
  background-color: rgba(255, 255, 255, 0.05); /* Darker input bg */
  border: 1px solid rgba(255, 255, 255, 0.2); /* Subtle border */
  color: #ffffff !important; /* White text */
  border-radius: 4px; /* Rounded corners */
  padding: 6px 12px !important; /* Proper padding */
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field:focus {
  outline: none;
  box-shadow: none;
  border-color: #007bff; /* Highlight focus with CTA blue */
  background-color: rgba(255, 255, 255, 0.1);
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field:-internal-autofill-selected {
  background-color: rgba(255, 255, 255, 0.1) !important; /* Handle autofill bg */
  color: #ffffff !important; /* Ensure text is white on autofill */
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field::-webkit-input-placeholder {
  color: #bbbbbb !important; /* Lighter placeholder text */
}
.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field::-moz-placeholder {
  color: #bbbbbb !important;
}
.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field:-ms-input-placeholder {
  color: #bbbbbb !important;
}
.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field::placeholder {
  color: #bbbbbb !important;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field[type="submit"] {
  width: auto;
  font-size: 1rem; /* Match block's button text size better */
  line-height: 1.5rem;
  padding: 10px 20px !important;
  border-radius: 5px; /* Match block's button radius */
  border: 1px solid #e53935; /* Use a theme color, e.g., bullet color */
  background-color: #e53935;
  text-align: center;
  color: #ffffff !important; /* White text for submit */
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field[type="submit"]:hover {
  background-color: #c62828; /* Darken submit on hover */
  border-color: #c62828;
  color: #ffffff !important;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element .ninja-forms-field[type="radio"] {
  width: auto !important; /* Let radio buttons be visible */
  height: auto !important;
  margin-right: 5px;
  vertical-align: middle;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-content .label-above .nf-field-element textarea.ninja-forms-field {
  height: 100px; /* Taller textarea */
  resize: vertical;
}

/* Select dropdown styling for Ninja Forms within the block */
.hasc-contact-form-section-wrapper .contact-form-form-section .list-select-wrap .nf-field-element > div {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  padding: 0 12px !important; /* Adjust padding for select */
  height: 40px !important;
  border-radius: 4px;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .list-select-wrap .nf-field-element > div::after { /* Arrow */
  height: 38px !important; /* Align with 40px height minus border */
  line-height: 38px !important;
  right: 10px !important;
  font-size: 1rem !important;
  color: #bbbbbb !important;
}

.hasc-contact-form-section-wrapper .contact-form-form-section label {
  font-size: 0.9rem !important;
  font-weight: 600 !important; /* Slightly less bold */
  font-family: inherit !important; /* Use theme font */
  line-height: normal !important;
  color: #cccccc; /* Match other labels */
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-field-container {
  width: 100%;
  position: relative !important;
  margin-bottom: 20px !important; /* Slightly less margin */
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-field-container .nf-after-field {
  position: absolute;
  font-size: 0.8rem;
  line-height: 1.4;
  left: 0;
  bottom: -18px; /* Adjust for reduced margin */
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-field-container .nf-after-field .nf-input-limit {
  margin-top: 0;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-field-container .nf-after-field .nf-error-wrap .nf-error-msg {
  color: #ff786d !important;
  display: none;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-error.field-wrap .nf-field-element::after {
  /* Consider removing or restyling this error icon for dark theme */
  display: none; /* Simplest way to hide if it clashes */
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-error.field-wrap.nf-error .ninja-forms-field,
.hasc-contact-form-section-wrapper .contact-form-form-section .nf-error .ninja-forms-field {
  border-color: #ff786d !important;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-pass.field-wrap .nf-field-element::after {
   /* Consider removing or restyling this success icon */
  display: none;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-after-form-content .nf-error-msg {
  margin: 15px 0 0 0 !important; /* Add margin top */
  padding: 10px 15px !important;
  border-width: 1px;
  font-size: 0.9rem !important;
  text-align: center !important;
  border: 1px solid #e53935; /* Error border */
  color: #ffffff; /* White text for error */
  background-color: rgba(229, 57, 53, 0.3); /* Translucent error bg */
  border-radius: 4px;
  display: none;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-before-form-content {
    display: none;
}

.hasc-contact-form-section-wrapper .contact-form-form-section .ninja-forms-req-symbol {
  color: #ff786d !important; /* Keep error/required symbol color */
}

/* Add styles for .nf-form-title if you want to style the "Contact Us" title */
.hasc-contact-form-section-wrapper .contact-form-form-section .nf-form-title h3 {
    color: #ffffff; /* White title */
    text-align: center;
    margin-bottom: 25px;
    font-size: 1.5em; /* Adjust as needed */
}

/* Adjust checkbox and radio list item styling if needed */
.hasc-contact-form-section-wrapper .contact-form-form-section .nf-field-element ul.checkbox-list li,
.hasc-contact-form-section-wrapper .contact-form-form-section .nf-field-element ul.radio-list li {
    color: #cccccc; /* Ensure list item text is visible */
}

.hasc-contact-form-section-wrapper .contact-form-form-section .nf-field-element ul.checkbox-list label,
.hasc-contact-form-section-wrapper .contact-form-form-section .nf-field-element ul.radio-list label {
    color: #cccccc !important; /* Ensure label text in lists is visible */
}

/*------------------------------------------------------------------
[Mega Menu Styles]
-------------------------------------------------------------------*/

/* Main Mega Menu Navigation Container - uses .has-mega_nav from header.php */
.has-mega_nav {
    position: relative; /* New: Context for full-width dropdown attempt */
}

.has-mega_nav ul {
    padding: 0;
    margin: 0;
    list-style: none;
    /* The parent .has-main_nav ul:not(.sub-menu) already provides flex/layout for top-level items */
}

.has-mega_nav ul li.has-mega-menu-trigger {
    position: static; /* CHANGED: Allow dropdown to position relative to .has-mega_nav or a wider parent */
}

/* Style for the main link of a mega menu trigger - inherits from parent, can be overridden */
.has-mega_nav ul li.has-mega-menu-trigger > a {
    /* display: block; */ 
}

/* Mega Menu Dropdown Panel */
.has-mega_nav ul li.has-mega-menu-trigger .mega-menu-dropdown {
    display: none; /* Hidden by default */
    position: absolute;
    top: 105%; /* Position it right below the parent menu item's original space */
    left: 50%; /* Center relative to the closest positioned ancestor */
    transform: translateX(-59%); /* Fine-tune centering */
    min-width: 960px; /* Default to 100% of its offset parent, likely .has-mega_nav */
    max-width: 1140px; /* Common container width, ADJUST THIS to your theme's .container max-width */
    /* If your .container is wider or narrower, or uses padding, this needs careful adjustment */
    /* It might be better to match the exact width of .has-header > .container */
    
    background-color: #fff;
    border: 1px solid #eee; /* Keep or remove if shadow is enough */
    border-top: none; /* Often, top border is removed if flush with menu */
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    border-radius: 20px; /* Rounded bottom corners, top flush with menu */
    padding: 0; /* Adjust padding */
    z-index: 1000;
    box-sizing: border-box; 
}

/* Hover effect to show the dropdown */
.has-mega_nav ul li.has-mega-menu-trigger:hover > .mega-menu-dropdown {
    display: block;
}

/* Styling for content within the mega menu dropdown */
.has-mega_nav .mega-menu-dropdown .wp-block-columns {
    /* If you use columns block, ensure they work well */
    /* Example: ensure full width usage */
    margin-bottom: 0; /* Remove default bottom margin if any from columns block */
    gap: 0;
}

.has-mega_nav .mega-menu-dropdown .wp-block-column {
    /* Styles for individual columns if needed */
    padding: 0 25px; /* Example padding between columns */
    margin: 25px 0;
}
.has-mega_nav .mega-menu-dropdown .wp-block-column:first-child {
    
}
.has-mega_nav .mega-menu-dropdown .wp-block-column:not(:first-child) {
    border-left: 1px solid #e4e4e4;
}
.has-mega_nav .mega-menu-dropdown .wp-block-column:last-child {
    padding: 25px;
    margin: 0;
    border-left: 1px solid #dddddd;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.has-mega_nav .mega-menu-dropdown .wp-block-column:last-child h5 {
    padding-left: 0;
}

/* Style for headings within the mega menu (from your image example) */
.has-mega_nav .mega-menu-dropdown h5, /* Assuming H5 for titles like "Producten en diensten" */
.has-mega_nav .mega-menu-dropdown .h5 {
    font-size: 1rem; /* Adjust as needed */
    color: #777; /* Lighter color for section titles */
    text-transform: uppercase;
    margin-bottom: 15px;
    font-weight: 500;
    padding-left: 10px;
}

.has-mega_nav .mega-menu-dropdown h4, .has-mega_nav .mega-menu-dropdown .h4 {
    font-size: 1rem;
    line-height: normal;
}

.has-mega_nav .mega-menu-dropdown h3, .has-mega_nav .mega-menu-dropdown .h3 {
    font-size: 1rem;
    line-height: normal;
}

/* Style for links within the mega menu (from your image example) */
.has-mega_nav .mega-menu-dropdown ul,
.has-mega_nav .mega-menu-dropdown .wp-block-navigation ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 20px; /* Space below lists of links */
}

.has-mega_nav .mega-menu-dropdown ul li,
.has-mega_nav .mega-menu-dropdown .wp-block-navigation ul li {
    margin-bottom: 8px;
}

.has-mega_nav .mega-menu-dropdown ul li a,
.has-mega_nav .mega-menu-dropdown .wp-block-navigation ul li a {
    text-decoration: none;
    color: #333; /* Adjust link color */
    font-weight: normal; /* Example: parent theme might make menu links bold */
    display: block; /* Make the whole area clickable */
    padding: 5px 0; /* Example padding */
}

.has-mega_nav .mega-menu-dropdown ul li a:hover,
.has-mega_nav .mega-menu-dropdown .wp-block-navigation ul li a:hover {
    color: var(--bs-primary); /* Use a theme variable if available, or specific color */
    /* Add other hover effects if desired */
}

/* Specific styling for "Nieuw" badge - example */
.has-mega_nav .mega-menu-dropdown .wp-block-navigation ul li a span.badge-nieuw {
    background-color: #007bff; /* Blue background */
    color: white;
    padding: 3px 6px;
    font-size: 0.7rem;
    border-radius: 3px;
    margin-left: 8px;
    text-transform: uppercase;
}


/* Ensure the primary menu items have a clear hover indication if not already present */
.has-mega_nav > ul > li.has-mega-menu-trigger > a:hover,
.has-mega_nav > ul > li.has-mega-menu-trigger:hover > a {
    /* background-color: #f0f0f0; /* Subtle background, or other indication */
    /* The parent theme has an ::after element for hover, which is good */
    /* You might want to ensure this hover state persists while the mega menu dropdown is open */
}

/* Consider a slightly more persistent hover style on the parent when mega menu is open */
.has-mega_nav ul li.has-mega-menu-trigger:hover > a {
    /* color: var(--bs-primary); /* Example: change text color */
    /* parent theme .has-main_nav ul:not(.sub-menu) > li > a:hover::after should still apply */
}

/*------------------------------------------------------------------
[Mega Menu Item Showcase Block Styles]
-------------------------------------------------------------------*/
.wp-block-hide-and-seek-child-mega-menu-item-showcase {
    margin-bottom: 15px; /* Space below each showcase item */
    padding-block: 0;
    /* border: 1px solid #f0f0f0; /* Optional: for visual separation in mega menu */
    /* border-radius: 4px; */
}

.wp-block-hide-and-seek-child-mega-menu-item-showcase a.mms-link-wrapper {
    text-decoration: none;
    display: block; /* Make the entire block clickable if linked */
    color: inherit; /* Inherit text colors from children */
    /* transition for background color on link wrapper */
    transition: background-color 0.3s ease-in-out;
    padding: 10px;
    border-radius: 5px;
}

.wp-block-hide-and-seek-child-mega-menu-item-showcase a.mms-link-wrapper:hover {
    background-color: var(--mms-background-hover-color, transparent);
}

/* If the block is not linked, the hover might apply to the block itself */
.wp-block-hide-and-seek-child-mega-menu-item-showcase:not(:has(a.mms-link-wrapper)):hover {
    background-color: var(--mms-background-hover-color, transparent);
}

.wp-block-hide-and-seek-child-mega-menu-item-showcase a.mms-link-wrapper:hover .mms-title {
    /* Example: Change title color on hover if the item is linked */
    /* color: var(--bs-primary, #007bff); */
}

.mms-title-badge-wrapper {
    display: flex;
    align-items: center; /* Vertically align title and badge */
    margin-bottom: 5px; /* Space between title/badge line and subtext */
    flex-wrap: nowrap; /* Prevent badge from wrapping on small spaces if possible */
    justify-content: space-between;
}

.mms-title {
    font-size: 1.1rem; /* Adjust size as per your image */
    font-weight: 600; /* Or bold, depending on theme */
    margin: 0; /* Remove default heading margins */
    line-height: 1.3;
    /* Default title color will be inherited or set by block attribute */
    /* Default text-align will be set by block attribute */
}

.mms-badge {
    padding: 3px 8px;
    font-size: 0.55rem;
    font-weight: 600;
    border-radius: 4px;
    margin-left: 10px;
    white-space: nowrap; /* Prevent badge text from wrapping */
    /* Default colors will be set by block attributes */
    /* Default background: #007bff; (blue) */
    /* Default color: #fff; (white) */
}

.mms-subtext {
    font-size: 0.9rem; /* Adjust size */
    line-height: normal;
    margin: 0;
    /* Default color will be inherited or set by block attribute */
    /* Default text-align will be set by block attribute */
}

/* Ensure link wrapper (if present) doesn't interfere with flex */
.wp-block-hide-and-seek-child-mega-menu-item-showcase a.mms-link-wrapper {
    text-decoration: none;
    display: block; /* Or flex, if it needs to be a flex container itself */
    color: inherit;
}

/* Ensure default colors if attributes not set (optional, can be handled by block defaults too) */
.wp-block-hide-and-seek-child-mega-menu-item-showcase .mms-title:not([style*="color"]) {
    /* color: #00509e; /* Example default title color from image */
}
.wp-block-hide-and-seek-child-mega-menu-item-showcase .mms-subtext:not([style*="color"]) {
    /* color: #333333; /* Example default subtext color */
}
.wp-block-hide-and-seek-child-mega-menu-item-showcase .mms-badge:not([style*="background-color"]) {
    /* background-color: #007bff; /* Example default badge background */
}
.wp-block-hide-and-seek-child-mega-menu-item-showcase .mms-badge:not([style*="color"]) {
    /* color: #ffffff; /* Example default badge text color */
}

/* New Flex Layout for Mega Menu Item Showcase with Icon */
.wp-block-hide-and-seek-child-mega-menu-item-showcase .mms-outer-flex-container {
    display: flex;
    align-items: flex-start; /* Align items to the top of the flex container */
    gap: 15px; /* Space between icon column and content column */
}

.wp-block-hide-and-seek-child-mega-menu-item-showcase .mms-icon-column {
    flex: 0 0 20px; /* Do not grow, do not shrink, base width 30px */
    /* Optional: center icon within its column if icon is smaller than 30px */
    display: flex;
    align-items: center; /* Vertically center icon if column has height */
    justify-content: center; /* Horizontally center icon */
    /* padding-top: 2px; /* Optional: slight adjustment for visual alignment with text */
}

.wp-block-hide-and-seek-child-mega-menu-item-showcase .mms-icon {
    font-size: 20px; /* May not affect SVG size if SVG has width/height attributes */
    line-height: 1;
    /* Color is applied to the span, SVG should use currentColor for fill/stroke */
    display: inline-flex; /* Helps with alignment if SVG has intrinsic padding */
    align-items: center;
    justify-content: center;
}

.wp-block-hide-and-seek-child-mega-menu-item-showcase .mms-icon svg {
    width: 100%; /* Make SVG take up the font-size of the parent span if possible */
    height: 100%; /* Make SVG take up the font-size of the parent span if possible */
    /* Or set a fixed size, e.g., width: 20px; height: 20px; */
    /* Ensure fill/stroke are set to currentColor in your actual SVG files for color control */
}

.wp-block-hide-and-seek-child-mega-menu-item-showcase .mms-main-content-area {
    flex: 1; /* Allow content area to take remaining space */
    min-width: 0; /* Important for flex items to prevent overflow issues with long content */
    /* text-align is set inline based on block attribute */
}

/* Adjust existing styles if necessary due to new structure */
/* Note: The .wp-block-hide-and-seek-child-mega-menu-item-showcase base style is already defined above this section */

/* Ensure link wrapper (if present) doesn't interfere with flex */
.wp-block-hide-and-seek-child-mega-menu-item-showcase a.mms-link-wrapper {
    color: #555; /* Default */
}

/* Editor Specific Styles REMOVED FROM HERE */

/*------------------------------------------------------------------
[Icon Link Item Block Styles]
-------------------------------------------------------------------*/
.wp-block-hide-and-seek-child-icon-link-item {
    padding: 8px 0; /* Add some padding, adjust as needed */
    display: block; /* Behaves like a block element */
    cursor: default; /* Default cursor, changes to pointer if linked */
}

.wp-block-hide-and-seek-child-icon-link-item a.ili-link-wrapper {
    text-decoration: none;
    display: block; /* Make the entire block clickable */
    color: inherit; /* Inherit text colors from children by default */
    cursor: pointer;
}

.ili-content-wrapper {
    display: flex;
    align-items: flex-end; /* Vertically align text and icon */
    justify-content: space-between; /* Pushes icon to the right of the text by default */
    width: 100%;
}

.wp-block-hide-and-seek-child-icon-link-item[style*="text-align:center"] .ili-content-wrapper {
    justify-content: center;
}

.wp-block-hide-and-seek-child-icon-link-item[style*="text-align:right"] .ili-content-wrapper {
    justify-content: flex-end;
}
.wp-block-hide-and-seek-child-icon-link-item[style*="text-align:right"] .ili-content-wrapper .ili-text-content {
    order: 1; /* Text comes after icon */
}
.wp-block-hide-and-seek-child-icon-link-item[style*="text-align:right"] .ili-content-wrapper .ili-icon {
    order: 0; /* Icon comes before text */
    margin-left: 0;
    margin-right: 10px; /* Space between icon and text when aligned right */
}


.ili-text-content {
    display: flex;
    flex-direction: column; /* Stack main text and CTA text vertically */
    justify-content: space-between;
}

.ili-main-text {
    font-size: 1.1rem; /* Example from your image */
    font-weight: 500;   /* Example from your image */
    margin: 0 0 2px 0;  /* Small margin below main text */
    line-height: 1.3;
    color: var(--ili-main-text-color, #333); /* Default color, overridden by attribute */
    transition: color 0.2s ease-in-out;
}

.ili-cta-text {
    font-size: 0.95rem; /* Example */
    line-height: 1.3;
    color: var(--ili-cta-text-color, #777); /* Default color, overridden by attribute */
    transition: color 0.2s ease-in-out;
}

.ili-icon {
    font-size: 1.5rem; /* Adjust icon size - may not affect SVG directly */
    line-height: 1;
    color: var(--ili-icon-color, #777);
    margin-left: 10px;
    transition: color 0.2s ease-in-out;
    display: inline-flex; /* For alignment */
    align-items: center;
    justify-content: center;
}

.ili-icon svg {
    width: 1em; /* Try to scale with font-size of parent .ili-icon */
    height: 1em; /* Try to scale with font-size of parent .ili-icon */
    /* Or fixed size: e.g., width: 24px; height: 24px; */
    /* Ensure SVGs use fill="currentColor" or stroke="currentColor" */
}

/* Hover Effects - applied if linked or just on the block itself */
.wp-block-hide-and-seek-child-icon-link-item:hover .ili-main-text,
.wp-block-hide-and-seek-child-icon-link-item a.ili-link-wrapper:hover .ili-main-text {
    color: var(--ili-elements-hover-color, var(--ili-main-text-color, #007bff)); /* Use new single hover color */
}

.wp-block-hide-and-seek-child-icon-link-item:hover .ili-cta-text,
.wp-block-hide-and-seek-child-icon-link-item a.ili-link-wrapper:hover .ili-cta-text {
    color: var(--ili-elements-hover-color, var(--ili-cta-text-color, #007bff)); /* Use new single hover color */
}

.wp-block-hide-and-seek-child-icon-link-item:hover .ili-icon,
.wp-block-hide-and-seek-child-icon-link-item a.ili-link-wrapper:hover .ili-icon {
    color: var(--ili-elements-hover-color, var(--ili-icon-color, #007bff)); /* Use new single hover color */
}

/* Specific icon styling if needed, e.g., for dashicons-external */
.ili-icon.dashicons-external::before {
    /* Adjustments if the default Dashicon rendering isn't perfect */
    /* font-size: inherit; */
    /* vertical-align: middle; */
}

/*------------------------------------------------------------------
[Promo Card Block Styles]
-------------------------------------------------------------------*/
.wp-block-hide-and-seek-child-promo-card {
    /* overflow: hidden; */ /* Keep this commented or adjust if rounded corners cause issues with deco elements */
    transition: box-shadow 0.3s ease-in-out;
    display: flex; /* Ensures flex layout for panes */
    margin-bottom: 1em;
}

.wp-block-hide-and-seek-child-promo-card .has-rounded-corners {
    border-radius: 5px;
}

.pcb-inner-content {
    display: flex;
    width: 100%;
    position: relative; /* For positioning deco elements if they were present */
}

/* Left Pane */
.pcb-left-pane {
    /* flex: 0 0 auto; */ /* Adjust as needed, e.g., for fixed width */
    /* padding: 20px; */ /* Example padding */
    /* background-color: #f0f0f0; */ /* Default, will be overridden by attribute */
    position: relative; /* For deco elements */
    display: flex; /* Used to center the image */
    justify-content: left; /* Center image horizontally */
    align-items: center; /* Center image vertically */
    min-width: 110px; /* Max image width + padding */
    padding: 10px 10px 10px 0;
}

.pcb-link-wrapper {
    text-decoration: none;
    padding: 10px;
    border-radius: 5px;
}

.pcb-image {
    display: block;
    /* max-width: 100%; Temporarily removed for square */
    height: auto;  /* Maintain aspect ratio initially */
    object-fit: cover; /* Crop to fit square */
    width: 100px; /* Fixed width */
    height: 150px; /* Fixed height for square */
    max-width: 100px; /* Ensure it doesn't exceed this */
    max-height: 150px; /* Ensure it doesn't exceed this */
    border-radius: 4px; /* Optional: if you want rounded images */
}

/* Right Pane */
.pcb-right-pane {
    flex: 1 1 auto; /* Takes remaining space */
    padding: 25px 0;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Vertically center content in right pane */
}

.has-mega_nav .mega-menu-dropdown .pcb-title {
    font-size: 1.125rem;
    line-height: normal; /* Adjust as needed */
    font-weight: 600;
    margin: 0 0 5px 0;
    color: #111; /* Default */
}

.pcb-description {
    line-height: normal;
    font-size: 0.85rem;
    line-height: normal;
    font-weight: 400;
    margin: 0;
    color: #555; /* Default */
}


/* Editor Specific Styles 
 *
 *
 *
 *
 *
 *
 *
*/
.pcb-inner-content-editor {
    display: flex;
    flex-direction: row;
    width: 100%;
    min-height: 120px; /* Give some default height in editor */
     border: 1px dashed #ccc;
}

.pcb-left-pane-editor {
    /* flex: 0 0 35%; */ /* Adjust as needed */
    /* background-color: #f9f9f9; */
    padding: 10px;
    display: flex;
    flex-direction: column; /* Stack deco and image */
    align-items: center; /* Center items */
    justify-content: center; /* Center items */
    position: relative; /* For deco elements */
    min-width: 170px;
}

.pcb-image-editor {
    max-width: 150px; /* Max width */
    width: 150px;
    height: 150px;
    object-fit: cover;
    background-color: #e0e0e0; /* Placeholder background */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 4px;
}

.pcb-image-placeholder {
    width: 150px; 
    height: 150px; 
    background-color: #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #777;
    font-size: 13px;
    border-radius: 4px;
}

.pcb-right-pane-editor {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.editor-styles-wrapper .pcb-title-editor,
.editor-styles-wrapper .pcb-description-editor {
    margin: 0;
}

.editor-styles-wrapper .pcb-title-editor {
    font-size: 1.2em;
    margin-bottom: 8px;
}

.editor-styles-wrapper .pcb-description-editor {
    font-size: 0.9em;
}

.post-template-default header.has-header {
    position: relative;
}