/*
Theme Name: DoctorWelding
Theme URI: https://doctorwelding.com
Author: DoctorWelding
Description: Tema técnico para DoctorWelding — magazine de soldadura. Identidad negra + cromo + azul de arco, contenido en blanco, asistente IA y comunidad. Base para el plugin DoctorWelding.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: doctorwelding
*/

/* ============================================================
   Design tokens
   ============================================================ */
:root{
  --bg:#07090d; --bg2:#0b0e14; --panel:#12151c; --panel2:#171b24;
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --text:#e8edf3; --muted:#98a3b3; --muted2:#6c7686;
  --blue:#1e90ff; --blue-bright:#36c5ff; --blue-deep:#0a84ff;
  --glow:rgba(30,144,255,.45); --glow-soft:rgba(30,144,255,.18);
  --chrome:linear-gradient(180deg,#fdfefe 0%,#e2e9f1 32%,#aeb9c7 54%,#cdd6e0 66%,#7c8694 100%);
  --ink:#141a22; --ink-soft:#566072; --ink-faint:#8a93a1;
  --c-bg:#ffffff; --c-bg2:#f6f8fb; --c-line:#e7ebf0; --c-blue:#0a6ed1;
  --maxw:1200px; --r:10px; --r-lg:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--bg);color:var(--text);font-family:"Barlow",system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip;max-width:100%}
h1,h2,h3,h4,.display{font-family:"Saira Condensed","Barlow",sans-serif;font-weight:700;line-height:1.08;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.chrome{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.arc{color:var(--blue);text-shadow:0 0 18px var(--glow)}
.kicker{font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.28em;font-size:13px;font-weight:600;color:var(--blue-bright)}

.btn{font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:15px;padding:13px 26px;border-radius:var(--r);display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:1px solid transparent;transition:.2s;justify-content:center}
.btn-primary{background:linear-gradient(180deg,var(--blue-bright),var(--blue-deep));color:#fff;box-shadow:0 0 0 1px rgba(54,197,255,.4),0 8px 26px var(--glow)}
.btn-primary:hover{box-shadow:0 0 0 1px rgba(54,197,255,.7),0 10px 34px var(--glow);transform:translateY(-1px)}
.btn-ghost{background:rgba(255,255,255,.03);border-color:var(--line2);color:var(--text)}
.btn-ghost:hover{border-color:var(--blue);color:#fff}
.btn-blue{background:var(--c-blue);color:#fff;border:0}
.btn-blue:hover{filter:brightness(1.08)}
.btn-line{background:transparent;border:1px solid var(--c-line);color:var(--ink)}
.btn-line:hover{border-color:var(--c-blue);color:var(--c-blue)}

header.site-header{position:sticky;top:0;z-index:50;background:rgba(7,9,13,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:28px;height:80px}
.logo{display:flex;align-items:center;gap:12px;font-family:"Saira Condensed",sans-serif;font-weight:800;font-size:26px;letter-spacing:.02em;text-transform:uppercase}
.logo-img{height:52px;width:auto;display:block}
.nav-links{display:flex;gap:22px;margin-left:8px;list-style:none}
.nav-links a{font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:15px;font-weight:600;color:var(--muted);padding:6px 2px;position:relative;transition:.2s;display:inline-block}
.nav-links a:hover,.nav-links .current-menu-item>a,.nav-links li.active>a{color:#fff}
.nav-links a:hover::after,.nav-links .current-menu-item>a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--blue);box-shadow:0 0 10px var(--glow)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.lang{display:inline-flex;align-items:stretch;border:1px solid var(--line2);border-radius:8px;overflow:hidden;font-family:"Saira Condensed",sans-serif;font-weight:600;font-size:13px;line-height:1;list-style:none;margin:0;padding:0;height:36px}
.lang li{list-style:none;margin:0;padding:0;display:flex}
.lang a,.lang button,.lang span,.lang li>a{display:flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);border:0;margin:0;padding:0 12px;min-width:38px;height:100%;cursor:pointer;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.lang .active,.lang .current-lang>a,.lang li.current-lang>a{background:var(--blue-deep);color:#fff}
.icon-btn{width:40px;height:40px;border:1px solid var(--line2);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;font-size:18px;transition:.2s;flex:0 0 auto}
.icon-btn:hover{color:#fff;border-color:var(--blue)}
.burger{display:none}

.hero{position:relative;padding:16px 0;text-align:left;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;top:-220px;left:35%;width:680px;height:360px;background:radial-gradient(ellipse at center,var(--glow) 0%,transparent 62%);opacity:.3;pointer-events:none}
.hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:40px}
.hero-text{flex:0 0 36%}
.hero h1{font-size:clamp(19px,2.2vw,27px);text-transform:uppercase;margin:3px 0 0}
.hero p.sub{font-size:14px;color:var(--muted);max-width:none;margin:5px 0 0}
.hero-ask{flex:1;min-width:0}

.askbar{display:flex;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:6px 6px 6px 18px;box-shadow:0 0 0 1px rgba(54,197,255,.5),0 12px 34px var(--glow),0 6px 22px rgba(0,0,0,.5);transition:.2s}
.askbar:focus-within{box-shadow:0 0 0 2px var(--blue-bright),0 18px 60px var(--glow)}
.askbar .lead{color:var(--blue-deep);font-size:22px;display:flex}
.askbar input{flex:1;border:0;outline:0;background:transparent;color:#10151c;font-family:"Barlow",sans-serif;font-size:17px;padding:12px 6px;min-width:0}
.askbar input::placeholder{color:#8a93a1}
.askbar button{border:0;border-radius:11px;padding:13px 22px;font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:15px;color:#fff;background:linear-gradient(180deg,var(--blue-bright),var(--blue-deep));cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap}

.content{background:var(--c-bg);color:var(--ink);padding:44px 0 72px;min-height:60vh}
.blog{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.blog-head{margin-bottom:26px}
.blog-head .k{font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:13px;font-weight:600;color:var(--c-blue)}
.blog-head h1,.blog-head h2{color:var(--ink);font-size:clamp(28px,4vw,40px);text-transform:uppercase;margin-top:8px}
.filter{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.fchip{font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600;padding:7px 14px;border-radius:30px;border:1px solid var(--c-line);color:var(--ink-soft);transition:.2s;display:inline-block}
.fchip:hover{border-color:var(--c-blue);color:var(--c-blue)}
.fchip.on{background:var(--c-blue);border-color:var(--c-blue);color:#fff}

.feat{border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;background:var(--c-bg);box-shadow:0 8px 30px rgba(20,30,50,.06);margin-bottom:30px;transition:.2s;display:block;color:inherit}
.feat:hover{box-shadow:0 14px 40px rgba(20,30,50,.1);transform:translateY(-3px)}
.feat .ft-thumb{height:300px;background:linear-gradient(135deg,#0d1119,#1b2433);position:relative;display:grid;place-items:center;color:#39465c;font-size:60px;overflow:hidden}
.feat .ft-thumb img{width:100%;height:100%;object-fit:cover}
.feat .ft-thumb::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 32%,var(--glow-soft),transparent 60%);pointer-events:none}
.feat .ft-body{padding:26px 28px}
.feat h2,.feat h3{color:var(--ink);font-size:30px;line-height:1.12;margin:12px 0 10px}
.feat .ex{color:var(--ink-soft);font-size:16px}
.tag{font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;background:var(--c-blue);color:#fff;padding:5px 12px;border-radius:7px;display:inline-block}
.tag.float{position:absolute;top:16px;left:16px;z-index:2;box-shadow:0 6px 18px rgba(10,110,209,.4)}
.tag.soft{background:var(--c-bg2);color:var(--c-blue)}
.meta{display:flex;align-items:center;gap:14px;color:var(--ink-faint);font-size:13.5px;margin-top:16px;flex-wrap:wrap}
.meta span,.meta a{display:inline-flex;align-items:center;gap:6px;color:inherit}
.meta a:hover{color:var(--c-blue)}

.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.post{border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;background:var(--c-bg);display:flex;flex-direction:column;transition:.2s;color:inherit;height:100%}
.post:hover{box-shadow:0 12px 34px rgba(20,30,50,.1);transform:translateY(-3px)}
.post .thumb{height:158px;background:linear-gradient(135deg,#0d1119,#1b2433);position:relative;display:grid;place-items:center;color:#39465c;font-size:40px;overflow:hidden}
.post .thumb img{width:100%;height:100%;object-fit:cover}
.post .thumb::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,var(--glow-soft),transparent 60%);pointer-events:none}
.post .pbody{padding:18px 20px;flex:1;display:flex;flex-direction:column;gap:8px}
.post h3{color:var(--ink);font-size:20px;line-height:1.15}
.post .ex{color:var(--ink-soft);font-size:14px;flex:1}
.loadmore{display:flex;justify-content:center;margin-top:34px;gap:10px;flex-wrap:wrap}

.sidebar{display:flex;flex-direction:column;gap:22px;position:sticky;top:96px}
.side-card{border:1px solid var(--c-line);border-radius:var(--r-lg);padding:20px 22px;background:var(--c-bg)}
.side-card h2,.side-card h3,.side-card h4{font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:15px;color:var(--ink);margin-bottom:14px}
.side-card ul{list-style:none}
.cat-row,.side-card li{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid var(--c-line);color:var(--ink-soft);font-size:15px;transition:.15s}
.cat-row:first-of-type,.side-card li:first-child{border-top:0}
.cat-row:hover,.side-card li a:hover{color:var(--c-blue)}
.cat-row .c{display:inline-flex;align-items:center;gap:10px}
.cat-row i{color:var(--c-blue);font-size:18px}
.cat-row .num,.side-card li .count{background:var(--c-bg2);color:var(--ink-faint);font-size:12px;font-weight:600;padding:2px 9px;border-radius:20px}
.pop-row{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--c-line)}
.pop-row:first-of-type{border-top:0}
.pop-row .pn{font-family:"Saira Condensed",sans-serif;font-weight:700;font-size:20px;color:#cdd4de}
.pop-row a{color:var(--ink);font-size:14.5px;font-weight:500;line-height:1.3}
.pop-row a:hover{color:var(--c-blue)}
.side-card.join{background:linear-gradient(160deg,var(--panel2),var(--panel));border-color:var(--line2);color:var(--text);box-shadow:0 0 30px var(--glow-soft)}
.side-card.join h2,.side-card.join h3,.side-card.join h4{color:#fff}
.side-card.join p{color:var(--muted);font-size:14px;margin-bottom:16px}

.breadcrumb{color:var(--ink-faint);font-size:13.5px;margin-bottom:18px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.breadcrumb a:hover{color:var(--c-blue)}
.art-head h1{color:var(--ink);font-size:clamp(30px,5vw,52px);text-transform:none;line-height:1.08;margin:14px 0 12px}
.art-cover{height:380px;border-radius:var(--r-lg);background:linear-gradient(135deg,#0d1119,#1b2433);position:relative;display:grid;place-items:center;color:#39465c;font-size:80px;margin:24px 0 30px;overflow:hidden}
.art-cover img{width:100%;height:100%;object-fit:cover}
.art-cover::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,var(--glow-soft),transparent 55%);pointer-events:none}
.prose{color:#283143;font-size:17.5px;line-height:1.8;max-width:760px}
.prose h2{color:var(--ink);font-size:28px;text-transform:none;margin:38px 0 14px}
.prose h3{color:var(--ink);font-size:22px;text-transform:none;margin:28px 0 10px}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 18px 22px}
.prose li{margin:7px 0}
.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--c-blue);text-decoration:underline;text-underline-offset:2px}
.prose img{border-radius:var(--r);margin:18px 0}
.prose blockquote{border-left:4px solid var(--c-blue);background:var(--c-bg2);padding:14px 20px;border-radius:0 var(--r) var(--r) 0;margin:24px 0;color:var(--ink-soft)}
.prose table{width:100%;border-collapse:collapse;margin:22px 0;font-size:15.5px}
.prose th,.prose td{border:1px solid var(--c-line);padding:10px 13px;text-align:left}
.prose th{background:var(--c-bg2);font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);font-weight:600}
.callout{border:1px solid #ffe0b3;background:#fff7ec;border-radius:var(--r);padding:16px 18px;margin:24px 0;display:flex;gap:12px;color:#7a5212;font-size:15.5px}
.callout i{color:#d98a14;font-size:22px;flex:0 0 auto}
.ask-cta{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line2);border-radius:var(--r-lg);padding:26px;margin:36px 0;color:var(--text);box-shadow:0 0 30px var(--glow-soft)}
.ask-cta h3{color:#fff;font-size:23px;text-transform:uppercase;margin-bottom:6px}
.ask-cta p{color:var(--muted);font-size:15px;margin-bottom:16px}
.share{display:flex;gap:10px;align-items:center;margin:30px 0;color:var(--ink-faint);font-size:14px;flex-wrap:wrap}
.share a{width:38px;height:38px;border:1px solid var(--c-line);border-radius:8px;display:grid;place-items:center;color:var(--ink-soft);transition:.2s}
.share a:hover{color:var(--c-blue);border-color:var(--c-blue)}
.author{display:flex;gap:14px;align-items:center;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);padding:22px 0;margin:30px 0}
.author .av{width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#cfd8e2,#6c7686);display:grid;place-items:center;font-weight:700;color:#1a2230;font-family:"Saira Condensed",sans-serif;font-size:20px;flex:0 0 auto;overflow:hidden}
.author b{color:var(--ink);font-size:16px;display:block}
.author span{color:var(--ink-faint);font-size:14px}
.section-title{font-size:24px;text-transform:uppercase;color:var(--ink);margin:40px 0 18px}

.comment-list{list-style:none}
.comment{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--c-line)}
.comment .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#cfd8e2,#6c7686);display:grid;place-items:center;font-weight:700;color:#1a2230;font-family:"Saira Condensed",sans-serif;flex:0 0 auto;overflow:hidden}
.comment .av img{border-radius:50%}
.comment .c-top{display:flex;gap:10px;align-items:center;margin-bottom:5px;flex-wrap:wrap}
.comment .c-top b{color:var(--ink);font-size:15px}
.comment .c-top time{color:var(--ink-faint);font-size:13px}
.comment p{color:var(--ink-soft);font-size:15px}
.comment .reply a{color:var(--c-blue);font-size:13.5px}
.comment .c-actions{display:flex;gap:16px;align-items:center;margin-top:8px;color:var(--ink-faint);font-size:13.5px;flex-wrap:wrap}
.comment .c-actions span{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.comment .c-actions span:hover{color:var(--c-blue)}
.comment .c-actions .dw-vote.voted{color:var(--c-blue);font-weight:600}
.comment .c-actions .dw-best{cursor:default}
.comment .children{list-style:none;margin:0 0 0 30px}
.comment-respond{margin-top:18px}
.comment-respond textarea{width:100%;border:1px solid var(--c-line);border-radius:var(--r);padding:13px 15px;font-family:"Barlow",sans-serif;font-size:15px;color:var(--ink);resize:vertical;min-height:110px;margin-bottom:12px}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url]{border:1px solid var(--c-line);border-radius:var(--r);padding:11px 14px;font-family:"Barlow",sans-serif;font-size:15px;color:var(--ink);margin:0 8px 12px 0}
.comment-respond .submit{background:var(--c-blue);color:#fff;border:0;border-radius:var(--r);padding:12px 26px;font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:600;cursor:pointer}

.page-numbers{display:inline-flex;gap:8px;flex-wrap:wrap;list-style:none;justify-content:center}
.page-numbers li a,.page-numbers li span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--c-line);border-radius:var(--r);color:var(--ink-soft);font-weight:500}
.page-numbers li .current{background:var(--c-blue);color:#fff;border-color:var(--c-blue)}
.page-numbers li a:hover{border-color:var(--c-blue);color:var(--c-blue)}

.notfound{text-align:center;padding:80px 0}
.notfound h1{color:var(--ink);font-size:90px}
.notfound p{color:var(--ink-soft);font-size:18px;margin:10px 0 26px}

.nl{position:relative;text-align:center;padding:72px 0;overflow:hidden;background:var(--bg)}
.nl::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--glow-soft),transparent 65%)}
.nl .inner{position:relative;z-index:2;max-width:600px;margin:0 auto}
.nl h2{font-size:clamp(28px,4vw,42px);text-transform:uppercase}
.nl p{color:var(--muted);margin:14px 0 26px;font-size:17px}
.nl form{display:flex;gap:12px;max-width:480px;margin:0 auto;flex-wrap:wrap}
.nl input{flex:1;min-width:220px;background:rgba(255,255,255,.05);border:1px solid var(--line2);border-radius:var(--r);color:var(--text);padding:14px 16px;font-family:inherit;font-size:16px}
footer.site-footer{background:#05070a;border-top:1px solid var(--line);padding:56px 0 28px}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:42px}
.f-col h4{font-family:"Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:#fff;margin-bottom:14px}
.f-col a{display:block;color:var(--muted);font-size:14.5px;padding:5px 0;transition:.2s}
.f-col a:hover{color:var(--blue-bright)}
.f-col ul{list-style:none}
.f-about p{color:var(--muted);font-size:14.5px;margin:14px 0 18px;max-width:300px}
.socials{display:flex;gap:10px}
.socials a{width:38px;height:38px;border:1px solid var(--line2);border-radius:8px;display:grid;place-items:center;color:var(--muted);font-size:17px;transition:.2s}
.socials a:hover{color:#fff;border-color:var(--blue)}
.f-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;color:var(--muted2);font-size:13.5px}

.alignwide{max-width:1040px;margin-left:auto;margin-right:auto}
.alignfull{max-width:none}
.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption-text,.wp-element-caption{color:var(--ink-faint);font-size:13.5px;text-align:center;margin-top:6px}
.screen-reader-text,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

@media(max-width:920px){
  .blog,.f-grid{grid-template-columns:1fr}
  .sidebar{position:static}
  .f-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .hero{text-align:center}
  .hero .inner{flex-direction:column;align-items:stretch;gap:16px}
  .hero-text{flex:none}
  .nav-links,.nav-right .lang,.nav-right .icon-btn{display:none}
  .burger{display:grid}
  .nav-links.open{display:flex;position:absolute;top:80px;left:0;right:0;flex-direction:column;background:var(--bg2);border-bottom:1px solid var(--line);padding:16px 24px;gap:6px;margin:0}
}

/* ============================================================
   Hardening: aísla el tema de CSS externo (Astra, plugins, page builders).
   Fuerza que las bandas de nivel superior se apilen a lo ancho.
   ============================================================ */
.dw-root{display:block;width:100%;max-width:100%}
.dw-root > header,
.dw-root > section,
.dw-root > footer{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  float:none !important;
  clear:both !important;
  column-count:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.dw-root .wrap{float:none !important;width:auto !important;margin-left:auto !important;margin-right:auto !important}
.dw-root .hero .inner{display:flex !important}
.dw-root .blog{display:grid !important}
.dw-root .grid2{display:grid !important}
.dw-root .nav{display:flex !important}
.dw-root .content{background:var(--c-bg) !important;color:var(--ink)}
.dw-root .post,.dw-root .feat,.dw-root .side-card,.dw-root .stat-card,.dw-root .panel-card{float:none !important}
.dw-root ul.nav-links,.dw-root .nav-links{list-style:none !important}
.dw-root .nav-links li{margin:0 !important;padding:0 !important;background:none !important}

/* Aprovechar pantallas grandes / 4K: más ancho de contenido */
@media (min-width:1700px){ :root{ --maxw:1460px } }
@media (min-width:2400px){ :root{ --maxw:1640px } }
