.aiweb-blog > .aiweb-app {
display: flex;
flex-direction: column;
gap: var(--space-6);
padding-block: var(--space-6) var(--space-12);
}
.aiweb-blog__topbar {
display: flex;
flex-direction: column;
gap: var(--space-6);
}
.aiweb-blog__head {
display: flex;
flex-direction: column;
gap: var(--space-1);
}
.aiweb-blog__title {
margin: 0;
font-size: var(--fs-h3);
line-height: var(--lh-h3);
font-weight: var(--fw-semibold);
color: var(--text-primary);
}
.aiweb-blog__subtitle,
.aiweb-blog__desc {
margin: 0;
color: var(--text-secondary);
font-size: var(--fs-body);
line-height: var(--lh-body);
}
.aiweb-blog-filters__list {
display: flex;
gap: var(--space-2);
margin: 0;
padding: var(--space-1) 0;
list-style: none;
overflow-x: auto;
overflow-y: hidden;
scrollbar-width: none;
-webkit-overflow-scrolling: touch;
}
.aiweb-blog-filters__list::-webkit-scrollbar {
display: none;
}
.aiweb-blog-filters__item {
flex: 0 0 auto;
}
.aiweb-blog-filters__chip {
display: inline-flex;
align-items: center;
min-block-size: calc(var(--space-8) + var(--space-1)); 
padding-inline: var(--space-4);
border: 1px solid var(--border);
border-radius: var(--radius-pill);
background-color: var(--surface);
color: var(--text-secondary);
font-size: var(--fs-body);
font-weight: var(--fw-medium);
white-space: nowrap;
}
.aiweb-blog-filters__chip.is-active {
background-color: var(--color-primary);
border-color: var(--color-primary);
color: var(--text-on-primary);
}
.aiweb-blog__hero {
display: block;
}
.aiweb-blog__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--space-4);
margin: 0;
padding: 0;
list-style: none;
}
.aiweb-blog__grid-item {
display: flex; 
}
.aiweb-blog__grid-item > .aiweb-post-card {
inline-size: 100%;
}
.aiweb-pagination {
margin-block-start: var(--space-2);
}
.aiweb-pagination .nav-links {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: var(--space-2);
}
.aiweb-pagination .page-numbers {
display: inline-grid;
place-items: center;
min-inline-size: calc(var(--space-10) + var(--space-1)); 
block-size: calc(var(--space-10) + var(--space-1));
padding-inline: var(--space-2);
border-radius: var(--radius-md);
background-color: var(--surface);
color: var(--text-primary);
box-shadow: var(--shadow-card);
font-size: var(--fs-body);
font-weight: var(--fw-medium);
}
.aiweb-pagination .page-numbers.current {
background-color: var(--color-primary);
color: var(--text-on-primary);
box-shadow: none;
}
.aiweb-pagination .page-numbers.dots {
background-color: transparent;
box-shadow: none;
color: var(--text-muted);
}
.aiweb-blog__empty {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-3);
padding-block: var(--space-12);
text-align: center;
}
.aiweb-blog__empty-icon {
display: grid;
place-items: center;
inline-size: var(--space-16);
block-size: var(--space-16);
border-radius: var(--radius-pill);
background-color: var(--color-primary-soft);
color: var(--color-primary-fg);
}
.aiweb-blog__empty-text {
margin: 0;
color: var(--text-secondary);
font-size: var(--fs-body-lg);
}
@media (min-width: 768px) {
.aiweb-blog .aiweb-app {
max-inline-size: var(--container-max);
padding-inline: var(--space-6);
}
.aiweb-blog__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-5);
}
.aiweb-blog__hero .aiweb-post-card--featured {
display: grid;
grid-template-columns: 1.15fr 1fr;
align-items: stretch;
}
.aiweb-blog__hero .aiweb-post-card--featured .aiweb-post-card__media {
aspect-ratio: auto;
block-size: 100%;
min-block-size: calc(var(--space-16) * 3); 
}
.aiweb-blog__hero .aiweb-post-card--featured .aiweb-post-card__body {
justify-content: center;
gap: var(--space-3);
padding: var(--space-8);
}
.aiweb-blog__hero .aiweb-post-card--featured .aiweb-post-card__title {
font-size: var(--fs-h2);
line-height: var(--lh-h2);
}
}
@media (min-width: 1024px) {
.aiweb-blog__grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.aiweb-blog__topbar {
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: var(--space-8);
}
.aiweb-blog__topbar .aiweb-blog-filters {
flex: 0 0 auto; 
}
}
.aiweb-post__layout {
inline-size: 100%;
max-inline-size: var(--reading-max);
margin-inline: auto;
padding-inline: var(--space-4);
padding-block: var(--space-5) var(--space-12);
}
.aiweb-post__main {
display: flex;
flex-direction: column;
gap: var(--space-10);
min-inline-size: 0;
}
.aiweb-post__sidebar {
display: none; 
}
.aiweb-post__article {
display: flex;
flex-direction: column;
gap: var(--space-4);
}
.aiweb-post-breadcrumbs {
font-size: var(--fs-caption);
line-height: var(--lh-caption);
}
.aiweb-post-breadcrumbs__list {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--space-1) var(--space-2);
margin: 0;
padding: 0;
list-style: none;
}
.aiweb-post-breadcrumbs__item {
display: inline-flex;
align-items: center;
gap: var(--space-1) var(--space-2);
color: var(--text-muted);
}
.aiweb-post-breadcrumbs__item + .aiweb-post-breadcrumbs__item::before {
content: "/";
color: var(--text-muted);
}
.aiweb-post-breadcrumbs__link {
color: var(--text-secondary);
text-decoration: none;
transition: color var(--transition-base);
}
.aiweb-post-breadcrumbs__link:hover {
color: var(--color-primary-fg);
}
.aiweb-post-breadcrumbs__link:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.aiweb-post-breadcrumbs__item--current {
color: var(--text-primary);
font-weight: var(--fw-medium);
}
.aiweb-post__hero {
aspect-ratio: 16 / 9;
overflow: hidden;
border-radius: var(--radius-lg);
background-color: var(--color-primary-soft);
}
.aiweb-post__hero-img {
inline-size: 100%;
block-size: 100%;
object-fit: cover;
display: block;
}
.aiweb-post__title {
margin: 0;
font-size: var(--fs-h1);
line-height: var(--lh-h1);
font-weight: var(--fw-bold);
color: var(--text-primary);
}
.aiweb-post-meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--space-3) var(--space-4);
padding-block: var(--space-3);
border-block: 1px solid var(--border);
color: var(--text-secondary);
font-size: var(--fs-caption);
}
.aiweb-post-meta__author {
display: inline-flex;
align-items: center;
gap: var(--space-2);
text-decoration: none;
color: var(--text-primary);
font-size: var(--fs-body);
font-weight: var(--fw-medium);
}
.aiweb-post-meta__author:hover .aiweb-post-meta__author-name {
color: var(--color-primary-fg);
}
.aiweb-post-meta__avatar {
display: inline-flex;
inline-size: var(--space-10);
block-size: var(--space-10);
border-radius: var(--radius-pill);
overflow: hidden;
background-color: var(--color-primary-soft);
}
.aiweb-post-meta__avatar img {
inline-size: 100%;
block-size: 100%;
object-fit: cover;
display: block;
}
.aiweb-post-meta__item {
display: inline-flex;
align-items: center;
gap: var(--space-1);
}
.aiweb-post-meta__share {
margin-inline-start: auto;
display: inline-flex;
align-items: center;
gap: var(--space-2);
min-block-size: calc(var(--space-10) + var(--space-1)); 
padding-block: var(--space-1);
padding-inline: var(--space-4);
border: 1px solid var(--border);
border-radius: var(--radius-pill);
background-color: var(--surface);
color: var(--text-secondary);
font-family: var(--font-base);
font-size: var(--fs-caption);
font-weight: var(--fw-medium);
cursor: pointer;
transition: color var(--transition-base), border-color var(--transition-base), background-color var(--transition-base);
}
.aiweb-post-meta__share:hover {
color: var(--color-primary-fg);
border-color: var(--color-primary);
}
.aiweb-post-meta__share:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.aiweb-prose {
color: var(--text-primary);
font-size: var(--fs-body);
line-height: var(--lh-body);
overflow-wrap: break-word;
}
.aiweb-prose > * {
margin-block: 0;
}
.aiweb-prose > * + * {
margin-block-start: var(--space-4);
}
.aiweb-prose h2 {
font-size: var(--fs-h2);
line-height: var(--lh-h2);
font-weight: var(--fw-bold);
color: var(--text-primary);
}
.aiweb-prose h3 {
font-size: var(--fs-h3);
line-height: var(--lh-h3);
font-weight: var(--fw-semibold);
color: var(--text-primary);
}
.aiweb-prose h2,
.aiweb-prose h3 {
margin-block-start: var(--space-8);
}
.aiweb-prose ul,
.aiweb-prose ol {
padding-inline-start: var(--space-6);
}
.aiweb-prose li + li {
margin-block-start: var(--space-2);
}
.aiweb-prose blockquote {
margin-inline: 0;
padding-block: var(--space-2);
padding-inline-start: var(--space-4);
border-inline-start: var(--space-1) solid var(--color-primary);
color: var(--text-secondary);
}
.aiweb-prose img {
max-inline-size: 100%;
block-size: auto;
border-radius: var(--radius-lg);
}
.aiweb-prose figure {
margin-inline: 0;
}
.aiweb-prose figcaption {
margin-block-start: var(--space-2);
color: var(--text-muted);
font-size: var(--fs-caption);
text-align: center;
}
.aiweb-prose a {
color: var(--color-primary-fg);
text-decoration: underline;
}
.aiweb-prose a:hover {
color: var(--color-primary);
}
.aiweb-prose code {
padding-block: var(--space-1);
padding-inline: var(--space-2);
background-color: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-sm);
font-size: var(--fs-caption);
direction: ltr;
unicode-bidi: embed;
}
.aiweb-prose pre {
padding: var(--space-4);
background-color: var(--color-ink);
color: var(--text-on-primary);
border-radius: var(--radius-md);
overflow-x: auto;
direction: ltr;
}
.aiweb-prose pre code {
padding: 0;
background-color: transparent;
border: 0;
color: inherit;
font-size: var(--fs-body);
}
.aiweb-prose table {
inline-size: 100%;
border-collapse: collapse;
font-size: var(--fs-caption);
}
.aiweb-prose th,
.aiweb-prose td {
padding-block: var(--space-2);
padding-inline: var(--space-3);
border: 1px solid var(--border);
text-align: start;
}
.aiweb-prose th {
background-color: var(--surface);
font-weight: var(--fw-semibold);
}
.aiweb-prose hr {
border: 0;
border-block-start: 1px solid var(--border);
}
.aiweb-post__pagelinks {
margin-block-start: var(--space-6);
}
.aiweb-related-posts {
display: flex;
flex-direction: column;
gap: var(--space-4);
}
.aiweb-related-posts__swiper {
position: relative;
inline-size: 100%;
min-inline-size: 0;
}
.aiweb-related-posts__slide {
block-size: auto; 
display: flex;
}
.aiweb-related-posts__slide > .aiweb-post-card {
inline-size: 100%;
}
@media (min-width: 768px) {
.aiweb-post__layout {
padding-inline: var(--space-6);
}
.aiweb-post__title {
font-size: calc(var(--fs-h1) + var(--space-1)); 
}
}
.aiweb-prose__product {
display: block;
inline-size: 100%;
}
.aiweb-prose__product > .aiweb-product-card-h {
inline-size: 100%;
}
.aiweb-comments {
display: flex;
flex-direction: column;
gap: var(--space-6);
}
.aiweb-comments__title {
margin: 0;
font-size: var(--fs-h2);
line-height: var(--lh-h2);
font-weight: var(--fw-bold);
color: var(--text-primary);
}
.aiweb-comments__list {
display: flex;
flex-direction: column;
gap: var(--space-4);
margin: 0;
padding: 0;
list-style: none;
}
.aiweb-comments__list .children {
display: flex;
flex-direction: column;
gap: var(--space-4);
margin-block-start: var(--space-4);
padding-inline-start: var(--space-5);
list-style: none;
border-inline-start: 1px solid var(--border);
}
.aiweb-comment__body {
display: flex;
gap: var(--space-3);
padding: var(--space-4);
background-color: var(--surface);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-card);
}
.aiweb-comment__avatar {
flex: 0 0 auto;
}
.aiweb-comment__avatar-img {
display: block;
inline-size: var(--space-12);
block-size: var(--space-12);
border-radius: var(--radius-pill);
}
.aiweb-comment__main {
flex: 1 1 auto;
min-inline-size: 0;
display: flex;
flex-direction: column;
gap: var(--space-2);
}
.aiweb-comment__head {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: var(--space-1) var(--space-3);
}
.aiweb-comment__author {
font-size: var(--fs-body);
font-weight: var(--fw-semibold);
color: var(--text-primary);
}
.aiweb-comment__date {
font-size: var(--fs-caption);
line-height: var(--lh-caption);
color: var(--text-secondary); 
}
.aiweb-comment__moderation {
margin: 0;
font-size: var(--fs-caption);
color: var(--color-primary-fg);
}
.aiweb-comment__content {
color: var(--text-secondary);
font-size: var(--fs-body);
line-height: var(--lh-body);
overflow-wrap: break-word;
}
.aiweb-comment__content > * {
margin-block: 0;
}
.aiweb-comment__content > * + * {
margin-block-start: var(--space-2);
}
.aiweb-comment__actions {
display: inline-flex;
align-items: center;
gap: var(--space-1);
font-size: var(--fs-caption);
font-weight: var(--fw-medium);
}
.aiweb-comment__actions .comment-reply-link {
color: var(--color-primary-fg);
text-decoration: none;
transition: color var(--transition-base);
}
.aiweb-comment__actions .comment-reply-link:hover {
color: var(--color-primary);
}
.aiweb-comment__actions .comment-reply-link:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.aiweb-comments__form-title {
margin: 0 0 var(--space-4);
font-size: var(--fs-h3);
line-height: var(--lh-h3);
font-weight: var(--fw-semibold);
color: var(--text-primary);
}
.aiweb-comments__form {
display: flex;
flex-direction: column;
gap: var(--space-4);
}
.aiweb-comments__field {
display: flex;
flex-direction: column;
gap: var(--space-2);
margin: 0;
}
.aiweb-comments__field label {
font-size: var(--fs-caption);
font-weight: var(--fw-medium);
color: var(--text-secondary);
}
.aiweb-comments__field .required {
color: var(--color-discount);
}
.aiweb-comments__field input,
.aiweb-comments__field textarea {
inline-size: 100%;
padding: var(--space-3);
border: 1px solid var(--border);
border-radius: var(--radius-md);
background-color: var(--surface);
color: var(--text-primary);
font-family: var(--font-base);
font-size: var(--fs-body);
line-height: var(--lh-body);
}
.aiweb-comments__field textarea {
resize: vertical;
min-block-size: calc(var(--space-16) * 2); 
}
.aiweb-comments__field input:focus-visible,
.aiweb-comments__field textarea:focus-visible {
outline: none;
border-color: var(--color-primary);
box-shadow: 0 0 0 2px var(--color-primary-soft);
}
.aiweb-comments__submit {
align-self: flex-start;
}
.aiweb-comments__closed {
margin: 0;
color: var(--text-muted);
font-size: var(--fs-caption);
}
.aiweb-sidebar-block {
display: flex;
flex-direction: column;
gap: var(--space-3);
min-inline-size: 0; 
}
.aiweb-sidebar-block__title {
margin: 0;
font-size: var(--fs-body-lg);
line-height: var(--lh-body);
font-weight: var(--fw-bold);
color: var(--text-primary);
}
.aiweb-sidebar-related__list {
display: flex;
flex-direction: column;
gap: var(--space-3);
margin: 0;
padding: 0;
list-style: none;
}
.aiweb-sidebar-products__swiper {
position: relative;
inline-size: 100%;
min-inline-size: 0;
}
.aiweb-swiper-btn {
position: absolute;
inset-block-start: 50%;
transform: translateY(-50%);
z-index: 2;
display: grid;
place-items: center;
inline-size: calc(var(--space-8) + var(--space-1)); 
block-size: calc(var(--space-8) + var(--space-1));
border: 1px solid var(--border);
border-radius: var(--radius-pill);
background-color: var(--surface);
color: var(--text-primary);
box-shadow: var(--shadow-card);
cursor: pointer;
transition: color var(--transition-base), border-color var(--transition-base);
}
.aiweb-swiper-btn:hover {
color: var(--color-primary-fg);
border-color: var(--color-primary);
}
.aiweb-swiper-btn:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.aiweb-swiper-btn--next {
inset-inline-end: var(--space-2);
}
.aiweb-swiper-btn--prev {
inset-inline-start: var(--space-2);
}
.aiweb-swiper-btn.swiper-button-disabled {
opacity: 0;
pointer-events: none;
}
@media (min-width: 1024px) {
.aiweb-post__layout {
max-inline-size: var(--container-max);
display: grid;
grid-template-columns: minmax(0, 1fr) var(--sidebar-w);
align-items: start;
column-gap: var(--space-8);
}
.aiweb-post__sidebar {
display: flex;
flex-direction: column;
gap: var(--space-6);
min-inline-size: 0; 
position: sticky;
inset-block-start: calc(var(--header-h) + var(--space-4));
}
}
@media (prefers-reduced-motion: reduce) {
.aiweb-post-breadcrumbs__link,
.aiweb-post-meta__share,
.aiweb-comment__actions .comment-reply-link {
transition: none;
}
}
