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

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

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

/* WooCommerce catalog — centered readable width (premium marketplace layout) */
body.woocommerce-page #primary .site-main {
  width: 100%;
  max-width: min(90rem, 100%);
  margin-left: auto;
  margin-right: auto;
}

#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-md);
  background: var(--gpfp-surface);
  padding: clamp(1.25rem, 3.75vw, 2rem);
  margin-bottom: 1.75rem;
  transition: box-shadow var(--gpfp-transition), border-color var(--gpfp-transition);
}

/* 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.03em;
  line-height: 1.15;
  color: var(--headline-color);
  font-size: clamp(1.625rem, 2.75vw + 0.5rem, 2.5rem);
  margin-top: 0;
  margin-bottom: 0.85rem;
}

/* Post meta, read-more, archive chips: see css/04-blog-archive-meta.css */

/* Prose block inside posts/pages */
.entry-content,
.comment-content {
  font-size: 1rem;
  line-height: 1.75;
  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.35rem, 1.75vw + 0.75rem, 1.75rem);
  padding-bottom: 0.35em;
  border-bottom: 1px solid var(--gpfp-slate-200);
}

.entry-content h3 {
  font-size: clamp(1.125rem, 1vw + 0.85rem, 1.3125rem);
}

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

.entry-content a,
.comment-content a {
  color: var(--gpfp-link);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--gpfp-transition);
}

.entry-content a:hover,
.comment-content a:hover {
  color: var(--gpfp-link-hover);
}

.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-accent-500);
  background: var(--gpfp-slate-100);
  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;
  color: var(--headline-color);
}

.entry-content pre {
  padding: 1rem;
  background: var(--gpfp-code-bg);
  color: var(--gpfp-slate-300);
  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-100);
  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 (post spacing) ---------- */
/* See css/04-blog-archive-meta.css */

/* ---------- 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-lg);
  font-weight: 600;
  font-size: 0.875rem;
  border: 1px solid var(--gpfp-slate-200);
  background: var(--gpfp-surface);
  color: var(--paragraph-color);
  text-decoration: none;
  transition:
    background var(--gpfp-transition),
    border-color var(--gpfp-transition),
    color var(--gpfp-transition),
    box-shadow var(--gpfp-transition),
    transform var(--gpfp-transition);
}

.paging-navigation a:hover,
.navigation.pagination a:hover {
  background: var(--gpfp-surface);
  border-color: var(--gpfp-accent-500);
  color: var(--gpfp-gold-hover);
  box-shadow: var(--gpfp-accent-glow);
  transform: translateY(-1px);
}

.paging-navigation span.current,
.navigation.pagination span.current {
  background: var(--gpfp-accent-600);
  border-color: var(--gpfp-accent-600);
  color: var(--gpfp-on-gold);
}

/* ---------- 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-surface);
}

.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-lg);
  font-weight: 600;
  padding: 0.625rem 1.25rem;
  min-height: var(--gpfp-touch-min);
  background: var(--gpfp-accent-600);
  color: var(--gpfp-on-gold);
  border: none;
  box-shadow: var(--gpfp-accent-glow);
  cursor: pointer;
  transition:
    background var(--gpfp-transition),
    box-shadow var(--gpfp-transition),
    transform var(--gpfp-transition);
}

.comment-respond .submit:hover {
  background: var(--gpfp-gold-hover);
  box-shadow: var(--gpfp-accent-glow-strong);
  transform: translateY(-2px) scale(1.02);
}

/* ---------- Sidebar widgets ---------- */
.widget {
  padding: 1rem;
  margin-bottom: 1.25rem;
  border: 1px solid var(--gpfp-slate-200);
  border-radius: var(--gpfp-radius-lg);
  background: var(--gpfp-surface);
  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-link);
  text-decoration: none;
  font-weight: 500;
  transition: color var(--gpfp-transition);
}

.widget a:hover {
  color: var(--gpfp-link-hover);
  text-decoration: underline;
}

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

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

/* ---------- Footer area (same on home + inner pages) ---------- */
.site-footer {
  background-color: var(--gpfp-page-bg);
  border-top: 1px solid color-mix(in srgb, var(--contrast, CanvasText) 12%, transparent);
  color: var(--contrast-2, var(--contrast-3, var(--gpfp-slate-500)));
}

.site-footer a {
  color: var(--gpfp-link);
  text-decoration: none;
  font-weight: 500;
  transition: color var(--gpfp-transition);
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: var(--gpfp-link-hover);
  text-decoration: underline;
}

.site-info,
.footer-widgets {
  font-size: 0.875rem;
}

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

/* ---------- WordPress / block buttons ---------- */
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.wp-block-button:not(.is-style-outline) a.wp-block-button__link,
.wp-block-button:not(.is-style-outline) button.wp-block-button__link {
  background-color: var(--accent, var(--gpfp-accent-600)) !important;
  color: var(--accent-alt, var(--gpfp-on-gold)) !important;
  border-color: transparent !important;
  box-shadow: var(--gpfp-accent-glow) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  border-width: 1px !important;
  border-color: rgb(255 255 255 / 0.22) !important;
  color: var(--headline-color) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--gpfp-accent-500) !important;
  color: var(--gpfp-gold-hover) !important;
}

.wp-block-button__link,
a.wp-block-button__link,
button.wp-block-button__link {
  border-radius: var(--gpfp-radius-lg) !important;
  font-weight: 600 !important;
  padding: 0.65rem 1.35rem !important;
  box-shadow: var(--gpfp-shadow-sm);
  transition:
    background-color var(--gpfp-transition),
    color var(--gpfp-transition),
    border-color var(--gpfp-transition),
    box-shadow var(--gpfp-transition),
    transform var(--gpfp-transition) !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: var(--accent-hover, var(--gpfp-gold-hover)) !important;
  color: var(--accent-alt, var(--gpfp-on-gold)) !important;
  box-shadow: var(--gpfp-accent-glow-strong) !important;
  transform: translateY(-2px) scale(1.02);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  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;
  }
}

/* ---------- SVG icons (nav / utilities only — avoid tinting SVG site logo in .site-branding) ---------- */
.main-navigation svg,
.main-navigation .gp-icon svg,
.menu-bar-items svg,
.site-header button.menu-toggle svg,
.site-header .search-form svg,
.wc-block-mini-cart__button svg,
.wc-block-mini-cart button svg,
.woocommerce .cart-contents svg,
.widget_shopping_cart .widget_shopping_cart_content svg {
  flex-shrink: 0;
  color: var(--contrast-2, var(--contrast-3, var(--gpfp-slate-500)));
}

.main-navigation a:hover svg,
.main-navigation a:focus-visible svg,
.menu-bar-items a:hover svg,
.menu-bar-items a:focus-visible svg,
.site-header button.menu-toggle:hover svg,
.site-header .search-form button:hover svg,
.wc-block-mini-cart__button:hover svg,
.woocommerce .cart-contents:hover svg {
  color: var(--accent, var(--gpfp-accent-500));
}

.main-navigation svg path[fill]:not([fill="none"]),
.main-navigation svg circle[fill]:not([fill="none"]),
.menu-bar-items svg path[fill]:not([fill="none"]),
.site-header button.menu-toggle svg path[fill]:not([fill="none"]),
.wc-block-mini-cart__button svg path[fill]:not([fill="none"]) {
  fill: currentColor;
}

.main-navigation svg path[stroke],
.menu-bar-items svg path[stroke],
.site-header button.menu-toggle svg path[stroke],
.wc-block-mini-cart__button svg path[stroke] {
  stroke: currentColor;
}

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