/*
Theme Name: Nación Tecnológica
Theme URI: https://naciontecnologica.com
Author: Waiker Soriano
Description: Tema custom sin dependencia de constructores.
Version: 1.0
*/

/* =========================
   RESET / BASE GLOBAL
   (evita links morados/subrayados y estilos "crudos")
========================= */
* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: #ffffff;
  color: #111;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Quita estilos default de enlaces */
a, a:visited, a:hover, a:active {
  color: inherit;
  text-decoration: none;
}

/* Accesibilidad: focus visible */
a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid rgba(11,120,166,.55);
  outline-offset: 2px;
  border-radius: 4px;
}

/* =========================
   HOME: Artículos destacados + Videos tutoriales
   (evita que se vean como lista en columna)
========================= */

.nt-home-posts,
.nt-home-videos{
  padding: 48px 0;
}

.nt-home-posts__header,
.nt-home-videos__header{
  margin-bottom: 18px;
}

.nt-home-posts__title,
.nt-home-videos__title{
  margin: 0 0 6px;
  font-size: 34px;
  line-height: 1.15;
  color: #0b2a3c;
  font-weight: 900;
}

.nt-home-posts__subtitle,
.nt-home-videos__subtitle{
  margin: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.6;
}

.nt-home-posts__grid,
.nt-home-videos__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

/* Card base */
.nt-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
}

.nt-card__thumb{
  display: block;
  background: #f1f5f9;
}

.nt-card__img{
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}

.nt-card__img--placeholder{
  height: 190px;
  background: linear-gradient(135deg, rgba(11,42,60,.08), rgba(22,114,168,.08));
}

.nt-card__body{
  padding: 14px 14px 16px;
}

.nt-card__title{
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 900;
  color: #0b2a3c;
}

.nt-card__title a{
  color: inherit;
}

.nt-card__text{
  margin: 0 0 10px;
  color: #475569;
  font-size: 13.5px;
  line-height: 1.6;
}

.nt-card__links{
  margin-top: 8px;
}

.nt-card__link{
  font-weight: 900;
  color: #1672a8;
  font-size: 13px;
}

.nt-card__link--muted{
  opacity: .6;
}

/* Videos: frame responsive */
.nt-video__frame{
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  background: #0b2a3c;
}

.nt-video__frame iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Responsive */
@media (max-width: 980px){
  .nt-home-posts__grid,
  .nt-home-videos__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px){
  .nt-home-posts__grid,
  .nt-home-videos__grid{
    grid-template-columns: 1fr;
  }
  .nt-home-posts__title,
  .nt-home-videos__title{
    font-size: 28px;
  }
}

/* Variables de color */
:root{
  --mw-gray:#f1f1f1;
  --mw-border:#e2e2e2;
  --mw-text:#1d1d1d;
  --mw-blue:#0b78a6;

  --mw-hero1:#0f3f63;
  --mw-hero2:#072c4a;
  --mw-hero3:#051f34;

  --mw-accent:#c16510;
}

/* =========================
   HEADER (claro) - estilo MathWorks
========================= */
.mw-header{
  width: 100%;
  background: var(--mw-gray);
  border-bottom: 1px solid var(--mw-border);
}

.mw-header-inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 18px;
}

/* Logo */
.mw-logo{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 140px;
}

.mw-logo img{
  height: 32px;
  width: auto;
  max-height: 32px;
}

/* Menú */
.mw-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-left: 12px;
  align-items: center;
}

.mw-nav a{
  font-size: 16px;
  color: var(--mw-text);
  padding: 6px 2px;
  border-bottom: 2px solid transparent;
  transition: border-color .15s ease, color .15s ease;
}

.mw-nav a:hover{
  color: #0b4f8a;
  border-bottom-color: #0b4f8a;
}

/* Iconos (si los usas) */
.mw-icons{
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.mw-icon{
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  background: #ffffff;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  font-size: 16px;
}

/* =========================
   SEARCHBAR azul (franja)
========================= */
.mw-searchbar{
  width: 100%;
  background: var(--mw-blue);
}

.mw-searchbar-inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px 18px;
  display: flex;
  justify-content: flex-end;
}

.mw-searchbox{
  display: flex;
  align-items: center;
  width: min(560px, 92vw);
  background: #ffffff;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 3px;
  overflow: hidden;
}

.mw-searchbox input{
  width: 100%;
  border: 0;
  outline: none;
  padding: 10px 12px;
  font-size: 16px;
}

.mw-searchbox button{
  border: 0;
  background: #ffffff;
  padding: 0 14px;
  cursor: pointer;
  font-size: 18px;
}

.mw-searchbox button:hover{
  background: #f4f4f4;
}

/* =========================
   HERO (fondo azul oscuro + malla)
========================= */
.mw-hero{
  position: relative;
  min-height: 340px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #ffffff;
  background: radial-gradient(1200px 500px at 50% 0%, var(--mw-hero1) 0%, var(--mw-hero2) 45%, var(--mw-hero3) 100%);
  overflow: hidden;
}

/* Malla tipo MathWorks (SVG embebido) */
.mw-hero::before{
  content:"";
  position:absolute;
  inset:-40px;
  opacity:.45;
  background-repeat:no-repeat;
  background-position:center 70%;
  background-size:1200px auto;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='520' viewBox='0 0 1400 520'%3E%3Cg fill='none' stroke='%2357b6d8' stroke-opacity='.55' stroke-width='2'%3E%3Cpath d='M40 420 L220 250 L380 360 L520 210 L700 320 L880 170 L1040 260 L1200 140 L1360 260'/%3E%3Cpath d='M60 470 L260 320 L420 420 L560 260 L760 390 L900 220 L1120 340 L1300 200'/%3E%3Cpath d='M120 390 L300 210 L480 320 L640 160 L820 280 L980 120 L1160 230 L1320 120'/%3E%3Cpath d='M220 250 L260 320 L300 210 L380 360 L420 420 L480 320 L520 210 L560 260 L640 160 L700 320 L760 390 L820 280 L880 170 L900 220 L980 120 L1040 260 L1120 340 L1160 230 L1200 140 L1300 200 L1320 120'/%3E%3C/g%3E%3Cg fill='%2357b6d8' fill-opacity='.6'%3E%3Ccircle cx='220' cy='250' r='4'/%3E%3Ccircle cx='520' cy='210' r='4'/%3E%3Ccircle cx='700' cy='320' r='4'/%3E%3Ccircle cx='880' cy='170' r='4'/%3E%3Ccircle cx='1040' cy='260' r='4'/%3E%3Ccircle cx='1200' cy='140' r='4'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events:none;
}

.mw-hero-inner{
  position: relative;
  z-index: 1;
  padding: 36px 18px 54px;
}

.mw-hero h1{
  margin: 0 0 18px;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 700;
  letter-spacing: .2px;
}

/* Botón naranja */
.mw-btn{
  display: inline-block;
  background: var(--mw-accent);
  color: #ffffff;
  padding: 12px 26px;
  border-radius: 4px;
  font-size: 18px;
  font-weight: 600;
  box-shadow: 0 6px 14px rgba(0,0,0,.22);
}

.mw-btn:hover{
  filter: brightness(1.06);
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 980px){
  /* en móvil ocultamos el menú como muchos sites pro */
  .mw-nav{ display:none; }
  .mw-logo img{ height: 30px; max-height: 30px; }
}

/* =========================
   OPCIONAL: Header sticky
   (descomenta si lo quieres fijo)
========================= */
/*
.mw-header{
  position: sticky;
  top: 0;
  z-index: 999;
}
*/

/* =========================
   FOOTER (MathWorks style)
========================= */

.nt-footer {
  background: #efefef;
  color: #111;
  padding: 54px 0 28px;
  font-size: 14px;
  line-height: 1.5;
}

/* Seguridad contra desbordes horizontales */
html, body { overflow-x: hidden; }

.nt-footer__inner {
  width: min(1200px, 92%);
  margin: 0 auto;
}

/* Top: brand + columnas */
.nt-footer__top {
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr;
  gap: 40px;
  align-items: start;
}

/* Brand block */
.nt-footer__brand .custom-logo,
.nt-footer__brand img {
  max-width: 190px;
  height: auto;
  display: block;
}

.nt-footer__tagline {
  margin: 10px 0 16px;
  font-style: italic;
  opacity: 0.9;
}

.nt-footer__desc {
  max-width: 34ch;
  opacity: 0.85;
}

/* Columns grid (responsive) */
.nt-footer__cols {
  display: grid;
  /* Mantener 5 columnas alineadas en escritorio/laptop */
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 26px;
  min-width: 0;
}

.nt-footer__col { min-width: 0; }

.nt-footer__title {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0,0,0,0.35);
  white-space: normal; /* evita empujar el grid */
}

/* Menús (sin viñetas/bullets) */
.nt-footer__menu,
.nt-footer__menu ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.nt-footer__menu li {
  margin: 10px 0;
  padding: 0;
}

.nt-footer__menu li::marker { content: ""; }

.nt-footer__menu a {
  color: #111;
  text-decoration: none;
  opacity: 0.9;
  word-break: break-word;
}

.nt-footer__menu a:hover,
.nt-footer__menu a:focus {
  text-decoration: underline;
  opacity: 1;
}

/* Mid row: country (left) + socials (right) */
.nt-footer__mid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 34px 0 18px;
  margin-top: 8px;
  flex-wrap: wrap; /* evita desbordes */
}

/* Country pill */
.nt-footer__country {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid rgba(0,0,0,0.35);
  border-radius: 999px;
  color: #111;
  text-decoration: none;
  background: transparent;
  max-width: 100%;
}

.nt-footer__country:hover,
.nt-footer__country:focus {
  border-color: rgba(0,0,0,0.55);
}

/* Social icons */
.nt-footer__social {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap; /* permite que bajen de línea */
  justify-content: flex-end;
}

.nt-footer__social-link {
  /* Estilo MathWorks: solo ícono, sin fondo ni círculo */
  background: transparent;
  width: auto;
  height: auto;
  border-radius: 0;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform .12s ease, opacity .12s ease;
}

.nt-footer__social-link:hover {
  transform: translateY(-1px);
  opacity: .92;
}

.nt-footer__social-link svg{
  width: 28px;
  height: 28px;
  /* No forzar fill: los SVG ya traen sus colores */
  display: block;
}

/* Bottom row */
.nt-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(0,0,0,0.15);
  padding-top: 16px;
  margin-top: 12px;
}

.nt-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* Quitar bullets/markers del menú legal y agregar separadores tipo MathWorks */
.nt-footer__legal,
.nt-footer__legal ul,
.nt-footer__legal-wrap ul,
.nt-footer__legal-wrap .menu{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nt-footer__legal li{
  margin: 0;
  padding: 0;
}

.nt-footer__legal li::marker{ content: ""; }

.nt-footer__legal li + li{
  position: relative;
  padding-left: 12px;
}

.nt-footer__legal li + li::before{
  content: "|";
  position: absolute;
  left: 0;
  top: 0;
  color: rgba(0,0,0,.45);
}

.nt-footer__legal a{
  color:#111;
  opacity:.85;
  text-decoration:none;
}

.nt-footer__legal a:hover,
.nt-footer__legal a:focus{
  opacity:1;
  text-decoration:underline;
}

.nt-footer__copy{
  opacity:.85;
}

/* Responsive tweaks */
@media (max-width: 980px){
  .nt-footer__top{
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .nt-footer__desc{ max-width: none; }
  .nt-footer__cols{
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    gap: 18px;
  }
}

@media (max-width: 520px){
  .nt-footer{
    padding: 42px 0 22px;
  }
  .nt-footer__cols{
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
}
/* ===== Newsletter Home ===== */

.nt-newsletter {
  background: #f3f3f3;
  padding: 60px 0;
}

.nt-newsletter-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.nt-newsletter-text {
  flex: 1 1 300px;
}

.nt-newsletter-text h3 {
  margin-bottom: 10px;
  font-size: 22px;
}

.nt-newsletter-form {
  flex: 1 1 400px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  align-items: center;
}

.nt-newsletter-form input[type="email"] {
  flex: 1;
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.nt-newsletter-form button {
  padding: 12px 25px;
  background: #e53946;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s ease;
}

.nt-newsletter-form button:hover {
  background: #c62834;
}

.nt-newsletter-privacy {
  width: 100%;
  font-size: 13px;
  color: #666;
}

/* =========================
   SOBRE NOSOTROS
========================= */

.nt-about-hero{
  background: linear-gradient(180deg, rgba(11,42,60,.06), rgba(11,42,60,0));
}

.nt-about-h2{
  margin: 0 0 10px;
  font-size: 26px;
  line-height: 1.2;
  color: #0b2a3c;
  font-weight: 900;
}

.nt-about-sub{
  margin: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.6;
}

.nt-about-intro{
  padding: 42px 0;
}

.nt-about-intro__grid{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 24px;
  align-items: start;
}

.nt-about-text{
  color: #334155;
  font-size: 15px;
  line-height: 1.75;
}

.nt-about-points{
  margin-top: 16px;
  display: grid;
  gap: 10px;
}

.nt-about-point{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 12px 12px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.04);
}

.nt-about-point p{
  margin: 8px 0 0;
  color: #475569;
  font-size: 13.5px;
  line-height: 1.6;
}

.nt-about-badge{
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(22,114,168,.10);
  color: #1672a8;
  font-weight: 900;
  letter-spacing: .02em;
  font-size: 12px;
}

.nt-about-video{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  overflow: hidden;
  background: #0b2a3c;
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

.nt-about-video__placeholder{
  padding: 18px;
  background: linear-gradient(135deg, rgba(11,42,60,.90), rgba(22,114,168,.75));
  color: #fff;
}

.nt-about-video__placeholder p{
  margin: 0 0 10px;
  opacity: .95;
}

.nt-about-stats{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.nt-about-stat{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 6px 16px rgba(0,0,0,.04);
}

.nt-about-stat__kpi{
  font-weight: 1000;
  color: #0b2a3c;
  font-size: 14px;
}

.nt-about-stat__val{
  margin-top: 4px;
  color: #475569;
  font-size: 12.5px;
}

.nt-about-cards{
  padding: 20px 0 46px;
}

.nt-about-cards__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.nt-about-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
}

.nt-about-card__icon{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(11,120,166,.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nt-about-card__icon svg{
  width: 22px;
  height: 22px;
  stroke: #1672a8;
}

.nt-about-card__title{
  margin: 10px 0 6px;
  font-size: 16px;
  font-weight: 1000;
  color: #0b2a3c;
}

.nt-about-card__text{
  margin: 0;
  color: #475569;
  font-size: 13.5px;
  line-height: 1.65;
}

.nt-about-values{
  padding: 46px 0;
  background: #f8fafc;
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.nt-about-values__header{
  margin-bottom: 16px;
}

.nt-about-values__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.nt-about-value{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
}

.nt-about-value h3{
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 1000;
  color: #0b2a3c;
}

.nt-about-value p{
  margin: 0;
  color: #475569;
  font-size: 13.5px;
  line-height: 1.65;
}

.nt-about-cta{
  padding: 46px 0;
}

.nt-about-cta__box{
  border-radius: 16px;
  padding: 18px;
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(135deg, rgba(11,42,60,.92), rgba(22,114,168,.85));
  color: #fff;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.nt-about-cta__title{
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 1000;
}

.nt-about-cta__text{
  margin: 0;
  opacity: .92;
  font-size: 13.5px;
  line-height: 1.6;
}

.nt-about-cta__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff;
  color: #0b2a3c;
  font-weight: 1000;
  white-space: nowrap;
}

.nt-about-cta__btn:hover{
  transform: translateY(-1px);
}

@media (max-width: 980px){
  .nt-about-intro__grid{ grid-template-columns: 1fr; }
  .nt-about-stats{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nt-about-cards__grid{ grid-template-columns: 1fr; }
  .nt-about-values__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nt-about-cta__box{ flex-direction: column; align-items: flex-start; }
}

@media (max-width: 560px){
  .nt-about-values__grid{ grid-template-columns: 1fr; }
}

/* === Newsletter Section Improved Contrast === */
.nt-newsletter {
    background-color: #EAF4FB; /* Light corporate blue */
    padding: 70px 0;
}

.nt-newsletter h3 {
    font-size: 28px;
    font-weight: 700;
}

.nt-newsletter-form button {
    background-color: #0E5DA8;
    color: #ffffff;
    border: none;
    transition: all 0.3s ease;
}

.nt-newsletter-form button:hover {
    background-color: #0A4C8A;
}


/* ============================
   WooCommerce Single Product (Nación Tecnológica)
   Scoped: only on single product pages
   ============================ */
body.single-product .site-main{
  background:#fff;
}

/* Container feel */
body.single-product .woocommerce div.product{
  max-width: 1160px;
  margin: 0 auto;
  padding: 28px 16px 60px;
}

/* Breadcrumb spacing */
body.single-product .woocommerce-breadcrumb{
  margin: 10px 0 18px;
  font-size: 13px;
  opacity: .9;
}

/* Make gallery + summary look like cards */
body.single-product .woocommerce div.product .woocommerce-product-gallery,
body.single-product .woocommerce div.product .summary{
  background:#ffffff;
  border:1px solid #e6edf7;
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 24px rgba(0,0,0,.06);
}

body.single-product .woocommerce div.product .woocommerce-product-gallery{
  overflow:hidden;
}

/* Product title */
body.single-product .product_title{
  font-weight: 900;
  letter-spacing: .2px;
  margin-bottom: 10px;
}

/* Price stronger */
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price{
  color:#0E5DA8;
  font-weight: 1000;
  font-size: 22px;
  margin: 8px 0 14px;
}

/* Stock + meta */
body.single-product .woocommerce div.product .stock{
  font-weight: 800;
  margin: 10px 0 12px;
}
body.single-product .woocommerce div.product .product_meta{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e6edf7;
  font-size: 13px;
}

/* Add-to-cart button */
body.single-product .single_add_to_cart_button{
  background:#0E5DA8 !important;
  border-radius:12px !important;
  font-weight: 900 !important;
  padding: 12px 16px !important;
}
body.single-product .single_add_to_cart_button:hover{
  filter: brightness(.96);
}

/* PayPal button spacing (keeps it, just nicer) */
body.single-product .woocommerce #payment .place-order,
body.single-product .ppc-button-wrapper,
body.single-product .wc-ppcp-button,
body.single-product .woocommerce .ppcp-button{
  margin-top: 10px !important;
}

/* Trust chips row injected by theme */
body.single-product .nt-product-trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 12px 0 14px;
}
body.single-product .nt-product-trust .nt-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  background:#EAF4FB;
  border:1px solid #d7e9f7;
  color:#0b1b2b;
  font-size:12px;
  font-weight:900;
}

/* WhatsApp CTA injected by theme */
body.single-product .nt-wa-cta{
  margin-top: 10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
body.single-product .nt-wa-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 14px;
  border-radius:12px;
  text-decoration:none;
  font-weight: 900;
  width: 100%;
}
body.single-product .nt-wa-cta .nt-wa-btn{
  background:#25D366;
  color:#fff;
}
body.single-product .nt-wa-cta .nt-wa-btn:hover{ filter: brightness(.97); }

body.single-product .nt-wa-cta .nt-ask-btn{
  background:#ffffff;
  color:#0E5DA8;
  border:1px solid #dbe6f5;
}
body.single-product .nt-wa-cta .nt-ask-btn:hover{ border-color:#0E5DA8; }

/* Tabs nicer */
body.single-product .woocommerce-tabs ul.tabs{
  border-bottom: 1px solid #e6edf7 !important;
  padding-left: 0 !important;
}
body.single-product .woocommerce-tabs ul.tabs li{
  border:0 !important;
  background:transparent !important;
  margin: 0 10px 0 0 !important;
}
body.single-product .woocommerce-tabs ul.tabs li a{
  font-weight: 900;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border:1px solid transparent !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a{
  background:#EAF4FB !important;
  border-color:#d7e9f7 !important;
}

/* Related products grid */
body.single-product .related ul.products,
body.single-product .upsells ul.products{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:18px;
}
body.single-product .related ul.products li.product,
body.single-product .upsells ul.products li.product{
  width:auto !important;
  margin:0 !important;
  background:#ffffff;
  border:1px solid #e6edf7;
  border-radius:18px;
  padding:14px;
  box-shadow:0 12px 24px rgba(0,0,0,.06);
}

@media (max-width: 980px){
  body.single-product .related ul.products,
  body.single-product .upsells ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px){
  body.single-product .related ul.products,
  body.single-product .upsells ul.products{
    grid-template-columns: 1fr;
  }
  body.single-product .woocommerce div.product .woocommerce-product-gallery,
  body.single-product .woocommerce div.product .summary{
    padding:14px;
  }
}


/* ============================
   Single Product Tweaks (spacing + width)
   ============================ */

/* Reduce excessive side whitespace on large screens */
@media (min-width: 1200px){
  body.single-product .woocommerce div.product{
    max-width: 1320px; /* wider content */
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* Increase gap between main image and thumbnails */
body.single-product .woocommerce div.product .woocommerce-product-gallery{
  padding: 18px 18px 22px;
}
body.single-product .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs,
body.single-product .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper + ol,
body.single-product .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper + .flex-control-nav{
  margin-top: 14px !important; /* space between main image and thumbnails */
  padding-top: 6px;
}

/* Add breathing room between thumbnail items */
body.single-product .woocommerce div.product .flex-control-thumbs li,
body.single-product .woocommerce div.product .flex-control-nav li{
  padding: 6px !important;
}

/* Slightly larger gallery image */
@media (min-width: 980px){
  body.single-product .woocommerce div.product .woocommerce-product-gallery{
    max-width: 520px;
  }
}

/* Slightly tighten the overall two-column gap */
@media (min-width: 980px){
  body.single-product .woocommerce div.product{
    column-gap: 22px;
  }
}


/* ============================
   Article (Single Post) Improvements
   Scoped to single posts only
   ============================ */
body.single-post .nt-article .nt-container{
  max-width: 1320px;
}

/* Better spacing & readability */
body.single-post .nt-article-header{
  margin-bottom: 18px;
}
body.single-post .nt-article-title{
  line-height: 1.1;
  letter-spacing: .2px;
}

/* Content typography */
body.single-post .nt-article-content,
body.single-post .nt-article .entry-content{
  font-size: 16px;
  line-height: 1.75;
  color: #0b1b2b;
  max-width: 920px; /* comfortable reading width */
}

/* Make media look cleaner */
body.single-post .nt-article img{
  border-radius: 14px;
}

/* CTA box injected after content */
body.single-post .nt-article-cta{
  margin: 26px 0 0;
  padding: 16px 18px;
  background: #EAF4FB;
  border: 1px solid #d7e9f7;
  border-radius: 16px;
}
body.single-post .nt-article-cta h3{
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 900;
}
body.single-post .nt-article-cta p{
  margin: 0 0 12px;
  color:#2b3a4a;
}
body.single-post .nt-article-cta .nt-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.single-post .nt-article-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 14px;
  border-radius: 12px;
  font-weight: 900;
  text-decoration:none;
}
body.single-post .nt-article-cta .nt-wa-btn{
  background:#25D366;
  color:#fff;
}
body.single-post .nt-article-cta .nt-wa-btn:hover{ filter: brightness(.97); }
body.single-post .nt-article-cta .nt-sec-btn{
  background:#ffffff;
  color:#0E5DA8;
  border:1px solid #dbe6f5;
}
body.single-post .nt-article-cta .nt-sec-btn:hover{ border-color:#0E5DA8; }

/* If a WooCommerce product appears inside an article, make it look like our product card */
body.single-post .nt-article .woocommerce div.product .woocommerce-product-gallery,
body.single-post .nt-article .woocommerce div.product .summary{
  background:#ffffff;
  border:1px solid #e6edf7;
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 24px rgba(0,0,0,.06);
}

/* Allow content + product blocks to use more width */
@media (max-width: 980px){
  body.single-post .nt-article-content,
  body.single-post .nt-article .entry-content{
    max-width: 100%;
  }
}
body.single-product .tu-clase { ... }

/* === NT SINGLE PRODUCT (Newegg-inspired) === */

body.single-product .nt-sp{
  padding: 22px 0 10px;
}
body.single-product .nt-sp__crumbs{
  max-width: 1500px;
  margin: 0 auto 10px;
  padding: 0 16px;
  color: #6b7b8b;
  font-size: 13px;
}
body.single-product .nt-sp__grid{
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 520px 1fr 360px;
  gap: 18px;
  align-items: start;
}
body.single-product .nt-sp__gallery{
  background:#fff;
  border:1px solid #e6edf7;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 12px 24px rgba(0,0,0,.06);
}
body.single-product .nt-sp__main{
  background:#fff;
  border:1px solid #e6edf7;
  border-radius: 18px;
  padding: 18px 18px 8px;
  box-shadow: 0 12px 24px rgba(0,0,0,.06);
}
body.single-product .nt-sp__buybox{
  position: sticky;
  top: 96px;
}
body.single-product .nt-buybox{
  background:#fff;
  border:1px solid #e6edf7;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 12px 24px rgba(0,0,0,.06);
}
body.single-product .nt-sp__title{
  font-size: 30px;
  line-height: 1.1;
  margin: 8px 0 10px;
}
body.single-product .nt-sp__brand-row{
  display:flex;
  justify-content: space-between;
  gap: 10px;
  align-items:center;
  color:#4d5d6d;
  font-size: 13px;
}
body.single-product .nt-sp__brand{
  font-weight: 900;
  padding: 6px 10px;
  border:1px solid #dbe6f5;
  border-radius: 999px;
  background:#f7fbff;
}
body.single-product .nt-sp__short{
  margin-top: 8px;
  color:#2b3a4a;
}
body.single-product .nt-sp__chips{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}
body.single-product .nt-chip{
  padding: 7px 10px;
  border-radius: 999px;
  background:#EAF4FB;
  border:1px solid #d7e9f7;
  font-weight: 900;
  font-size: 12px;
}
body.single-product .nt-sp__keybox{
  border:1px solid #e6edf7;
  border-radius: 14px;
  padding: 12px 12px 10px;
  background:#fbfdff;
}
body.single-product .nt-sp__keybox-title{
  font-weight: 1000;
  margin-bottom: 8px;
}
body.single-product .nt-sp__bullets{
  margin: 0;
  padding-left: 18px;
  color:#2b3a4a;
}
body.single-product .nt-sp__tabsbar{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #eaf1fb;
}
body.single-product .nt-sp__tabsbar a{
  text-decoration:none;
  color:#0b1b2b;
  font-weight: 900;
  padding: 8px 10px;
  border-radius: 10px;
}
body.single-product .nt-sp__tabsbar a:hover{
  background:#EAF4FB;
}
body.single-product .nt-buybox__price .price{
  font-size: 28px !important;
  font-weight: 1000 !important;
}
body.single-product .nt-btn{
  display:flex;
  justify-content:center;
  align-items:center;
  gap: 8px;
  padding: 12px 12px;
  border-radius: 14px;
  font-weight: 1000;
  text-decoration:none;
  margin-top: 10px;
}
body.single-product .nt-btn--wa{
  background:#25D366;
  color:#fff;
}
body.single-product .nt-btn--ghost{
  background:#fff;
  color:#0E5DA8;
  border:1px solid #dbe6f5;
}
body.single-product .nt-buybox__trust{
  margin-top: 12px;
  border-top: 1px solid #eaf1fb;
  padding-top: 10px;
  color:#2b3a4a;
  font-size: 13px;
}
body.single-product .nt-trust{ margin: 6px 0; }

/* Sticky bar */
body.single-product .nt-sp__stickybar{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 9999;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #e6edf7;
  transform: translateY(-110%);
  transition: transform .25s ease;
}
body.single-product .nt-sp__stickybar.is-visible{ transform: translateY(0); }
body.single-product .nt-sp__stickyinner{
  max-width: 1500px;
  margin: 0 auto;
  padding: 10px 16px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
}
body.single-product .nt-sp__stickycta{
  display:flex;
  align-items:center;
  gap: 10px;
}
body.single-product .nt-btn--sm{
  padding: 10px 12px;
  border-radius: 12px;
  margin: 0;
}
body.single-product .nt-sp__stickyprice .price{
  margin:0 !important;
  font-size: 18px !important;
}

/* Tabs: keep default Woo tabs looking clean inside */
body.single-product .woocommerce-tabs{
  margin-top: 18px;
}
body.single-product .woocommerce-tabs ul.tabs{
  padding-left: 0;
}
body.single-product .woocommerce-tabs ul.tabs li{
  border-radius: 12px 12px 0 0;
}
body.single-product .woocommerce-tabs .panel{
  border:1px solid #e6edf7;
  border-radius: 0 14px 14px 14px;
  padding: 16px;
  background:#fff;
}

/* Similar carousel */
body.single-product .nt-sp__similar{
  max-width: 1500px;
  margin: 22px auto 0;
  padding: 0 16px 24px;
}
body.single-product .nt-sp__sectionhead{
  display:flex;
  justify-content: space-between;
  align-items:end;
  gap: 10px;
  margin-bottom: 10px;
}
body.single-product .nt-carousel{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
}
body.single-product .nt-carousel__track{
  display:flex !important;
  gap: 16px;
}
body.single-product .nt-carousel__track li.product{
  min-width: 260px;
  flex: 0 0 auto;
}

/* Responsive */
@media (max-width: 1200px){
  body.single-product .nt-sp__grid{ grid-template-columns: 460px 1fr 340px; }
}
@media (max-width: 980px){
  body.single-product .nt-sp__grid{ grid-template-columns: 1fr; }
  body.single-product .nt-sp__buybox{ position: static; }
}


/* === NT SINGLE PRODUCT: WIDE WRAPPER FIX === */

/* Force full-width wrappers on single product only (theme may use narrow blog container) */
body.single-product #page,
body.single-product .site,
body.single-product .site-content,
body.single-product .content-area,
body.single-product .site-main,
body.single-product .container,
body.single-product .wrap,
body.single-product .wrapper,
body.single-product .entry-content,
body.single-product .woocommerce,
body.single-product .woocommerce-page{
  max-width: none !important;
  width: 100% !important;
}
/* If theme centers an inner wrapper, remove side padding/margins */
body.single-product .site-content,
body.single-product .site-main{
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Hide duplicated breadcrumb if theme prints one already */
body.single-product .nt-sp__crumbs + .woocommerce-breadcrumb{
  display:none !important;
}
/* Also hide any breadcrumb inside header area that duplicates ours (best-effort) */
body.single-product .entry-header .woocommerce-breadcrumb,
body.single-product .page-header .woocommerce-breadcrumb{
  display:none !important;
}


/* === NT SINGLE PRODUCT: REMOVE WC PRODUCT MAX-WIDTH === */

/* Theme had a max-width on WooCommerce product wrapper; remove it for full layout */
body.single-product.woocommerce div.product,
body.single-product .woocommerce div.product,
body.single-product .woocommerce-page div.product{
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Keep our own spacing */
body.single-product .nt-sp{
  padding: 22px 0 10px !important;
}

/* === NT SINGLE PRODUCT: BEAUTIFY DEFAULT WC LAYOUT === */

/* Soft page background */
body.single-product{
  background:#f3f6fb;
}

/* Main product wrapper as a clean 2-col layout (like Newegg) */
body.single-product.woocommerce div.product,
body.single-product .woocommerce div.product,
body.single-product .woocommerce-page div.product{
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 18px 16px 26px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important;
  gap: 24px !important;
  align-items: start !important;
  background: transparent !important;
}

/* Gallery card */
body.single-product .woocommerce div.product div.images{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  background:#fff;
  border:1px solid #e6edf7;
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 14px 30px rgba(0,0,0,.06);
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
  border-radius: 18px;
  overflow: hidden;
}
body.single-product .woocommerce div.product div.images img{
  border-radius: 18px;
}

/* Thumbnail strip nicer */
body.single-product .woocommerce div.product div.images .flex-control-thumbs{
  margin-top: 12px !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs li{
  width: auto !important;
  margin: 0 !important;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs img{
  border-radius: 14px;
  border: 1px solid #e6edf7;
  padding: 2px;
  opacity: .9;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs img.flex-active,
body.single-product .woocommerce div.product div.images .flex-control-thumbs img:hover{
  opacity: 1;
  border-color:#0E5DA8;
}

/* Summary (right side) as a premium card */
body.single-product .woocommerce div.product div.summary{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  background:#fff;
  border:1px solid #e6edf7;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 14px 30px rgba(0,0,0,.06);
}

/* Sticky buy area on desktop */
@media (min-width: 981px){
  body.single-product .woocommerce div.product div.summary{
    position: sticky;
    top: 96px;
  }
}

/* Typography upgrades */
body.single-product .woocommerce div.product .product_title{
  font-size: 34px;
  line-height: 1.08;
  margin-bottom: 10px;
}
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price{
  font-size: 30px !important;
  font-weight: 1000 !important;
  color:#0b1b2b;
  margin: 8px 0 12px;
}
body.single-product .woocommerce div.product .woocommerce-product-rating{
  margin: 6px 0 12px;
}
body.single-product .woocommerce div.product .woocommerce-product-details__short-description{
  color:#2b3a4a;
  margin: 10px 0 14px;
}
body.single-product .woocommerce div.product .woocommerce-product-details__short-description ul{
  margin: 0;
  padding-left: 18px;
}

/* Group buttons feel consistent */
body.single-product .woocommerce div.product form.cart{
  margin-top: 12px;
}
body.single-product .woocommerce div.product form.cart .quantity{
  margin-right: 10px;
}
body.single-product .woocommerce div.product form.cart .quantity input{
  border-radius: 12px;
  border: 1px solid #dbe6f5;
  height: 44px;
}

/* Meta inside card */
body.single-product .woocommerce div.product .product_meta{
  background:#fbfdff;
  border:1px solid #e6edf7;
  border-radius: 14px;
  padding: 12px;
}

/* Tabs section centered + card panels */
body.single-product .woocommerce-tabs{
  max-width: 1500px;
  margin: 12px auto 0;
  padding: 0 16px 26px;
}

/* Related/upsell sections match width */
body.single-product .related,
body.single-product .upsells{
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 16px 30px;
}

/* Responsive: stack nicely */
@media (max-width: 980px){
  body.single-product.woocommerce div.product,
  body.single-product .woocommerce div.product,
  body.single-product .woocommerce-page div.product{
    grid-template-columns: 1fr !important;
  }
  body.single-product .woocommerce div.product div.images .flex-control-thumbs{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}


/* === NT FIX: prevent duplicated product layout inside tabs (nested shortcodes/builders) === */
body.single-product .woocommerce-tabs .woocommerce-product-gallery,
body.single-product .woocommerce-tabs .summary,
body.single-product .woocommerce-tabs form.cart,
body.single-product .woocommerce-tabs .nt-product-trust,
body.single-product .woocommerce-tabs .nt-wa-cta,
body.single-product .woocommerce-tabs .paypal-buttons,
body.single-product .woocommerce-tabs .woocommerce-product-gallery__trigger{
  display: none !important;
}
/* If a full product gets rendered inside description, remove its spacing */
body.single-product .woocommerce-tabs div.product{
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border: 0 !important;
}

