/* 
 * Pages Module (Inner Pages styling)
 * BEM Architecture
 */

/* --- Default Page Template (page.php) --- */
.pf-page__content { padding: 5rem 0; }
.pf-page__thumbnail-wrap { margin-bottom: 3rem; }
.pf-page__thumbnail-inner { border-radius: 1rem; overflow: hidden; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); }
.pf-page__thumbnail { width: 100%; height: auto; object-fit: cover; }
.pf-page__body { max-width: 100%; }
.pf-page__links { margin-top: 2rem; text-align: center; }
.pf-page__link-number { display: inline-block; padding: 0.5rem 1rem; background-color: var(--pawfect-primary); color: #ffffff; border-radius: 0.25rem; margin: 0 0.25rem; transition: background-color 0.3s; text-decoration: none; }
.pf-page__link-number:hover { opacity: 0.9; }
.pf-page__comments { margin-top: 4rem; }

/* --- Single Post Template (single.php) --- */
.pf-single { background-color: var(--pawfect-bg-background, #f9fafb); }
.pf-single__hero { width: 100%; height: 16rem; }
@media (min-width: 768px) { .pf-single__hero { height: 24rem; } }
@media (min-width: 1024px) { .pf-single__hero { height: 500px; } }
.pf-single__hero-img { width: 100%; height: 100%; object-fit: cover; }
.pf-single__container { padding: 3rem 1.5rem; }
@media (min-width: 768px) { .pf-single__container { padding: 4rem 1.5rem; } }
.pf-single__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 1024px) { 
    .pf-single__grid--with-sidebar { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; } 
}
.pf-single__main--with-sidebar { /* handled by grid layout, optionally span 2 */ }
@media (min-width: 1024px) { 
    .pf-single__main--with-sidebar { grid-column: span 2 / span 2; } 
}
.pf-single__main--full { width: 100%; margin: 0; }
.pf-single__main--order-2 { order: 2; }
.pf-single__sidebar--order-1 { order: 1; }
.pf-single__content { margin-bottom: 2rem; }

/* --- Entry Content Typography (WordPress Standard) --- */
.entry-content { font-size: 1.125rem; line-height: 1.8; color: #374151; }
.entry-content p { margin-bottom: 1.5rem; }
.entry-content p:last-child { margin-bottom: 0; }

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
    font-family: var(--pawfect-font-serif, serif);
    font-weight: 700;
    color: #111827;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    line-height: 1.3;
}
.entry-content h1 { font-size: 2.25rem; }
.entry-content h2 { font-size: 1.875rem; border-bottom: 1px solid #e5e7eb; padding-bottom: 0.5rem; }
.entry-content h3 { font-size: 1.5rem; }
.entry-content h4 { font-size: 1.25rem; }
.entry-content h5 { font-size: 1.125rem; }
.entry-content h6 { font-size: 1rem; }

.entry-content ul, .entry-content ol { margin-bottom: 1.5rem; padding-left: 1.5rem; }
.entry-content ul { list-style-type: disc; }
.entry-content ol { list-style-type: decimal; }
.entry-content li { margin-bottom: 0.5rem; }

.entry-content blockquote {
    border-left: 4px solid var(--pawfect-accent, #3b82f6);
    padding: 1.5rem;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1.5rem;
    font-style: italic;
    color: #4b5563;
    background: #f9fafb;
    border-radius: 0 0.5rem 0.5rem 0;
}

.entry-content a { color: var(--pawfect-accent, #3b82f6); text-decoration: underline; text-underline-offset: 4px; transition: color 0.3s; }
.entry-content a:hover { color: var(--pawfect-primary, #1d4ed8); }

.entry-content img, .entry-content figure { margin-bottom: 2rem; margin-top: 2rem; border-radius: 0.5rem; max-width: 100%; height: auto; }
.entry-content figcaption { text-align: center; font-size: 0.875rem; color: #6b7280; margin-top: 0.5rem; font-style: italic; }

.pf-single__links { margin-top: 2rem; text-align: center; }
.pf-single__link-number { display: inline-block; padding: 0.5rem 1rem; margin: 0 0.25rem; background-color: var(--pawfect-accent, #3b82f6); color: #ffffff; border-radius: 0.25rem; }
.pf-single__tags-wrap { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--pawfect-border-color, #e5e7eb); }
.pf-single__tags-title { font-family: var(--pawfect-font-serif, serif); font-size: 1.125rem; margin-bottom: 1rem; }
.pf-single__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pf-single__tag { display: inline-block; padding: 0.25rem 0.75rem; background-color: var(--pawfect-accent, #3b82f6); color: #ffffff; border-radius: 9999px; font-size: 0.875rem; transition: opacity 0.3s; text-decoration: none; }
.pf-single__tag:hover { opacity: 0.9; }
.pf-single__share { padding: 2rem 0; margin-top: 2rem; border-top: 1px solid var(--pawfect-border-color, #e5e7eb); border-bottom: 1px solid var(--pawfect-border-color, #e5e7eb); display: flex; align-items: center; justify-content: space-between; }
.pf-single__share-title { font-family: var(--pawfect-font-serif, serif); font-size: 1.125rem; margin: 0; }
.pf-single__share-links { display: flex; gap: 1rem; }
.pf-single__share-link { color: var(--pawfect-text-light, #6b7280); transition: color 0.3s; }
.pf-single__share-link:hover { color: var(--pawfect-primary, #1d4ed8); }
.pf-single__sidebar { padding-top: 2rem; }
@media (min-width: 1024px) { .pf-single__sidebar { padding-top: 0; } }
.pf-single__sidebar-inner { position: sticky; top: 2rem; display: flex; flex-direction: column; gap: 1.5rem; }
.pf-single__author { background-color: #ffffff; padding: 1.5rem; border-radius: 0.75rem; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); border: 1px solid #f3f4f6; text-align: center; }
.pf-single__author-avatar { width: 6rem; height: 6rem; border-radius: 9999px; margin: 0 auto; border: 4px solid #ffffff; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); }
.pf-single__author-name { font-family: var(--pawfect-font-serif, serif); font-size: 1.25rem; color: #111827; margin-top: 1rem; margin-bottom: 0.5rem; }
.pf-single__author-desc { font-size: 0.875rem; color: #4b5563; line-height: 1.625; }
.pf-single__related { padding: 4rem 0; border-top: 1px solid var(--pawfect-border-color, #e5e7eb); margin-top: 4rem; }
@media (min-width: 768px) { .pf-single__related { padding: 6rem 0; } }
.pf-single__related-title { text-align: center; font-family: var(--pawfect-font-serif, serif); font-size: 1.875rem; margin-bottom: 3rem; }
@media (min-width: 768px) { .pf-single__related-title { font-size: 2.25rem; } }
.pf-single__related-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px) { .pf-single__related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pf-single__related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pf-single__related-card { background-color: #ffffff; border-radius: 0.5rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); overflow: hidden; display: flex; flex-direction: column; }
.pf-single__related-thumb-wrap { position: relative; overflow: hidden; }
.pf-single__related-link { display: block; }
.pf-single__related-img { width: 100%; height: 16rem; object-fit: cover; transition: transform 0.3s; }
.pf-single__related-link:hover .pf-single__related-img { transform: scale(1.05); }
.pf-single__related-content { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.pf-single__related-cat { font-size: 0.75rem; color: var(--pawfect-text-light, #6b7280); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.5rem; }
.pf-single__related-post-title { font-family: var(--pawfect-font-serif, serif); font-size: 1.25rem; line-height: 1.25; flex: 1; }
.pf-single__related-post-link { color: inherit; text-decoration: none; transition: color 0.3s; }
.pf-single__related-post-link:hover { color: var(--pawfect-accent, #3b82f6); }
.pf-single__comments-section { padding: 4rem 0; }
.pf-single__comments-inner { max-width: 48rem; margin: 0 auto; }

/* --- Blog Archive Template (index.php) --- */
.pf-index__container { padding-top: 3.5rem; padding-bottom: 4rem; }
.pf-index__grid { display: grid; gap: 2.5rem; width: 100%; }
.pf-index__grid--full { width: 100%; margin: 0; }
.pf-index__posts-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; width: 100%; }
.pf-index__pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 3rem; }
.pf-index__page-number { padding: 0.5rem 1rem; border-radius: 0.375rem; color: var(--pawfect-text-light, #6b7280); text-decoration: none; transition: background-color 0.3s; }
.pf-index__page-number:hover { background-color: #ffffff; }
.pf-index__page-number--current { background-color: var(--pawfect-accent, #3b82f6); color: #ffffff; }
.pf-index__no-posts { text-align: center; padding: 4rem 0; }
.pf-index__no-posts-inner { max-width: 28rem; margin: 0 auto; }
.pf-index__no-posts-icon { width: 4rem; height: 4rem; margin: 0 auto 1.5rem; color: #9ca3af; }
.pf-index__no-posts-title { font-size: 1.5rem; font-weight: 700; color: #111827; margin-bottom: 1rem; }
.pf-index__no-posts-desc { color: #4b5563; margin-bottom: 1.5rem; }
.pf-index__main--order-2 { order: 2; }
.pf-index__sidebar--order-1 { order: 1; }

/* --- Custom Blog Template (blog.php) --- */
.pf-blog__container { padding-top: 3rem; padding-bottom: 3rem; }
.pf-blog__grid { display: grid; gap: 2rem; }
@media (min-width: 1024px) { 
    .pf-blog__grid--left-sidebar { grid-template-columns: 300px 1fr; }
    .pf-blog__grid--right-sidebar { grid-template-columns: 1fr 300px; }
}
.pf-blog__main--full { max-width: 56rem; margin: 0 auto; }
.pf-blog__posts--grid-3, .pf-blog__posts--grid-2 { display: grid; gap: 2rem; }
@media (min-width: 768px) {
    .pf-blog__posts--grid-3, .pf-blog__posts--grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .pf-blog__posts--grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.pf-blog__posts--masonry { column-count: 1; column-gap: 2rem; }
@media (min-width: 768px) {
    .pf-blog__posts--masonry { column-count: 2; }
}
.pf-blog__posts--masonry > * { break-inside: avoid; margin-bottom: 2rem; }
.pf-blog__posts--list { display: flex; flex-direction: column; gap: 2rem; }
.pf-blog__pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 3rem; }
.pf-blog__page-number { padding: 0.5rem 1rem; border-radius: 0.375rem; color: var(--pawfect-text-light, #6b7280); text-decoration: none; transition: background-color 0.3s; }
.pf-blog__page-number:hover { background-color: #ffffff; }
.pf-blog__page-number--current { background-color: var(--pawfect-accent, #3b82f6); color: #ffffff; }
.pf-blog__no-posts { text-align: center; padding: 3rem 0; }
.pf-blog__no-posts-title { font-size: 1.5rem; font-weight: 700; color: #111827; margin-bottom: 1rem; }
.pf-blog__no-posts-desc { color: #4b5563; }

/* --- Custom Blog Post Card --- */
.pf-blog__post-card { background-color: #ffffff; border-radius: 0.75rem; overflow: hidden; transition: all 0.3s; }
.pf-blog__post-thumb-wrap { position: relative; overflow: hidden; }
.pf-blog__post-link { display: block; }
.pf-blog__post-img { width: 100%; height: 16rem; object-fit: cover; transition: transform 0.3s; }
.pf-blog__post-card:hover .pf-blog__post-img { transform: scale(1.05); }
.pf-blog__post-content { padding: 1.5rem; }
.pf-blog__post-meta { display: flex; align-items: center; gap: 1rem; font-size: 0.875rem; color: #6b7280; margin-bottom: 0.75rem; }
.pf-blog__post-meta i { margin-right: 0.25rem; }
.pf-blog__post-title { font-size: 1.25rem; font-weight: 700; color: #111827; margin-bottom: 0.75rem; line-height: 1.25; }
.pf-blog__post-title-link { color: inherit; text-decoration: none; transition: color 0.3s; }
.pf-blog__post-title-link:hover { color: var(--pawfect-primary, #1d4ed8); }
.pf-blog__post-excerpt { color: #4b5563; margin-bottom: 1rem; line-height: 1.625; }
.pf-blog__post-read-more { display: inline-flex; align-items: center; color: var(--pawfect-primary, #1d4ed8); font-weight: 500; font-size: 0.875rem; transition: color 0.3s; text-decoration: none; }
.pf-blog__post-read-more:hover { color: var(--pawfect-secondary, #9333ea); }
.pf-blog__post-read-more-icon { width: 1rem; height: 1rem; margin-left: 0.5rem; transition: transform 0.3s; }
.pf-blog__post-read-more:hover .pf-blog__post-read-more-icon { transform: translateX(0.25rem); }

/* --- Archive Template (archive.php) --- */
.pf-archive__container { padding-top: 3rem; padding-bottom: 3rem; }
.pf-archive__grid { display: grid; gap: 2rem; }
@media (min-width: 1024px) {
    .pf-archive__grid--left-sidebar { grid-template-columns: 300px 1fr; }
    .pf-archive__grid--right-sidebar { grid-template-columns: 1fr 300px; }
}
.pf-archive__header { margin-bottom: 2rem; text-align: center; }
.pf-archive__title { font-size: 1.875rem; font-weight: 700; color: #111827; margin-bottom: 1rem; }
.pf-archive__desc { color: #4b5563; max-width: 42rem; margin: 0 auto; }
.pf-archive__posts-grid { display: grid; gap: 2rem; }
@media (min-width: 768px) {
    .pf-archive__posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .pf-archive__posts-grid--3-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pf-archive__posts-grid--2-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pf-archive__pagination { margin-top: 3rem; text-align: center; }
.pf-archive__pagination-links .nav-links { display: flex; justify-content: center; align-items: center; gap: 0.5rem; }
.pf-archive__pagination-links .page-numbers { display: inline-block; padding: 0.5rem 1rem; border-radius: 0.375rem; color: #4b5563; text-decoration: none; transition: background-color 0.3s; }
.pf-archive__pagination-links .page-numbers.current, .pf-archive__pagination-links .page-numbers:hover { background-color: var(--pawfect-primary, #1d4ed8); color: #ffffff; }
.pf-archive__no-posts { text-align: center; padding: 4rem 0; }
.pf-archive__no-posts-inner { max-width: 28rem; margin: 0 auto; }
.pf-archive__no-posts-title { font-size: 1.5rem; font-weight: 700; color: #111827; margin-bottom: 1rem; }
.pf-archive__no-posts-desc { color: #4b5563; margin-bottom: 1.5rem; }

/* --- Comments Template (comments.php) --- */
.pf-comments__title { font-family: var(--pawfect-font-serif, serif); font-size: 1.875rem; margin-bottom: 2rem; }
@media (min-width: 768px) { .pf-comments__title { font-size: 2.25rem; } }
.pf-comments__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2rem; }
.pf-comments__list .children { list-style: none; padding-left: 2rem; margin-top: 1.5rem; display: flex; flex-direction: column; gap: 1.5rem; position: relative; }
@media (min-width: 768px) { 
    .pf-comments__list .children { padding-left: 4.5rem; } 
}
.pf-comments__nav { display: flex; justify-content: space-between; margin-top: 2rem; }
.pf-comments__closed { color: #6b7280; font-style: italic; margin-top: 2rem; }
.pf-comments__field { margin-bottom: 1.5rem; }
.pf-comments__label { display: block; margin-bottom: 0.5rem; font-weight: 700; }
.pf-comments__textarea, .pf-comments__input { width: 100%; padding: 1.25rem; border: 1px solid var(--pawfect-border-color, #e5e7eb); background-color: #f9fafb; border-radius: 0.75rem; outline: none; transition: all 0.3s ease; font-size: 1rem; color: #111827; }
.pf-comments__textarea:focus, .pf-comments__input:focus { background-color: #ffffff; box-shadow: 0 4px 20px rgba(0,0,0,0.05), 0 0 0 2px var(--pawfect-accent, #3b82f6); border-color: transparent; }
.pf-comments__fields-grid { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .pf-comments__fields-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pf-comments__form { display: flex; flex-direction: column; gap: 1.5rem; }
.pf-comments__reply-header { margin-top: 4rem; padding-top: 3rem; }
.pf-comments__reply-title { font-family: var(--pawfect-font-serif, serif); font-size: 1.875rem; margin-bottom: 1rem; }
@media (min-width: 768px) { .pf-comments__reply-title { font-size: 2.25rem; } }
.pf-comments__reply-note { color: var(--pawfect-text-light, #6b7280); margin-bottom: 2rem; }

/* --- Page Header Template (page-header.php) --- */
.pf-page-header { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: var(--pawfect-page-header-height, 350px); padding: 4rem 1.5rem; }
.pf-page-header__overlay { position: absolute; inset: 0; }
.pf-page-header__inner { position: relative; z-index: 10; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; max-width: 900px; margin: 0 auto; text-shadow: 0 2px 20px rgba(0,0,0,0.15); }
.pf-page-header__breadcrumbs-list { display: flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 0.875rem; opacity: 0.9; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; font-weight: 500; }
.pf-page-header__breadcrumbs-link { color: inherit; text-decoration: none; transition: opacity 0.3s; }
.pf-page-header__breadcrumbs-link:hover { opacity: 0.7; }
.pf-page-header__meta-text { font-weight: 500; color: inherit; }
.pf-page-header__breadcrumbs-separator { opacity: 0.6; display: flex; align-items: center; }

/* Premium Underline Animation for Header Links */
.pf-page-header__breadcrumbs-link,
.pf-page-header__meta-text a {
    position: relative;
    text-decoration: none !important;
}

.pf-page-header__breadcrumbs-link::after,
.pf-page-header__meta-text a::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: -2px;
    left: 0;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.pf-page-header__breadcrumbs-link:hover::after,
.pf-page-header__meta-text a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.pf-page-header__title { font-family: var(--pawfect-font-serif, serif); font-size: 2.5rem; font-weight: 700; margin: 0; color: inherit; line-height: 1.2; }
@media (min-width: 768px) { .pf-page-header__title { font-size: 3.5rem; } }
@media (min-width: 1024px) { .pf-page-header__title { font-size: 4rem; } }
.pf-page-header__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.5rem; opacity: 0.95; margin-top: 1.5rem; font-size: 0.95rem; }
.pf-page-header__meta--blog { margin-bottom: 1.5rem; }
.pf-page-header__meta-item { display: flex; align-items: center; gap: 0.5rem; }
.pf-page-header__meta-icon { width: 1.25rem; height: 1.25rem; }



/* --- Post Single (content-single.php) --- */
.pf-post-single__content-wrap { padding: 3rem; padding-bottom: 2rem; }
@media (min-width: 768px) { .pf-post-single__content-wrap { padding: 4rem; padding-bottom: 2rem; } }
.pf-post-single__page-links { margin-top: 3rem; text-align: center; padding: 1.5rem; background-color: #f9fafb; border-radius: 0.75rem; }
.pf-post-single__page-links-title { font-weight: 600; color: #374151; margin-right: 1rem; }
.pf-post-single__page-number { display: inline-block; padding: 0.5rem 1rem; margin: 0 0.25rem; background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: 0.5rem; font-size: 0.875rem; font-weight: 500; transition: all 0.3s; }
.pf-post-single__page-number:hover { background-color: var(--pawfect-primary, #1d4ed8); color: #ffffff; border-color: var(--pawfect-primary, #1d4ed8); }
.pf-post-single__tags-section { padding: 0 3rem 2rem; }
@media (min-width: 768px) { .pf-post-single__tags-section { padding: 0 4rem 2rem; } }
.pf-post-single__tags-inner, .pf-post-single__author-section > .pf-post-single__tags-inner { border-top: 1px solid #f3f4f6; padding-top: 2rem; }
.pf-post-single__section-title { font-size: 0.875rem; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1rem; }
.pf-post-single__tags-list { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.pf-post-single__tag { display: inline-block; padding: 0.5rem 1rem; background-color: #f9fafb; color: #374151; border-radius: 9999px; font-size: 0.875rem; font-weight: 500; border: 1px solid transparent; transition: all 0.3s; text-decoration: none; }
.pf-post-single__tag:hover { background-color: var(--pawfect-primary, #1d4ed8); color: #ffffff; border-color: var(--pawfect-primary, #1d4ed8); }
.pf-post-single__author-section { padding: 0 3rem 2rem; }
@media (min-width: 768px) { .pf-post-single__author-section { padding: 0 4rem 2rem; } }
.pf-post-single__author-card { background: linear-gradient(to right, #f9fafb, #f3f4f6); padding: 2rem; border-radius: 1rem; }
.pf-post-single__author-card-inner { display: flex; align-items: flex-start; gap: 1.5rem; }
.pf-post-single__author-avatar-wrap { flex-shrink: 0; }
.pf-post-single__author-avatar { border-radius: 9999px; border: 4px solid #ffffff; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); width: 80px; height: 80px; }
.pf-post-single__author-info { flex: 1; }
.pf-post-single__author-name { font-size: 1.25rem; font-weight: 700; color: #111827; margin-bottom: 0.75rem; }
.pf-post-single__author-desc { color: #4b5563; line-height: 1.625; font-size: 1.125rem; }
.pf-post-single__author-links { margin-top: 1rem; }
.pf-post-single__author-link { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--pawfect-primary, #1d4ed8); font-weight: 600; transition: color 0.3s; text-decoration: none; }
.pf-post-single__author-link:hover { color: var(--pawfect-secondary, #9333ea); }
.pf-post-single__author-icon { width: 1rem; height: 1rem; }
.pf-post-single__nav-section { padding: 0 3rem 3rem; }
@media (min-width: 768px) { .pf-post-single__nav-section { padding: 0 4rem 3rem; } }
.pf-post-single__nav-title { font-size: 0.875rem; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1.5rem; text-align: center; }
.pf-post-single__nav-grid { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .pf-post-single__nav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pf-post-single__nav-link { display: block; background: linear-gradient(to bottom right, #f9fafb, #f3f4f6); padding: 1.5rem; border-radius: 0.75rem; transition: all 0.5s; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); text-decoration: none; }
.pf-post-single__nav-link:hover { background: var(--pawfect-primary, #1d4ed8); transform: scale(1.05); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); color: #ffffff; }
.pf-post-single__nav-link--next { background: linear-gradient(to bottom left, #f9fafb, #f3f4f6); }
.pf-post-single__nav-meta { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.75rem; }
.pf-post-single__nav-meta--end { justify-content: flex-end; }
.pf-post-single__nav-icon-wrap { width: 2.5rem; height: 2.5rem; background-color: #ffffff; border-radius: 9999px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); transition: all 0.3s; }
.pf-post-single__nav-link:hover .pf-post-single__nav-icon-wrap { background-color: #ffffff; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); }
.pf-post-single__nav-icon { width: 1.25rem; height: 1.25rem; color: var(--pawfect-primary, #1d4ed8); }
.pf-post-single__nav-label { font-size: 0.875rem; font-weight: 600; color: #4b5563; text-transform: uppercase; letter-spacing: 0.05em; transition: color 0.3s; }
.pf-post-single__nav-link:hover .pf-post-single__nav-label { color: #ffffff; }
.pf-post-single__nav-post-title { font-size: 1.125rem; font-weight: 700; color: #111827; line-height: 1.25; transition: color 0.3s; margin: 0; }
.pf-post-single__nav-post-title--right { text-align: right; }
.pf-post-single__nav-link:hover .pf-post-single__nav-post-title { color: #ffffff; }
.pf-post-single__nav-empty { background-color: #f3f4f6; padding: 1.5rem; border-radius: 0.75rem; opacity: 0.5; }
.pf-post-single__nav-empty-inner { text-align: center; color: #9ca3af; }
.pf-post-single__nav-empty-icon-wrap { width: 2.5rem; height: 2.5rem; background-color: #e5e7eb; border-radius: 9999px; display: flex; align-items: center; justify-content: center; margin: 0 auto 0.75rem; }
.pf-post-single__nav-empty-icon { width: 1.25rem; height: 1.25rem; }
.pf-post-single__nav-empty-text { font-size: 0.875rem; font-weight: 500; }

/* --- About Page (Vanilla BEM Architecture) --- */
.pf-about__content,
.pf-page-about__content,
.pawfect-about-content { 
    padding: 5rem 0; 
    background-color: var(--pawfect-background, #ffffff);
}

.pf-about__container,
.pawfect-about-page .pawfect-container,
.pf-page-about__content .pawfect-container {
    max-width: var(--pf-container-width, 1400px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.pf-about__grid,
.pf-page-about__grid { 
    display: grid; 
    gap: 3rem; 
    align-items: center; 
}

@media (min-width: 992px) { 
    .pf-about__grid,
    .pf-page-about__grid { 
        grid-template-columns: 1fr 1fr; 
        gap: 4.5rem; 
        align-items: center;
    } 
}

.pf-about__img-wrap,
.pf-page-about__img-wrap { 
    position: relative;
    border-radius: 1.5rem; 
    overflow: hidden; 
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(0, 0, 0, 0.08); 
    width: 100%;
    max-height: 500px;
}

.pf-about__img,
.pf-page-about__img { 
    width: 100%; 
    height: 100%;
    max-height: 500px;
    object-fit: cover; 
    display: block;
    border-radius: 1.5rem;
    transition: transform 0.5s ease;
}

.pf-about__img-wrap:hover .pf-about__img,
.pf-page-about__img-wrap:hover .pf-page-about__img {
    transform: scale(1.03);
}

.pf-about__text,
.pf-page-about__text { 
    color: #4b5563; 
    font-size: 1.0625rem; 
    line-height: 1.75; 
    display: flex; 
    flex-direction: column; 
    justify-content: center;
}

.pf-about__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.pf-about__badge-line {
    width: 1.5rem;
    height: 1px;
    background-color: var(--pawfect-primary, #F4A259);
}

.pf-about__badge-text {
    color: var(--pawfect-primary, #F4A259);
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.pf-about__title,
.pf-page-about__text h1,
.pf-page-about__text h2,
.pf-page-about__text h3 {
    font-size: 2.25rem;
    font-weight: 800;
    color: #111827;
    line-height: 1.25;
    margin-top: 0;
    margin-bottom: 1.25rem;
    letter-spacing: -0.025em;
}

@media (min-width: 768px) {
    .pf-about__title,
    .pf-page-about__text h1,
    .pf-page-about__text h2,
    .pf-page-about__text h3 {
        font-size: 2.5rem;
    }
}

.pf-about__body,
.pf-about__text p,
.pf-page-about__text p {
    color: #4b5563;
    font-size: 1.0625rem;
    line-height: 1.75;
    margin-bottom: 1.25rem;
}

.pf-about__body p:last-child,
.pf-about__text p:last-child,
.pf-page-about__text p:last-child {
    margin-bottom: 0;
}

/* --- Contact Page (page-contact.php) --- */
.pf-page-contact { background-color: #f9fafb; }
.pf-page-contact__section { padding-top: 5rem; padding-bottom: 5rem; }
.pf-page-contact__content-wrap { max-width: 56rem; margin-left: auto; margin-right: auto; margin-bottom: 3rem; }
.pf-page-contact__content { background-color: #ffffff; padding: 2rem; border-radius: 1rem; border: 1px solid #f3f4f6; color: #4b5563; font-size: 1.125rem; line-height: 1.625; display: flex; flex-direction: column; gap: 1.5rem; }
.pf-page-contact__grid { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .pf-page-contact__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pf-page-contact__sidebar { grid-column: span 1 / span 1; display: flex; flex-direction: column; gap: 2rem; } }
.pf-page-contact__info-card { background-color: #ffffff; padding: 2rem; border-radius: 1rem; border: 1px solid #e5e7eb; position: relative; overflow: hidden; }
.pf-page-contact__info-bg-shape { position: absolute; top: 0; right: 0; width: 8rem; height: 8rem; background-color: var(--pawfect-primary, #1d4ed8); opacity: 0.05; border-bottom-left-radius: 9999px; }
.pf-page-contact__info-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 2rem; color: #111827; }
.pf-page-contact__info-list { list-style: none; padding: 0; margin: 0; position: relative; z-index: 10; display: flex; flex-direction: column; gap: 1.5rem; }
.pf-page-contact__info-item { display: flex; align-items: flex-start; }
.pf-page-contact__info-icon-wrap { flex-shrink: 0; width: 3rem; height: 3rem; background-color: rgba(var(--pawfect-primary-rgb, 29, 78, 216), 0.1); color: var(--pawfect-primary, #1d4ed8); border-radius: 9999px; display: flex; align-items: center; justify-content: center; margin-right: 1rem; transition: transform 0.3s; }
.pf-page-contact__info-item:hover .pf-page-contact__info-icon-wrap { transform: scale(1.1); }
.pf-page-contact__info-icon { font-size: 1.25rem; }
.pf-page-contact__info-label { font-weight: 600; color: #111827; margin-bottom: 0.25rem; }
.pf-page-contact__info-text { color: #4b5563; font-size: 0.875rem; line-height: 1.625; }
.pf-page-contact__info-link { color: inherit; text-decoration: none; transition: color 0.3s; }
.pf-page-contact__info-link:hover { color: var(--pawfect-primary, #1d4ed8); }
@media (min-width: 1024px) { .pf-page-contact__form-area { grid-column: span 2 / span 2; } }
.pf-page-contact__form-card { background-color: #ffffff; padding: 2rem; border-radius: 1rem; border: 1px solid #e5e7eb; height: 100%; }
@media (min-width: 640px) { .pf-page-contact__form-card { padding: 2.5rem; } }
.pf-page-contact__form-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 1.5rem; color: #111827; }
.pf-page-contact__form-empty { background-color: #ffffff; padding: 2.5rem; border-radius: 1rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); border: 1px solid #f3f4f6; display: flex; align-items: center; justify-content: center; height: 100%; }
.pf-page-contact__form-empty-text { color: #6b7280; text-align: center; }
.pf-page-contact__map { width: 100%; height: 400px; filter: grayscale(100%); transition: all 0.7s; }
@media (min-width: 640px) { .pf-page-contact__map { height: 500px; } }
.pf-page-contact__map:hover { filter: grayscale(0%); }

/* --- Wishlist Page (page-wishlist.php) --- */
.pf-page-wishlist { background-color: var(--pawfect-background, #fdfbf7); min-height: 100vh; }
.pf-page-wishlist__container { padding: 3.5rem 1.5rem 5rem 1.5rem; margin-left: auto; margin-right: auto; max-width: var(--pf-container-width, 1400px); width: 100%; box-sizing: border-box; }
.pf-page-wishlist__content-wrap { max-width: 100%; margin-left: auto; margin-right: auto; width: 100%; }
.pf-page-wishlist__header { text-align: center; margin-bottom: 2.5rem; }
.pf-page-wishlist__title { font-size: 2.25rem; font-weight: 800; color: #111827; margin-bottom: 0.5rem; letter-spacing: -0.02em; }
@media (min-width: 768px) { .pf-page-wishlist__title { font-size: 2.5rem; } }
.pf-page-wishlist__subtitle { color: #64748b; font-size: 1.0625rem; }
.pf-page-wishlist__table-card { background-color: #ffffff; border-radius: 1rem; border: 1px solid #e2e8f0; overflow: hidden; margin-bottom: 2.5rem; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04); }
.pf-page-wishlist__table-wrap { overflow-x: auto; width: 100%; }
.pf-page-wishlist__table { width: 100%; min-width: 650px; table-layout: auto; border-collapse: collapse; }
.pf-page-wishlist__thead { background-color: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.pf-page-wishlist__th { padding: 1rem 1.25rem; text-align: left; font-size: 0.8125rem; font-weight: 700; color: #475569; text-transform: uppercase; letter-spacing: 0.05em; }
.pf-page-wishlist__th--center { text-align: center; }
.pf-page-wishlist__tr { transition: background-color 0.2s; }
.pf-page-wishlist__tr:hover { background-color: #f8fafc; }
tr.pawfect-wishlist-item { display: table-row; }
.pf-page-wishlist__td { padding: 1.125rem 1.25rem; vertical-align: middle; border-bottom: 1px solid #f1f5f9; }
.pf-page-wishlist__td--wrap { white-space: normal; }
.pf-page-wishlist__td--center { text-align: center; }
.pf-page-wishlist__img-wrap { position: relative; width: 4rem; height: 4rem; border-radius: 0.5rem; overflow: hidden; background-color: #f8fafc; border: 1px solid #e2e8f0; }
.pf-page-wishlist__remove-btn { position: absolute; top: -0.25rem; right: -0.25rem; background-color: #ef4444; color: #ffffff; border-radius: 9999px; width: 1.35rem; height: 1.35rem; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; opacity: 0; transition: opacity 0.3s; cursor: pointer; border: none; z-index: 5; }
.pf-page-wishlist__img-wrap:hover .pf-page-wishlist__remove-btn { opacity: 1; }
.pf-page-wishlist__product-name { font-size: 0.9375rem; font-weight: 600; color: #111827; }
.pf-page-wishlist__product-link { color: inherit; text-decoration: none; transition: color 0.2s; }
.pf-page-wishlist__product-link:hover { color: var(--pawfect-primary, #F4A259); }
.pf-page-wishlist__product-price { font-size: 0.9375rem; font-weight: 700; color: var(--pawfect-primary, #F4A259); }
.pf-page-wishlist__stock-badge { display: inline-flex; align-items: center; padding: 0.2rem 0.625rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; }
.pf-page-wishlist__stock-badge--in { background-color: #dcfce7; color: #15803d; }
.pf-page-wishlist__stock-badge--out { background-color: #fee2e2; color: #b91c1c; }
.pf-page-wishlist__td .button,
.pf-page-wishlist__td .pf-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.625rem 1.35rem !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  border-radius: var(--pf-btn-radius, 0.5rem) !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
}

/* Hide duplicate WooCommerce auto-injected "View cart" box in wishlist table */
.pf-page-wishlist .added_to_cart,
.pawfect-wishlist-item .added_to_cart,
.pf-page-wishlist__td .added_to_cart {
  display: none !important;
}

.pf-page-wishlist__actions { text-align: center; margin-top: 2rem; }
.pf-btn__icon { width: 1.25rem; height: 1.25rem; display: inline-block; vertical-align: middle; margin-right: 0.5rem; }
.pf-page-wishlist__empty { text-align: center; padding: 4rem 0; }
.pf-page-wishlist__empty-inner { max-width: 28rem; margin: 0 auto; }
.pf-page-wishlist__empty-icon { width: 6rem; height: 6rem; margin: 0 auto 1.5rem; color: #d1d5db; }
.pf-page-wishlist__empty-title { font-size: 1.5rem; font-weight: 700; color: #111827; margin-bottom: 1rem; }
.pf-page-wishlist__empty-desc { color: #4b5563; margin-bottom: 2rem; }

/* --- Blog Grid Template (blog-grid.php) --- */
.pf-blog-grid__container { padding-top: 3rem; padding-bottom: 3rem; }
.pf-blog-grid__content { margin-bottom: 3rem; text-align: center; }
.pf-blog-grid__content-inner { max-width: 48rem; margin: 0 auto; }
.pf-blog-grid__grid { display: grid; gap: 2rem; }
@media (min-width: 768px) { .pf-blog-grid__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pf-blog-grid__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pf-blog-grid__pagination { margin-top: 3rem; text-align: center; }
.pf-blog-grid__pagination-links .page-numbers { display: inline-block; padding: 0.5rem 1rem; border-radius: 0.375rem; color: #4b5563; text-decoration: none; transition: background-color 0.3s; margin: 0 0.25rem; }
.pf-blog-grid__pagination-links .page-numbers.current, .pf-blog-grid__pagination-links .page-numbers:hover { background-color: var(--pawfect-primary, #1d4ed8); color: #ffffff; }
.pf-blog-grid__no-posts { text-align: center; padding: 4rem 0; }
.pf-blog-grid__no-posts-inner { max-width: 28rem; margin: 0 auto; }
.pf-blog-grid__no-posts-title { font-size: 1.5rem; font-weight: 700; color: #111827; margin-bottom: 1rem; }
.pf-blog-grid__no-posts-desc { color: #4b5563; margin-bottom: 1.5rem; }

/* --- WooCommerce Wishlist (page-wishlist.php) --- */
.pf-page-wishlist__tbody { background-color: #ffffff; }
.pf-page-wishlist__tbody > tr:not(:last-child) > td { border-bottom: 1px solid #e5e7eb; }

/* --- Page Header Breadcrumb Current --- */
.pf-page-header__breadcrumb-current { font-weight: 500; color: var(--pawfect-accent, #3b82f6); }

/* --- Header & Footer Remaining Utilities --- */
.pf-nav-notice__link { color: var(--pawfect-primary, #1d4ed8); }
.pf-nav-notice__link:hover { text-decoration: underline; }
.pf-header__no-menu-wrap { padding: 1.5rem; text-align: center; color: #6b7280; }
.pf-header__no-menu-icon { width: 3rem; height: 3rem; margin-left: auto; margin-right: auto; margin-bottom: 1rem; color: #d1d5db; }
.pf-header__menu-item { position: relative; }
.pf-header__nav-link { font-weight: 700; transition: color 0.2s; }
.pf-header__nav-link:hover { color: var(--pawfect-primary, #1d4ed8); }
.pf-footer__social-link { color: #9ca3af; transition: color 0.2s; font-size: 1.125rem; }
.pf-footer__social-link:hover { color: #4b5563; }
.pf-footer__social-icon { font-size: 1.125rem; }

/* --- Cart, Checkout, My Account Page Wrappers --- */
.pf-page-cart__main, .pf-page-checkout__main, .pf-page-my-account__main { background-color: var(--pawfect-background, #fdfbf7); min-height: 100vh; }
.pf-page-cart__container { padding-top: 3rem; padding-bottom: 3rem; max-width: 1360px; margin-left: auto; margin-right: auto; }
@media (min-width: 768px) { .pf-page-cart__container { padding-top: 4rem; padding-bottom: 4rem; } }
.pf-page-checkout__container { padding-top: 2rem; padding-bottom: 3rem; max-width: 1360px; margin-left: auto; margin-right: auto; }
@media (min-width: 768px) { .pf-page-checkout__container { padding-top: 3rem; padding-bottom: 6rem; } }
.pf-page-my-account__header-wrap { background-color: #ffffff; border-bottom: 1px solid #e5e7eb; }
.pf-page-my-account__header-container { padding-top: 2rem; padding-bottom: 2rem; }
.pf-page-my-account__header-content { text-align: center; }
.pf-page-my-account__title { font-size: 1.875rem; line-height: 2.25rem; font-weight: 700; color: #111827; margin-bottom: 0.5rem; }
.pf-page-my-account__desc { color: #4b5563; }
.pf-page-my-account__container { padding-top: 3rem; padding-bottom: 3rem; }
.pf-page-my-account__card { background-color: #ffffff; border-radius: 0.5rem; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); overflow: hidden; }
.pf-page-my-account__mobile-nav { display: block; padding: 1rem; border-bottom: 1px solid #e5e7eb; }
@media (min-width: 768px) { .pf-page-my-account__mobile-nav { display: none; } }
.pf-page-my-account__mobile-nav-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; text-align: left; font-weight: 500; color: #111827; }
.pf-page-my-account__mobile-nav-icon { width: 1.25rem; height: 1.25rem; transition: transform 0.3s; }
.pf-page-my-account__layout { display: flex; flex-direction: column; }
@media (min-width: 768px) { .pf-page-my-account__layout { flex-direction: row; } }
.pf-page-my-account__sidebar { width: 100%; background-color: #f9fafb; border-right: 1px solid #e5e7eb; display: none; }
@media (min-width: 768px) { .pf-page-my-account__sidebar { width: 25%; display: block; } }
.pf-page-my-account__content { flex: 1; padding: 1.5rem; }
@media (min-width: 768px) { .pf-page-my-account__content { padding: 2rem; } }

/* --- Sidebar, Single, and Comments Utilities (Vanilla BEM Architecture) --- */
.pf-single-post__share-link { color: #6b7280; transition: color 0.2s; }
.pf-single-post__share-link:hover { color: var(--pawfect-accent, #3b82f6); }

/* ==========================================================================
   Blog Sidebar & Widget Styling
   ========================================================================== */
.pawfect-blog-sidebar,
.pf-sidebar {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.pawfect-blog-sidebar .widget,
.pf-sidebar .widget,
.pf-sidebar__widget,
.pawfect-blog-sidebar-widgets > div {
    background-color: #ffffff;
    padding: 2rem;
    border-radius: 1.25rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: none;
    margin-bottom: 2rem;
    transition: border-color 0.3s ease;
}

.pawfect-blog-sidebar .widget:hover,
.pf-sidebar .widget:hover,
.pf-sidebar__widget:hover {
    border-color: rgba(0, 0, 0, 0.14);
}

/* Widget Headings */
.pawfect-blog-sidebar .widget-title,
.pawfect-blog-sidebar .widgettitle,
.pawfect-blog-sidebar h2,
.pawfect-blog-sidebar h3,
.pf-sidebar .widget-title,
.pf-sidebar .widgettitle,
.pf-sidebar h2,
.pf-sidebar h3,
.pf-sidebar__title,
.pawfect-widget-title {
    font-size: 1.125rem !important;
    font-weight: 800 !important;
    color: #111827 !important;
    margin-top: 0 !important;
    margin-bottom: 1.25rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 2px solid var(--pawfect-primary, #F4A259) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

/* Widget Lists (Recent Posts, Categories, Archives) */
.pawfect-blog-sidebar ul,
.pf-sidebar ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
}

.pawfect-blog-sidebar ul li,
.pf-sidebar ul li {
    font-size: 0.9375rem !important;
    line-height: 1.5 !important;
    color: #4b5563 !important;
    border-bottom: 1px dashed #e5e7eb;
    padding-bottom: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pawfect-blog-sidebar ul li:last-child,
.pf-sidebar ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.pawfect-blog-sidebar ul li a,
.pf-sidebar ul li a {
    color: #1f2937 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.pawfect-blog-sidebar ul li a:hover,
.pf-sidebar ul li a:hover {
    color: var(--pawfect-primary, #F4A259) !important;
}

/* Latest Comments Override */
.wp-block-latest-comments,
.widget_recent_comments ul {
    background: transparent !important;
}

.wp-block-latest-comments__comment,
.widget_recent_comments li {
    background-color: #f9fafb !important;
    padding: 0.85rem 1rem !important;
    border-radius: 0.75rem !important;
    border: 1px solid #f3f4f6 !important;
    color: #4b5563 !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
}

.wp-block-latest-comments__comment a,
.widget_recent_comments a {
    color: var(--pawfect-primary, #F4A259) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Sidebar Search Form */
.pawfect-blog-sidebar .search-form,
.pawfect-blog-sidebar .wp-block-search,
.pf-sidebar .search-form,
.pf-sidebar .wp-block-search {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.pawfect-blog-sidebar input[type="search"],
.pawfect-blog-sidebar .wp-block-search__input,
.pf-sidebar input[type="search"] {
    flex: 1 !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0.5rem !important;
    border: 1px solid #e5e7eb !important;
    background-color: #f9fafb !important;
    font-size: 0.875rem !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
}

.pawfect-blog-sidebar input[type="search"]:focus,
.pf-sidebar input[type="search"]:focus {
    border-color: var(--pawfect-primary, #F4A259) !important;
    background-color: #ffffff !important;
}

.pawfect-blog-sidebar button[type="submit"],
.pawfect-blog-sidebar .wp-block-search__button,
.pf-sidebar button[type="submit"] {
    padding: 0.75rem 1.25rem !important;
    background-color: var(--pawfect-primary, #F4A259) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0.5rem !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
}

.pawfect-blog-sidebar button[type="submit"]:hover,
.pf-sidebar button[type="submit"]:hover {
    opacity: 0.9 !important;
}

.pf-comment__avatar { width: 3.5rem; height: 3.5rem; border-radius: 9999px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
@media (min-width: 768px) { .pf-comment__avatar { width: 4.5rem; height: 4.5rem; } }
.pf-comment__body { display: flex; gap: 1.5rem; padding-bottom: 2rem; border-bottom: 1px solid var(--pawfect-border-color, #e5e7eb); }
.pf-comment__content-wrap { flex: 1; }
.pf-comment__header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1rem; }
.pf-comment__author { font-weight: 700; font-size: 1.25rem; margin: 0 0 0.25rem 0; color: #111827; }
.pf-comment__badge-author { margin-left: 0.75rem; font-size: 0.65rem; letter-spacing: 0.05em; font-weight: 700; font-family: sans-serif; text-transform: uppercase; background-color: var(--pawfect-accent, #3b82f6); color: #ffffff; padding: 0.25rem 0.6rem; border-radius: 9999px; vertical-align: middle; }
.pf-comment__meta { font-size: 0.85rem; color: #9ca3af; margin: 0; font-weight: 500; }
.pf-comment__reply-link { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--pawfect-accent, #3b82f6); padding: 0.5rem 1rem; background-color: rgba(59, 130, 246, 0.1); border-radius: 9999px; transition: all 0.3s ease; text-decoration: none; display: inline-block; }
.pf-comment__reply-link:hover { background-color: var(--pawfect-accent, #3b82f6); color: #ffffff; text-decoration: none; }
.pf-comment__awaiting-msg { font-size: 0.875rem; color: #d97706; font-style: italic; margin-top: 0.5rem; background: #fef3c7; padding: 0.5rem 1rem; border-radius: 0.5rem; display: inline-block; }
.pf-comment__text { margin-top: 0.75rem; color: #4b5563; line-height: 1.7; font-size: 1rem; }
.pf-comment__text p:last-child { margin-bottom: 0; }

/* ==========================================================================
   Blog Post Card Styling (Vanilla BEM Architecture)
   ========================================================================== */
.pf-index__container {
    padding-top: 4rem;
    padding-bottom: 5rem;
}

.pf-index__grid,
.pf-archive__grid {
    display: grid;
    gap: 3.5rem;
    width: 100%;
}

.pf-index__grid--full {
    grid-template-columns: 1fr;
}

@media (min-width: 992px) {
    .pf-index__grid--with-sidebar,
    .pf-archive__grid--right-sidebar {
        grid-template-columns: minmax(0, 1fr) 360px !important;
    }
    .pf-archive__grid--left-sidebar {
        grid-template-columns: 360px minmax(0, 1fr) !important;
    }
}

.pf-index__main,
.pf-archive__main {
    min-width: 0;
    width: 100%;
}

.pf-index__sidebar,
.pf-archive__sidebar {
    min-width: 0;
    width: 100%;
}

.pf-index__posts-grid {
    display: grid;
    gap: 2.5rem;
    width: 100%;
}

@media (min-width: 768px) {
    .pf-index__posts-grid--2-cols {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .pf-index__posts-grid--3-cols {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Post Card Container (Solid White Boxed by default) */
.pf-post-card {
    background-color: #ffffff;
    border-radius: 1.25rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: border-color 0.3s ease;
}

.pf-post-card:hover {
    border-color: rgba(0, 0, 0, 0.14);
}

/* Unboxed Style (OFF) */
.pf-post-card--unboxed {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.pf-post-card--unboxed:hover {
    transform: none !important;
    box-shadow: none !important;
}

.pf-post-card__inner {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0.85rem;
}

.pf-post-card--unboxed .pf-post-card__inner {
    padding: 0 !important;
    background-color: transparent !important;
}

/* Post Featured Image (Clean Flow - No Negative Margins) */
.pf-post-image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
    background-color: #f3f4f6;
    border-radius: 0.875rem;
    margin: 0 0 0.5rem 0;
}

.pf-post-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0.875rem;
    transition: transform 0.5s ease;
}

.pf-post-card:hover .pf-post-image {
    transform: scale(1.05);
}

/* Category Badge & Meta */
.pf-post-meta--secondary,
.pf-post-meta--primary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.8125rem;
    color: #6b7280;
}

.pf-post-meta__link {
    color: var(--pawfect-primary, #F4A259) !important;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
}

.pf-post-meta__item--date,
.pf-post-meta__item--author {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #9ca3af;
    font-size: 0.8125rem;
    font-weight: 500;
}

.pf-post-meta__icon {
    width: 0.875rem;
    height: 0.875rem;
}

/* Post Title */
.pf-post-title {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    color: #111827 !important;
    letter-spacing: -0.02em !important;
}

.pf-post-title__link {
    color: #111827 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.pf-post-title__link:hover {
    color: var(--pawfect-primary, #F4A259) !important;
}

/* Excerpt */
.pf-post-excerpt {
    font-size: 0.9375rem;
    color: #4b5563;
    line-height: 1.65;
    margin: 0;
    flex: 1;
}

/* Read More Button */
.pf-post-read-more {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--pawfect-primary, #F4A259);
    text-decoration: none;
    transition: gap 0.2s ease;
    margin-top: auto;
}

.pf-post-read-more:hover {
    gap: 0.75rem;
}

.pf-post-read-more::after {
    content: " →";
    font-size: 1.1rem;
    line-height: 1;
}

/* ==========================================================================
   List Layout Style (.pf-post-card--list & .pf-index__posts-grid--list)
   ========================================================================== */
.pf-index__posts-grid--list {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
}

.pf-post-card--list {
    display: block !important;
    width: 100% !important;
}

.pf-post-card--list.pf-post-card--boxed {
    background-color: #ffffff !important;
    border-radius: 1.25rem !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.pf-post-card--list.pf-post-card--boxed:hover {
    border-color: rgba(0, 0, 0, 0.14) !important;
}

.pf-post-card--list.pf-post-card--unboxed {
    padding-bottom: 1.25rem !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.pf-post-card--list .pf-post-card__inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    padding: 1.75rem !important;
}

.pf-post-card--list.pf-post-card--boxed .pf-post-card__inner {
    background-color: #ffffff !important;
    border-radius: 1.25rem !important;
}

/* Horizontal 2-Column Split when Featured Image is present */
.pf-post-card--list:has(.pf-post-image-wrap) .pf-post-card__inner,
.pf-post-card--list.has-post-thumbnail .pf-post-card__inner {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 1.25rem !important;
    align-items: center !important;
    padding: 1.5rem !important;
}

.pf-post-card--list.pf-post-card--unboxed:has(.pf-post-image-wrap) .pf-post-card__inner,
.pf-post-card--list.pf-post-card--unboxed.has-post-thumbnail .pf-post-card__inner {
    padding: 0 !important;
    gap: 1.25rem !important;
}

.pf-post-card--list .pf-post-image-wrap {
    grid-column: 1 !important;
    grid-row: 1 / span 10 !important;
    margin: 0 !important;
    width: 100% !important;
    height: 200px !important;
    max-height: 220px !important;
    aspect-ratio: 4/3 !important;
    border-radius: 0.875rem !important;
    overflow: hidden !important;
}

.pf-post-card--list .pf-post-image {
    width: 100% !important;
    height: 100% !important;
    max-height: 220px !important;
    object-fit: cover !important;
    border-radius: 0.875rem !important;
}

@media (max-width: 767px) {
    .pf-post-card--list:has(.pf-post-image-wrap) .pf-post-card__inner,
    .pf-post-card--list.has-post-thumbnail .pf-post-card__inner {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    .pf-post-card--list .pf-post-image-wrap {
        grid-column: auto !important;
        grid-row: auto !important;
        height: auto !important;
        aspect-ratio: 16/10 !important;
    }
}

/* Ensure main content areas have the dynamic background color applied */
.pf-archive__main,
.pf-page__main,
.pf-blog-grid__container,
.pawfect-main-content {
    background-color: var(--pawfect-background, #fef9f5);
}

.pawfect-front-page-content {
    background-color: var(--pf-background, #fef9f5);
}

/* ==========================================================================
   Legacy template page styles (pawfect-* hooks used by page templates)
   ========================================================================== */

/* --- Page header --- */
.pawfect-page-header {
    position: relative;
    overflow: hidden;
}

.pawfect-page-title-heading {
    max-width: 760px;
}

.pawfect-breadcrumbs {
    margin-bottom: 0.75rem;
    font-size: var(--pf-text-sm);
}

/* --- Blog / archive listing container --- */
.pawfect-posts-container {
    width: 100%;
    min-width: 0;
}

/* --- Search form --- */
.pawfect-post-search {
    position: relative;
    max-width: 480px;
}

.pawfect-post-search .search-field {
    width: 100%;
    padding: 0.75rem 3rem 0.75rem 1rem;
    border: 1px solid var(--pf-gray-200);
    border-radius: var(--pf-radius-lg);
    background-color: #ffffff;
    color: var(--pf-gray-900);
}

.pawfect-post-search .search-submit {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: var(--pf-gray-500);
    cursor: pointer;
}

/* --- Cart / checkout / account page wrappers --- */
.pawfect-cart-page,
.pawfect-checkout-page,
.pawfect-my-account-page {
    min-height: 50vh;
}

.pawfect-cart-empty-wrapper {
    text-align: center;
    padding: 4rem 1.5rem;
}

/* --- Blog post meta --- */
.pawfect-post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    font-size: var(--pf-text-sm);
    color: var(--pf-gray-500);
}

.pawfect-post-featured-image {
    margin-bottom: 1.5rem;
}

.pawfect-post-featured-image img {
    width: 100%;
    height: auto;
    border-radius: var(--pf-radius-xl);
}
