/* Import icon definitions */
@import url('icon-list-icons.css');

.lwf-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Icon sizes */
.lwf-icon-small svg {
    width: 12px;
    height: 12px;
}

.lwf-icon-medium svg {
    width: 16px;
    height: 16px;
}

.lwf-icon-large svg {
    width: 24px;
    height: 24px;
}

.lwf-icon-xlarge svg {
    width: 32px;
    height: 32px;
}

/* Ensure proper alignment with text */

/* Content container */

/* Margin control for nested content */
.icon-list-item .icon-list-content > *:first-child {
    margin-top: 0;
}

.icon-list-item .icon-list-content > *:last-child {
    margin-bottom: 0;
}

.icon-list-item .icon-list-content .wp-block-group {
    padding: 0;
}

/* Icon size variants */
/* .icon-list-item.icon-size-small::before {
    width: 16px;
    height: 16px;
}

.icon-list-item.icon-size-medium::before {
    width: 24px;
    height: 24px;
}

.icon-list-item.icon-size-large::before {
    width: 32px;
    height: 32px;
} */

/* Ensure proper alignment in editor */
/* .editor-styles-wrapper .icon-list-item {
    margin-left: 0 !important;
    padding-left: 0 !important;
} */

/* Alignment variants */
.icon-list-item.has-text-align-center {
    justify-items: center;
    text-align: center;
}

.icon-list-item.has-text-align-right {
    justify-items: end;
    text-align: right;
}

/* .icon-list-item > * {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.icon-list-item > *:first-child {
    margin-top: 0;
}

.icon-list-item > *:last-child {
    margin-bottom: 0;
}

.icon-list-item > p:first-child {
    margin-top: 0;
} */

/* Default SVG icons */
/* Check icon */
/* .icon-check::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='currentColor' d='M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z'%3E%3C/path%3E%3C/svg%3E");
}

/* Arrow icon */
/* .icon-arrow::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='currentColor' d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8z'%3E%3C/path%3E%3C/svg%3E");
} */

/* Circle icon */
/* .icon-circle::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Ccircle fill='currentColor' cx='12' cy='12' r='10'%3E%3C/circle%3E%3C/svg%3E");
} */

/* Star icon */
/* .icon-star::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='currentColor' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'%3E%3C/path%3E%3C/svg%3E");
} */

/* Icon sizes */
/* .icon-size-small::before {
    width: 1em;
    height: 1em;
    top: 0.35em;
}

.icon-size-medium::before {
    width: 1.5em;
    height: 1.5em;
}

.icon-size-large::before {
    width: 2em;
    height: 2em;
} */

/* Color classes - basic set */
.icon-color-brand-teal-500::before {
    filter: invert(45%) sepia(40%) saturate(1000%) hue-rotate(150deg) brightness(90%) contrast(90%);
}

.icon-color-blue::before {
    filter: invert(8%) sepia(100%) saturate(6000%) hue-rotate(240deg) brightness(100%) contrast(140%);
}

.icon-color-black::before {
    filter: brightness(0) saturate(100%);
}

.icon-color-white::before {
    filter: brightness(0) saturate(100%) invert(1);
}

/* Text alignment */
.has-text-align-center {
    text-align: center;
}

.has-text-align-right {
    text-align: right;
}

.has-text-align-left {
    text-align: left;
}

/**
 * Base styles for icon list items
 * 
 * Note: Dynamic icons from JSON and theme colors are loaded via PHP
 * This file contains only the base styling structure
 */

/* Base layout for icon list items */
/* .icon-list-item {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 12px;
    align-items: start;
    margin-bottom: 1.5rem;
} */

/* Base icon styling */
/* .icon-list-item::before {
    content: '';
    grid-column: 1;
    display: block;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    height: 24px;
    width: 24px;
    margin-top: 0.25em;
} */

/* These are fallback icons in case the JSON loading fails */
/* Check icon */
.icon-check::before {
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z'%3E%3C/path%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z'%3E%3C/path%3E%3C/svg%3E");
}

/* Arrow icon */
.icon-arrow::before {
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8z'%3E%3C/path%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8z'%3E%3C/path%3E%3C/svg%3E");
}

/* Circle icon */
.icon-circle::before {
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3C/svg%3E");
}

/* Fallback color classes in case theme color loading fails */
.icon-color-brand-teal-500::before {
    background-color: #008080;
}

.icon-color-blue::before {
    background-color: #0000FF;
}

.icon-color-black::before {
    background-color: #000000;
}

.icon-color-white::before {
    background-color: #ffffff;
}

/* Add these classes to ensure compatibility with both saved and rendered HTML */

.wp-block-lwf-icon-list-item,
.icon-list-item {
    display: flex;
    align-items: flex-start;
}

.lwf-icon,
.wp-block-lwf-icon-list-item .lwf-icon {
    flex-shrink: 0;
    margin-right: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Icon sizes */
.lwf-icon-small svg,
.wp-block-lwf-icon-list-item .lwf-icon-small svg {
    width: 16px;
    height: 16px;
}

.lwf-icon-medium svg,
.wp-block-lwf-icon-list-item .lwf-icon-medium svg {
    width: 24px;
    height: 24px;
}

.lwf-icon-large svg,
.wp-block-lwf-icon-list-item .lwf-icon-large svg {
    width: 32px;
    height: 32px;
}

/* Make sure the content takes up remaining space */
.wp-block-lwf-icon-list-item > p,
.icon-list-content {
    margin: 0;
    flex-grow: 1;
}

/* Ensure proper spacing between icons and content */
.wp-block-lwf-icon-list-item > div:first-child {
    margin-right: 10px;
}
