/**
 * Theme Name: websoluciones
 * Template:   astra
 * Version:    1.0.0
 */

/* =====================================================
   VARIABLES CORPORATIVAS
   ===================================================== */
:root {
  --caw-primary:      #00205c;
  --caw-secondary:    #28a1ff;
  --caw-bg-light:     #f0f7ff;
  --caw-bg-site:      #E7F6FF;
  --caw-text:         #1a3a5c;
  --caw-border:       #d1e8ff;
  --caw-radius:       16px;
  --caw-gradient-btn: linear-gradient(135deg,#28a1ff 0%,#0077cc 100%);
  --ast-global-color-0: #28a1ff;
  --ast-global-color-1: #00205c;
  --ast-global-color-2: #00205c;
  --ast-global-color-3: #1a3a5c;
  --ast-global-color-4: #ffffff;
  --ast-global-color-5: #ffffff;
  --ast-global-color-6: #d1dae5;
  --ast-global-color-7: #00205c;
  --ast-global-color-8: #f0f7ff;
}

/* =====================================================
   FONDO GLOBAL DEL SITIO — #E7F6FF
   ===================================================== */
html, body,
.ast-separate-container,
.ast-page-builder-template,
#page, .site, #content,
.ast-container, .site-content,
.entry-content, .ast-article-inner-wrap,
.wp-site-blocks {
  background-color: #E7F6FF !important;
}

/* =====================================================
   IMÁGENES GLOBALES — border-radius en todo el sitio
   ===================================================== */

/* Imágenes en páginas, posts y contenido general */
.entry-content img,
.page .entry-content img,
.single .entry-content img,
.post img,
.page img,
article img,
.wp-block-image img,
.wp-block-image figure img,
.elementor-widget-image img,
.elementor-widget-image-box img,
.elementor-image img,
.elementor-section img,
.elementor-column img,
.elementor-widget img,
.about-image img,
.service-image img,
.ast-img-check img {
  border-radius: var(--caw-radius) !important;
  overflow: hidden;
}

/* Imágenes en páginas de servicios (las que añadimos con figure inline) */
.entry-content figure img,
.entry-content figure.wp-block-image img {
  border-radius: var(--caw-radius) !important;
}

/* Imágenes de Elementor — contenedores */
.elementor-widget-image .elementor-image,
.elementor-widget-image-box .elementor-image-box-img,
.elementor-widget-image figure {
  border-radius: var(--caw-radius) !important;
  overflow: hidden !important;
}

/* Imágenes de la página Sobre nosotros */
.page-id-10 .entry-content img,
.page-id-10 img:not(.avatar):not([width="150"]) {
  border-radius: var(--caw-radius) !important;
}

/* Avatares del equipo — radio circular */
.page-id-10 figure img[width="150"],
.page-id-10 img[width="150"],
img.avatar,
.team-member img,
.wp-block-avatar img {
  border-radius: 50% !important;
}

/* WooCommerce — imágenes de producto */
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery img,
.woocommerce img.wp-post-image,
.woocommerce .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img,
.woocommerce-loop-product__link img {
  border-radius: var(--caw-radius) !important;
}

/* =====================================================
   WOOCOMMERCE — FONDO #E7F6FF EN TODAS LAS PÁGINAS
   ===================================================== */
body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.post-type-archive-product,
body.single-product,
body.woocommerce-order-received,
body.woocommerce-order-pay {
  background-color: #E7F6FF !important;
}

.woocommerce #content,
.woocommerce-page #content,
.woocommerce form.checkout,
.woocommerce #order_review,
.woocommerce .woocommerce-cart-form,
.woocommerce .cart-collaterals,
.woocommerce-checkout #payment,
.woocommerce .woocommerce-MyAccount-content,
.woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-order-details,
.woocommerce-customer-details,
.single-product .product,
.single-product .entry-summary,
.single-product .woocommerce-tabs,
.single-product .related.products {
  background-color: #E7F6FF !important;
}

/* =====================================================
   ANTI-CAPITALIZACIÓN GLOBAL
   ===================================================== */
h1,h2,h3,h4,h5,h6,
.entry-title,.entry-title a,
.ast-blog-post-title,.ast-blog-post-title a,
.ast-article-post .entry-title,
.ast-article-post .entry-title a,
.single .entry-title, .page .entry-title,
body h1,body h2,body h3,body h4,body h5,body h6 {
  text-transform: none !important;
  font-variant: normal !important;
}

/* =====================================================
   TIPOGRAFÍA
   ===================================================== */
body { color: var(--caw-text); font-family: 'Poppins',sans-serif; }
h1,h2,h3,h4,h5,h6 { color: var(--caw-primary); font-family: 'Plus Jakarta Sans',sans-serif; font-weight: 700; }
a { color: var(--caw-secondary); transition: color .2s; }
a:hover { color: var(--caw-primary); }

/* =====================================================
   BLOG — GRID 3 COLUMNAS
   ===================================================== */
.blog .ast-row, .archive .ast-row {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

/* Card base */
.ast-article-post {
  background: #fff !important;
  border-radius: 16px !important;
  border: 1px solid var(--caw-border) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 15px rgba(0,32,92,.06) !important;
  transition: all .3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 0 !important;
}

.ast-article-post:hover {
  box-shadow: 0 8px 32px rgba(40,161,255,.18) !important;
  transform: translateY(-4px) !important;
  border-color: var(--caw-secondary) !important;
}

/* Imagen destacada — arriba */
.ast-article-post .post-thumb,
.ast-article-post .ast-blog-featured-section {
  order: -1 !important;
  width: 100% !important;
  aspect-ratio: 16/6 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  display: block !important;
}

.ast-article-post .post-thumb a,
.ast-article-post .ast-blog-featured-section a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.ast-article-post .post-thumb img,
.ast-article-post .ast-blog-featured-section img,
.ast-article-post .wp-post-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0 !important;
  transition: transform .4s ease !important;
}

.ast-article-post:hover .post-thumb img,
.ast-article-post:hover .wp-post-image {
  transform: scale(1.04) !important;
}

/* Cuerpo de la card */
.ast-article-post .entry-content-wrap {
  padding: 18px 22px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* Categoría badge */
.ast-article-post .cat-links a {
  background: var(--caw-bg-light) !important;
  color: var(--caw-secondary) !important;
  border-radius: 20px !important;
  padding: 2px 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  text-decoration: none !important;
  border: 1px solid var(--caw-border) !important;
}

/* Ocultar autor */
.ast-article-post .posted-by,
.ast-article-post .byline,
.blog .posted-by, .archive .posted-by,
.entry-meta .posted-by, .entry-meta .byline,
span.posted-by, .ast-blog-single-element.posted-by {
  display: none !important;
}

/* Fecha */
.ast-article-post .posted-on,
.ast-article-post time { font-size: 12px !important; color: #7a93ad !important; }

/* Título card */
.ast-article-post .entry-title {
  font-size: 1rem !important; line-height: 1.45 !important;
  margin: 8px 0 10px !important; text-transform: none !important;
}
.ast-article-post .entry-title a { color: var(--caw-primary) !important; text-decoration: none !important; }
.ast-article-post .entry-title a:hover { color: var(--caw-secondary) !important; }

/* Extracto */
.ast-article-post .entry-content p,
.ast-article-post .ast-excerpt p {
  font-size: .875rem !important; color: #4a6080 !important;
  line-height: 1.6 !important; margin-bottom: 14px !important;
  display: -webkit-box !important; -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important; overflow: hidden !important;
}

/* Botón Leer más */
.ast-article-post .ast-read-more,
.ast-article-post .read-more,
.ast-article-post a.ast-read-more,
.blog .ast-read-more, .archive .ast-read-more {
  display: inline-block !important; background: var(--caw-secondary) !important;
  color: #ffffff !important; padding: 8px 20px !important;
  border-radius: 25px !important; font-size: 13px !important;
  font-weight: 600 !important; text-decoration: none !important;
  margin-top: auto !important; align-self: flex-start !important;
  transition: all .3s ease !important; box-shadow: 0 3px 10px rgba(40,161,255,.3) !important;
}
.ast-article-post .ast-read-more:hover,
.ast-article-post .read-more:hover,
.blog .ast-read-more:hover, .archive .ast-read-more:hover {
  background: var(--caw-primary) !important; color: #ffffff !important; transform: translateY(-2px) !important;
}

/* =====================================================
   PAGINACIÓN
   ===================================================== */
.page-numbers, .ast-pagination {
  display: flex !important; justify-content: center !important;
  gap: 8px !important; margin: 40px 0 20px !important;
  flex-wrap: wrap !important; list-style: none !important; padding: 0 !important;
}
.page-numbers a, .page-numbers span, .ast-pagination .page-numbers {
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important; min-width: 40px !important;
  height: 40px !important; padding: 0 12px !important;
  border-radius: 20px !important; border: 2px solid var(--caw-border) !important;
  color: var(--caw-primary) !important; font-weight: 600 !important;
  font-size: 14px !important; text-decoration: none !important;
  transition: all .2s !important; background: #fff !important;
}
.page-numbers a:hover, .page-numbers span.current,
.ast-pagination .page-numbers.current {
  background: var(--caw-primary) !important;
  border-color: var(--caw-primary) !important; color: #ffffff !important;
}

/* =====================================================
   POST INDIVIDUAL — imágenes 1024×350
   ===================================================== */
.single .entry-content figure img,
.single .entry-content .wp-block-image img {
  width: 100% !important; max-width: 1024px !important;
  height: 350px !important; object-fit: cover !important;
  object-position: center !important; border-radius: 12px !important;
  display: block !important; margin: 0 auto !important;
}
.single .entry-content p > img {
  width: auto !important; height: auto !important;
  max-height: 80px !important; object-fit: contain !important; border-radius: 0 !important;
}
.single .entry-title {
  font-size: clamp(1.5rem,3vw,2.2rem) !important;
  line-height: 1.3 !important; color: var(--caw-primary) !important; text-transform: none !important;
}
.single .posted-by, .single .byline { display: none !important; }
.single .cat-links a {
  background: var(--caw-bg-light); color: var(--caw-secondary);
  border-radius: 20px; padding: 4px 16px; font-size: 12px;
  font-weight: 700; text-transform: uppercase; text-decoration: none;
  border: 1px solid var(--caw-border);
}
#comments,.comment-respond,.comments-area { display: none !important; }

/* =====================================================
   FORMULARIOS
   ===================================================== */
input[type="text"],input[type="email"],
input[type="tel"],textarea,select {
  border: 2px solid var(--caw-border) !important;
  border-radius: 10px !important; transition: border-color .2s !important;
}
input[type="text"]:focus,input[type="email"]:focus,
input[type="tel"]:focus,textarea:focus {
  border-color: var(--caw-secondary) !important;
  box-shadow: 0 0 0 3px rgba(40,161,255,.1) !important; outline: none !important;
}

/* =====================================================
   BREADCRUMBS
   ===================================================== */
.ast-breadcrumbs a { color: var(--caw-secondary) !important; }
.ast-breadcrumbs .trail-end { color: var(--caw-primary) !important; }

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (max-width: 1024px) {
  .blog .ast-row, .archive .ast-row { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 768px) {
  h1 { font-size: 2rem !important; }
  h2 { font-size: 1.6rem !important; }
  .blog .ast-row, .archive .ast-row { grid-template-columns: 1fr !important; }
  .single .entry-content figure img,
  .single .entry-content .wp-block-image img { height: 200px !important; }
}
@media (max-width: 480px) {
  h1 { font-size: 1.7rem !important; }
  .single .entry-content figure img,
  .single .entry-content .wp-block-image img { height: 160px !important; }
}
