/*
Theme Name: Péeksaba
Theme URI: https://peeksaba.com
Description: Tema hijo de Astra con la identidad visual de Péeksaba (ecoturismo mexicano).
Author: Péeksaba
Template: astra
Version: 1.0
*/

:root {
  --pk-green: #0E6E3D;
  --pk-green-dark: #173B2B;
  --pk-green-tint: #EAF3E4;
  --pk-terracotta: #C1633D;
  --pk-terracotta-tint: #FBEAE0;
  --pk-terracotta-dark: #7A3820;
  --pk-sand: #F6F2EA;
  --pk-sand-dark: #EFE9DA;
  --pk-text: #2A2E29;
  --pk-text-secondary: #5B5748;
  --pk-white: #FFFFFF;
  --pk-font-display: 'Fraunces', Georgia, serif;
  --pk-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Base typography */
body,
button,
input,
select,
textarea {
  font-family: var(--pk-font-body);
  color: var(--pk-text);
}

body {
  background-color: var(--pk-white);
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.entry-title,
.page-title {
  font-family: var(--pk-font-display);
  color: var(--pk-green-dark);
  font-weight: 600;
  line-height: 1.15;
}

h1, .elementor-widget-heading h1.elementor-heading-title {
  font-weight: 600;
  letter-spacing: -0.01em;
}

p, li,
.elementor-widget-text-editor,
.entry-content {
  font-family: var(--pk-font-body);
  color: var(--pk-text);
  line-height: 1.75;
  font-size: 17px;
}

.entry-content p {
  margin-bottom: 1.3em;
}

a {
  color: var(--pk-green);
  text-decoration-color: var(--pk-terracotta);
}

a:hover {
  color: var(--pk-terracotta);
}

.entry-content a,
.elementor-widget-text-editor a {
  color: var(--pk-green);
  text-decoration: underline;
  text-decoration-color: var(--pk-terracotta);
  text-underline-offset: 3px;
}

.entry-content a:hover,
.elementor-widget-text-editor a:hover {
  color: var(--pk-terracotta);
}

/* Lists */
.entry-content ul,
.elementor-widget-text-editor ul {
  padding-left: 1.4em;
}

.entry-content ul li::marker,
.elementor-widget-text-editor ul li::marker {
  color: var(--pk-terracotta);
}

/* Disclaimer / fully italicized notes as soft callouts */
.entry-content p:has(> em:only-child):not(:has(a)),
.elementor-widget-text-editor p:has(> em:only-child):not(:has(a)) {
  background: var(--pk-sand);
  border-left: 3px solid var(--pk-terracotta);
  border-radius: 4px;
  padding: 14px 18px;
  font-size: 15px;
  color: var(--pk-text-secondary);
}

.entry-content p:has(> em:only-child):not(:has(a)) em,
.elementor-widget-text-editor p:has(> em:only-child):not(:has(a)) em {
  font-style: italic;
}

/* Images */
.entry-content img,
.elementor-widget-image img,
.elementor-widget-theme-post-featured-image img {
  border-radius: 14px;
}

/* Header */
.site-header {
  background: var(--pk-white);
  border-bottom: 1px solid var(--pk-sand-dark);
}

.main-header-menu .menu-link {
  font-family: var(--pk-font-body);
  font-weight: 500;
  color: var(--pk-text);
  font-size: 15px;
}

.main-header-menu .menu-item:hover > .menu-link,
.main-header-menu .current-menu-item > .menu-link {
  color: var(--pk-green);
}

.ast-site-identity .site-title,
.site-title a {
  font-family: var(--pk-font-display);
  color: var(--pk-green-dark) !important;
  font-weight: 600;
}

/* Buttons */
.elementor-button,
.wp-block-button__link,
button:not(.slick-arrow),
input[type="submit"] {
  background: var(--pk-green) !important;
  color: var(--pk-white) !important;
  border-radius: 8px !important;
  border: none !important;
  font-family: var(--pk-font-body) !important;
  font-weight: 500 !important;
  transition: background 0.2s ease;
}

.elementor-button:hover,
.wp-block-button__link:hover,
button:not(.slick-arrow):hover,
input[type="submit"]:hover {
  background: var(--pk-terracotta) !important;
  color: var(--pk-white) !important;
}

/* Footer */
.site-footer,
.site-below-footer-wrap,
.ast-builder-grid-row-container-inner,
.ast-builder-footer-grid-columns,
.site-footer-below-section-1,
.ast-footer-copyright {
  background: var(--pk-green-dark) !important;
  border-top: none !important;
}

.site-footer,
.site-footer p,
.ast-footer-copyright,
.ast-footer-copyright p { color: var(--pk-sand) !important; }

.site-footer a {
  color: var(--pk-white) !important;
  text-decoration: underline;
  text-decoration-color: var(--pk-terracotta);
}

.site-footer a:hover { color: var(--pk-terracotta-tint) !important; }

/* Footer legal-pages menu (rendered via wp_footer, right after the page wrap) */
.pk-footer-menu {
  display: block;
  background: var(--pk-green-dark);
  padding: 14px 20px 22px;
  text-align: center;
}

.pk-footer-menu ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 18px;
  margin: 0;
  padding: 0;
}

.pk-footer-menu a {
  color: var(--pk-sand) !important;
  text-decoration: underline;
  text-decoration-color: var(--pk-terracotta);
  font-size: 13px;
}

.pk-footer-menu a:hover {
  color: var(--pk-terracotta-tint) !important;
}

/* Tags/badges used by Elementor posts widget meta if present */
.elementor-post-info__terms-list a {
  background: var(--pk-green-tint);
  color: var(--pk-green-dark);
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 12px;
  text-decoration: none !important;
}

/* Cards for Elementor Posts widget (grid skin) */
.elementor-widget-posts .elementor-post__card {
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(23, 59, 43, 0.08) !important;
  border: 1px solid var(--pk-sand-dark) !important;
}

.elementor-widget-posts .elementor-post__title a {
  font-family: var(--pk-font-display);
  color: var(--pk-green-dark);
}

.elementor-widget-posts .elementor-post__read-more {
  color: var(--pk-terracotta) !important;
}

/* Responsive heading sizes */
@media (max-width: 768px) {
  h1, .elementor-widget-heading h1.elementor-heading-title {
    font-size: 32px !important;
  }
  h2, .elementor-widget-heading h2.elementor-heading-title {
    font-size: 24px !important;
  }
}
