/**
 * GP Fashion Pro — Global layout, blog, pages (Tailwind-like, mobile-first).
 * Works with GeneratePress + block editor content.
 */

/* ---------- Base layout & readable content ---------- */
.site {
  background-color: #ffffff;
}

.site-content {
  padding-left: var(--gpfp-content-pad);
  padding-right: var(--gpfp-content-pad);
}

#primary .content-area,
#primary .site-main {
  max-width: 100%;
}

/* Main column: comfortable reading + no horizontal bleed on mobile */
#primary .inside-article {
  border-radius: var(--gpfp-radius-xl);
  border: 1px solid var(--gpfp-slate-200);
  box-shadow: var(--gpfp-shadow-sm);
  background: #ffffff;
  padding: clamp(1rem, 3.5vw, 1.75rem);
  margin-bottom: 1.5rem;
}

/* Shop / product / cart / checkout: avoid double “card” over Woo layouts */
body.woocommerce-page.post-type-archive-product #primary .inside-article,
body.woocommerce.tax-product_cat #primary .inside-article,
body.woocommerce.tax-product_tag #primary .inside-article,
body.single-product #primary .inside-article,
body.woocommerce-cart #primary .inside-article,
body.woocommerce-checkout #primary .inside-article {
  border: none;
  box-shadow: none;
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}

/* Full-width templates: soften card when edge-to-edge */
body.page-template-full-width #primary .inside-article,
body.page-template-full-width-php #primary .inside-article,
body.no-sidebar #primary .inside-article {
  border-radius: var(--gpfp-radius-lg);
}

/* ---------- Typography (posts, pages, archives) ---------- */
.entry-title,
.page-title,
.archive .page-header .page-title {
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: var(--headline-color);
  font-size: clamp(1.5rem, 2.5vw + 0.5rem, 2.25rem);
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.entry-meta,
.entry-header .gp-post-meta {
  font-size: 0.8125rem;
  color: var(--gpfp-slate-500);
  margin-bottom: 1rem;
}

.entry-meta a,
.entry-header .gp-post-meta a {
  color: var(--gpfp-indigo-600);
  text-decoration: none;
  font-weight: 500;
}

.entry-meta a:hover,
.entry-header .gp-post-meta a:hover {
  text-decoration: underline;
}

/* Prose block inside posts/pages */
.entry-content,
.comment-content {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--paragraph-color);
  max-width: var(--gpfp-prose-max);
}

.entry-content > * + * {
  margin-top: 1.25em;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
  margin-top: 1.75em;
  margin-bottom: 0.5em;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--headline-color);
  line-height: 1.25;
}

.entry-content h2 {
  font-size: clamp(1.25rem, 1.5vw + 0.75rem, 1.5rem);
  padding-bottom: 0.35em;
  border-bottom: 1px solid var(--gpfp-slate-200);
}

.entry-content h3 {
  font-size: 1.125rem;
}

.entry-content h4 {
  font-size: 1rem;
}

.entry-content a {
  color: var(--gpfp-indigo-600);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.entry-content a:hover {
  color: var(--gpfp-indigo-700);
}

.entry-content ul,
.entry-content ol {
  padding-left: 1.25rem;
}

.entry-content li {
  margin-bottom: 0.35em;
}

.entry-content blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1rem 1rem 1.25rem;
  border-left: 4px solid var(--gpfp-indigo-500);
  background: var(--gpfp-slate-50);
  border-radius: 0 var(--gpfp-radius-md) var(--gpfp-radius-md) 0;
  color: var(--gpfp-slate-700);
  font-style: normal;
}

.entry-content pre,
.entry-content code {
  font-size: 0.875em;
  border-radius: var(--gpfp-radius-sm);
}

.entry-content code {
  background: var(--gpfp-slate-100);
  padding: 0.125em 0.375em;
}

.entry-content pre {
  padding: 1rem;
  background: var(--gpfp-slate-900);
  color: var(--gpfp-slate-100);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  border: 1px solid var(--gpfp-slate-200);
  border-radius: var(--gpfp-radius-md);
  overflow: hidden;
}

.entry-content th,
.entry-content td {
  padding: 0.625rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--gpfp-slate-200);
}

.entry-content th {
  background: var(--gpfp-slate-50);
  font-weight: 600;
  color: var(--headline-color);
}

.entry-content .wp-block-image img,
.entry-content img {
  border-radius: var(--gpfp-radius-lg);
  height: auto;
  max-width: 100%;
}

.entry-content .wp-block-gallery {
  gap: 0.75rem;
}

/* Tables on small screens */
@media (max-width: 639px) {
  .entry-content .wp-block-table,
  .entry-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
}

/* ---------- Archives & blog index ---------- */
.blog .post,
.archive .post,
.search .post {
  margin-bottom: 2rem;
}

.blog .post:last-child,
.archive .post:last-child {
  margin-bottom: 0;
}

/* ---------- Pagination (non-Woo) ---------- */
.paging-navigation .nav-links,
.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 2rem;
}

.paging-navigation a,
.paging-navigation span,
.navigation.pagination a,
.navigation.pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--gpfp-touch-min);
  min-height: var(--gpfp-touch-min);
  padding: 0 0.75rem;
  border-radius: var(--gpfp-radius-md);
  font-weight: 600;
  font-size: 0.875rem;
  border: 1px solid var(--gpfp-slate-200);
  background: #ffffff;
  color: var(--paragraph-color);
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.paging-navigation a:hover,
.navigation.pagination a:hover {
  background: var(--gpfp-slate-50);
  border-color: var(--gpfp-slate-300);
  color: var(--gpfp-indigo-600);
}

.paging-navigation span.current,
.navigation.pagination span.current {
  background: var(--gpfp-indigo-600);
  border-color: var(--gpfp-indigo-600);
  color: #ffffff;
}

/* ---------- Comments ---------- */
#comments,
.comment-respond {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--gpfp-slate-200);
}

.comment-list .comment-body {
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--gpfp-slate-200);
  border-radius: var(--gpfp-radius-lg);
  background: var(--gpfp-slate-50);
}

.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea {
  width: 100%;
  max-width: 100%;
  border-radius: var(--gpfp-radius-md);
  border: 1px solid var(--gpfp-slate-200);
  padding: 0.625rem 0.75rem;
  font-size: 1rem;
}

.comment-respond .submit {
  border-radius: var(--gpfp-radius-md);
  font-weight: 600;
  padding: 0.625rem 1.25rem;
  min-height: var(--gpfp-touch-min);
}

/* ---------- Sidebar widgets ---------- */
.widget {
  padding: 1rem;
  margin-bottom: 1.25rem;
  border: 1px solid var(--gpfp-slate-200);
  border-radius: var(--gpfp-radius-lg);
  background: #ffffff;
  box-shadow: var(--gpfp-shadow-sm);
}

.widget-title {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 0.75rem;
  color: var(--headline-color);
}

.widget a {
  color: var(--gpfp-indigo-600);
  text-decoration: none;
  font-weight: 500;
}

.widget a:hover {
  text-decoration: underline;
}

.widget ul {
  margin: 0;
  padding-left: 1.125rem;
}

.widget li {
  margin-bottom: 0.5rem;
}

/* ---------- Footer area ---------- */
.site-info,
.footer-widgets {
  font-size: 0.875rem;
}

.footer-widgets .widget {
  margin-bottom: 1rem;
}

/* ---------- WordPress / block buttons ---------- */
.wp-block-button__link,
a.wp-block-button__link,
button.wp-block-button__link {
  border-radius: var(--gpfp-radius-md) !important;
  font-weight: 600 !important;
  padding: 0.625rem 1.25rem !important;
  box-shadow: var(--gpfp-shadow-sm);
  transition: box-shadow 0.15s ease, transform 0.12s ease !important;
}

.wp-block-button__link:hover {
  box-shadow: var(--gpfp-shadow-md);
  transform: translateY(-1px);
}

/* ---------- Mobile: tighter + touch ---------- */
@media (max-width: 767px) {
  .site-content {
    padding-left: clamp(0.75rem, 3vw, 1rem);
    padding-right: clamp(0.75rem, 3vw, 1rem);
  }

  #primary .inside-article {
    padding: 1rem;
    border-radius: var(--gpfp-radius-lg);
  }

  .entry-title,
  .page-title {
    font-size: clamp(1.375rem, 5vw, 1.75rem);
  }

  .main-navigation .main-nav ul li a {
    min-height: var(--gpfp-touch-min);
    display: inline-flex;
    align-items: center;
  }
}

/* ---------- Large screens ---------- */
@media (min-width: 1024px) {
  .entry-content {
    font-size: 1.0625rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
