/*
Theme Name: Linde Digital
Theme URI: https://lindedigital.com
Author: Arnaldo
Description: Tema a medida para Linde Digital, portal de difusión y divulgación tecnológica. Identidad propia: verde "linde" (alusión al nombre — la linde es la línea que separa fincas), tipografía serif editorial + mono para etiquetas.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: linde-digital
*/

:root{
  --ink:#1B211D;
  --paper:#F4F5F1;
  --surface:#FFFFFF;
  --linde:#2F5233;
  --signal:#B9821E;
  --line:#D9DBD2;
  --text-muted:#5B615A;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--paper);color:var(--ink);font-family:'Public Sans',sans-serif;line-height:1.55;margin:0;font-size:16px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
ul,ol{list-style:none;margin:0;padding:0;}
button{font:inherit;cursor:pointer;background:none;border:none;}
input,button{font-family:inherit;}

.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* --- elemento de firma: línea de linde --- */
.boundary{
  height:14px;
  background:repeating-linear-gradient(to right, var(--linde) 0 1px, transparent 1px 40px);
  border-top:2px solid var(--linde);
}

/* --- header --- */
.site-header{background:var(--surface);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:22px 32px;gap:24px;}
.logo, .logo a{font-family:'Source Serif 4',serif;font-weight:600;font-size:26px;letter-spacing:-0.01em;}
.custom-logo{max-height:48px;width:auto;}
.main-nav ul{display:flex;gap:28px;flex-wrap:wrap;}
.main-nav a{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid transparent;padding-bottom:4px;}
.main-nav a:hover, .main-nav .current-menu-item a{color:var(--linde);border-color:var(--linde);}
.header-right{display:flex;align-items:center;gap:20px;}
.search-toggle{width:34px;height:34px;display:flex;align-items:center;justify-content:center;}
.search-icon{width:16px;height:16px;border:1.6px solid var(--ink);border-radius:50%;position:relative;display:inline-block;}
.search-icon::after{content:"";position:absolute;width:7px;height:1.6px;background:var(--ink);bottom:-4px;right:-5px;transform:rotate(45deg);}

.search-panel{max-height:0;overflow:hidden;background:var(--surface);border-bottom:1px solid var(--line);transition:max-height .2s ease;}
.search-panel.open{max-height:90px;}
.search-panel .wrap{padding:18px 32px;}

.search-form{display:flex;gap:10px;max-width:420px;}
.search-field{flex:1;border:1.4px solid var(--line);border-radius:4px;padding:9px 12px;font-size:14px;background:var(--paper);color:var(--ink);}
.search-submit{border:1.4px solid var(--ink);border-radius:4px;padding:9px 16px;font-size:13px;font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.03em;}
.search-submit:hover{background:var(--ink);color:#fff;}

/* --- topics strip --- */
.topics{background:var(--surface);padding:16px 0;}
.topics-inner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.topics-label{font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-right:6px;}
.topics-inner ul{display:flex;gap:12px;flex-wrap:wrap;}
.topics-inner a{font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.03em;border:1.4px solid var(--line);padding:6px 14px;border-radius:20px;color:var(--ink);display:inline-block;}
.topics-inner a:hover{background:var(--linde);color:#fff;border-color:var(--linde);}

/* --- main --- */
.site-main{padding:44px 0 60px;}

.eyebrow, .eyebrow a{font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--linde);}
.eyebrow.signal, .eyebrow.signal a{color:var(--signal);}

/* --- hero --- */
.hero{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;background:var(--surface);border:1px solid var(--line);border-radius:4px;overflow:hidden;margin-bottom:44px;}
.hero img{width:100%;height:100%;object-fit:cover;min-height:340px;}
.hero-body{padding:36px 36px 36px 0;display:flex;flex-direction:column;justify-content:center;gap:14px;}
.hero-body h1{font-family:'Source Serif 4',serif;font-size:32px;line-height:1.2;font-weight:600;margin:0;}
.hero-body h1 a:hover{color:var(--linde);}
.hero-body p{color:var(--text-muted);font-size:15.5px;margin:0;}

.meta{font-size:13px;color:var(--text-muted);}
.meta a{color:var(--linde);font-weight:500;}

/* --- grid de tarjetas --- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:20px;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;}
.card img{width:100%;height:170px;object-fit:cover;}
.card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.card-body h2{font-family:'Source Serif 4',serif;font-size:18.5px;line-height:1.3;font-weight:600;margin:0;}
.card-body h2 a:hover{color:var(--linde);}
.card-body p{font-size:13.8px;color:var(--text-muted);flex:1;margin:0;}

/* --- archivo / búsqueda --- */
.archive-header, .search-header{margin-bottom:32px;}
.archive-header h1, .search-header h1{font-family:'Source Serif 4',serif;font-size:28px;font-weight:600;margin:8px 0 0;}
.archive-desc{color:var(--text-muted);margin-top:8px;font-size:14.5px;}

/* --- artículo individual / página --- */
.single-article{max-width:760px;margin:0 auto;}
.page-article{padding-top:8px;}
.single-header{margin-bottom:24px;}
.single-header h1{font-family:'Source Serif 4',serif;font-size:34px;line-height:1.2;font-weight:600;margin:10px 0 14px;}
.single-thumb{margin-bottom:32px;border-radius:4px;overflow:hidden;}
.single-content{font-size:17px;line-height:1.75;color:var(--ink);}
.single-content p{margin:0 0 22px;}
.single-content h2{font-family:'Source Serif 4',serif;font-size:24px;margin:36px 0 16px;}
.single-content h3{font-family:'Source Serif 4',serif;font-size:20px;margin:28px 0 14px;}
.single-content img{border-radius:4px;margin:16px 0;}
.single-content a{color:var(--linde);text-decoration:underline;}
.single-content blockquote{border-left:3px solid var(--linde);padding-left:18px;color:var(--text-muted);font-style:italic;margin:24px 0;}

/* --- 404 --- */
.not-found{max-width:560px;margin:40px auto;text-align:center;}
.not-found h1{font-family:'Source Serif 4',serif;font-size:26px;margin:12px 0 10px;}
.not-found p{color:var(--text-muted);margin-bottom:20px;}
.not-found .search-form{justify-content:center;margin:0 auto;}

/* --- paginación --- */
.pagination{display:flex;gap:8px;justify-content:center;margin-top:36px;font-family:'IBM Plex Mono',monospace;font-size:13px;}
.pagination a, .pagination span{border:1.4px solid var(--line);border-radius:4px;padding:8px 13px;}
.pagination .current{background:var(--ink);color:#fff;border-color:var(--ink);}
.pagination a:hover{border-color:var(--linde);color:var(--linde);}

/* --- comentarios (mínimo) --- */
.comments-area{max-width:760px;margin:48px auto 0;}
.comments-area .comment-body{border-top:1px solid var(--line);padding:18px 0;}

/* --- footer --- */
.site-footer{background:var(--surface);margin-top:20px;}
.footer-inner{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px;padding:48px 32px 32px;}
.footer-col h3{font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:14px;}
.footer-col p{font-size:14px;color:var(--text-muted);margin-bottom:14px;}
.footer-col ul li a{display:block;font-size:14px;padding:5px 0;color:var(--ink);}
.footer-col ul li a:hover{color:var(--linde);}
.footer-bottom{border-top:1px solid var(--line);padding:18px 32px;display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-muted);font-family:'IBM Plex Mono',monospace;flex-wrap:wrap;gap:8px;}

/* --- accesibilidad --- */
.screen-reader-text{position:absolute;left:-9999px;}
a:focus-visible, button:focus-visible, input:focus-visible{outline:2px solid var(--linde);outline-offset:2px;}

/* --- responsive --- */
@media (max-width: 900px){
  .hero{grid-template-columns:1fr;}
  .hero-body{padding:24px;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .footer-inner{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .header-inner{flex-wrap:wrap;padding:16px 20px;}
  .main-nav ul{gap:16px;}
  .wrap{padding:0 20px;}
  .grid{grid-template-columns:1fr;}
  .single-header h1{font-size:26px;}
  .footer-bottom{flex-direction:column;text-align:center;}
}
