/* Theme Name: Cafepedia Theme URI: https://cafepedia.example Author: Cafepedia Description: Tema a medida para Cafepedia, la enciclopedia del café. Incluye plantillas para home, categorías (agrupadas por marca), entradas individuales y páginas estáticas, más las taxonomías personalizadas "Marca" y "Tipo de contenido". Version: 1.0 Requires at least: 6.0 Requires PHP: 7.4 Text Domain: cafepedia */ :root{ --ink:#2B1710; --ink-soft:#6B5A4E; --ink-faint:#9A8B7E; --cream:#FBF6EF; --paper:#FFFFFF; --caramel:#8C5A38; --caramel-deep:#6E4529; --tan-bg:#F1E4D6; --line: rgba(43,23,16,0.12); --line-soft: rgba(43,23,16,0.07); --sans:'Inter', -apple-system, BlinkMacSystemFont, sans-serif; --head:'Poppins', var(--sans); --radius: 10px; } *{box-sizing:border-box;} html{scroll-behavior:smooth;} body{ margin:0;background:var(--cream);color:var(--ink); font-family:var(--sans);line-height:1.6;font-size:16px; -webkit-font-smoothing:antialiased; } img{max-width:100%;display:block;height:auto;} a{color:var(--caramel);text-decoration:none;} a:hover{color:var(--caramel-deep);} h1,h2,h3,h4{font-family:var(--head);font-weight:600;margin:0 0 .5em;color:var(--ink);line-height:1.2;} p{margin:0 0 1em;} ul,ol{margin:0;padding:0;} li{list-style:none;} :focus-visible{outline:2px solid var(--caramel);outline-offset:2px;} .container{max-width:1140px;margin:0 auto;padding:0 28px;} .btn{ display:inline-block;background:var(--caramel);color:#fff;font-weight:600; font-size:14.5px;padding:12px 22px;border-radius:8px;border:none;cursor:pointer; } .btn:hover{background:var(--caramel-deep);color:#fff;} .pill{font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:999px;background:var(--tan-bg);color:var(--caramel-deep);letter-spacing:.01em;white-space:nowrap;} .muted{color:var(--ink-soft);} .eyebrow{font-size:13px;color:var(--caramel);font-weight:600;} .crumbs{font-size:13px;color:var(--ink-soft);} .crumbs a:hover{color:var(--caramel);} /* ---------- header (según el prototipo aprobado) ---------- */ .topbar{height:8px;background:var(--ink);} .site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;} .header-row{display:flex;align-items:center;gap:20px;padding:16px 28px;max-width:1180px;margin:0 auto;} .logo{display:flex;align-items:center;gap:8px;font-family:var(--head);font-weight:700;font-size:21px;flex-shrink:0;color:var(--ink);} .logo .mark{color:var(--caramel);} .logo img,.logo .custom-logo{height:48px !important;width:auto !important;max-width:220px;} .logo{display:flex;align-items:center;} .search-box{flex:1;max-width:520px;display:flex;align-items:center;gap:8px;background:#F1E4D6;border:1px solid rgba(107,90,78,.21);border-radius:17px;height:43px;padding:0 16px;} .search-box input{border:none;background:none;outline:none;font-family:var(--sans);font-size:14px;width:100%;color:var(--ink);} .lang{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:13.5px;font-weight:600;flex-shrink:0;white-space:nowrap;} .account{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink-soft);flex-shrink:0;white-space:nowrap;} .account:hover{color:var(--caramel);} .nav-toggle{display:none;background:none;border:none;font-size:22px;color:var(--ink);cursor:pointer;} .main-nav-wrap{border-top:1px solid var(--line);} .main-nav{ display:flex;gap:26px;list-style:none;margin:0;padding:16px 28px;max-width:1180px;margin:0 auto; font-size:15px;font-weight:700;letter-spacing:.02em;text-transform:uppercase; } .main-nav > li{position:relative;} .main-nav > li > a{color:var(--ink);display:flex;align-items:center;gap:5px;} .main-nav > li > a:hover{color:var(--caramel);} .main-nav li.menu-item-has-children > a::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6;} /* submenús desplegables */ .main-nav .sub-menu{ list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0; background:var(--paper);border:1px solid var(--line);border-radius:10px; min-width:210px;box-shadow:0 12px 28px rgba(43,23,16,.12); opacity:0;visibility:hidden;transform:translateY(4px); transition:opacity .15s ease, transform .15s ease;z-index:50; text-transform:none;font-weight:600;letter-spacing:normal; } .main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);} .main-nav .sub-menu li{margin:0;} .main-nav .sub-menu a{display:block;padding:9px 12px;font-size:14px;color:var(--ink-soft);border-radius:6px;white-space:nowrap;} .main-nav .sub-menu a:hover{background:var(--tan-bg);color:var(--caramel-deep);} /* ---------- footer ---------- */ .site-footer{background:var(--ink);color:rgba(251,246,239,.75);padding:56px 0 26px;margin-top:70px;} .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:36px;padding-bottom:38px;border-bottom:1px solid rgba(251,246,239,.14);} .footer-grid h4{font-family:var(--sans);font-size:12.5px;color:#D9A876;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px;} .footer-grid a{display:block;font-size:14px;color:rgba(251,246,239,.8);margin-bottom:9px;} .footer-grid a:hover{color:#fff;} .footer-brand .wordmark{color:#fff;font-family:var(--head);font-weight:700;font-size:19px;} .footer-brand p{font-size:13.5px;color:rgba(251,246,239,.6);max-width:260px;margin-top:12px;} .footer-news{display:flex;margin-top:6px;} .footer-news input{flex:1;border:1px solid rgba(251,246,239,.25);background:transparent;color:#fff;padding:10px 12px;font-size:13.5px;font-family:var(--sans);outline:none;} .footer-news button{border:none;background:var(--caramel);color:#fff;padding:0 16px;font-weight:600;cursor:pointer;} .footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:20px;font-size:12px;color:rgba(251,246,239,.5);} /* ---------- home: entrada destacada ---------- */ .hero-entry{ display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center; background:var(--paper);border:1px solid var(--line);border-radius:18px; padding:40px;margin-bottom:32px; } .hero-entry h1{font-size:clamp(28px,4vw,42px);margin-bottom:12px;} .hero-entry .excerpt{font-size:15.5px;color:var(--ink-soft);max-width:480px;} .hero-media{width:100%;aspect-ratio:1/1;background:var(--tan-bg);border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;} .hero-media img{width:100%;height:100%;object-fit:cover;border-radius:14px;} /* varias entradas destacadas seguidas: la última respira algo más */ .hero-entry:last-of-type{margin-bottom:44px;} /* ---------- banner de ofertas ---------- */ .offer-banner{background:#8A7C6C;text-align:center;padding:15px 20px;} .offer-banner a{color:#fff;font-size:15px;font-weight:700;letter-spacing:.01em;} /* ---------- carrusel principal (hero) ---------- */ .hero-carousel{position:relative;overflow:hidden;border-radius:0;margin:0 0 56px;} .hero-slide{display:none;position:relative;} .hero-slide.active{display:block;} .hero-slide img{width:100%;height:460px;object-fit:cover;display:block;} .hero-img{width:100%;height:460px;background:linear-gradient(135deg,#c9a37c,#8c5a38);display:flex;align-items:center;justify-content:center;} .hero-img span{font-size:54px;opacity:.5;} .hero-slide .overlay{ position:absolute;inset:0; background:linear-gradient(90deg, rgba(43,23,16,.88) 0%, rgba(43,23,16,.55) 38%, rgba(43,23,16,0) 72%); } .hero-content-wrap{position:absolute;inset:0;max-width:1180px;margin:0 auto;padding:0 28px;display:flex;align-items:flex-end;pointer-events:none;} .hero-content-wrap .slide-content{max-width:520px;padding-bottom:40px;pointer-events:auto;} .hero-slide .eyebrow{color:#E8C9A0;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-shadow:2px 2px 6px rgba(0,0,0,.65);} .hero-slide h1{color:#fff;font-size:clamp(24px,3.2vw,32px);margin:10px 0 20px;line-height:1.25;text-shadow:2px 3px 8px rgba(0,0,0,.65);} .hero-slide .btn-light{background:#fff;color:var(--caramel);font-weight:600;font-size:14px;padding:11px 22px;border:1px solid rgba(107,90,78,.21);border-radius:17px;display:inline-block;} .hero-arrow{ position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%; background:rgba(43,23,16,.5);color:#fff;border:none;font-size:18px;cursor:pointer; display:flex;align-items:center;justify-content:center; } .hero-arrow:hover{background:rgba(43,23,16,.75);} .hero-arrow.prev{left:18px;} .hero-arrow.next{right:18px;} /* ---------- explorar cafepedia ---------- */ .explore-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px 14px;} .explore-item{display:flex;flex-direction:column;align-items:center;gap:11px;width:104px;text-align:center;} .explore-circle{width:88px;height:88px;border-radius:50%;background:var(--tan-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:32px;} .explore-item span:last-child{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;} .explore-item:hover .explore-circle{background:#E9D5BE;} /* ---------- lo más nuevo ---------- */ .newest-section{background:var(--tan-bg);padding:52px 0;margin-top:10px;} .newest-track-wrap{position:relative;} .newest-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px;} .newest-track::-webkit-scrollbar{display:none;} .newest-card{flex:0 0 calc(33.333% - 14px);background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line);min-width:240px;} .newest-card img{width:100%;height:150px;object-fit:cover;display:block;} .newest-img{width:100%;height:150px;background:linear-gradient(135deg,#c9a37c,#8c5a38);display:flex;align-items:center;justify-content:center;} .newest-img span{font-size:30px;opacity:.5;} .newest-card .body{padding:18px;} .newest-card h3{font-size:16px;margin-bottom:6px;} .newest-card h3 a{color:var(--ink);} .newest-card p{font-size:13.5px;color:var(--ink-soft);margin-bottom:14px;} .newest-arrow{ position:absolute;top:calc(50% - 10px);transform:translateY(-50%);width:40px;height:40px;border-radius:50%; background:#fff;border:1px solid var(--line);color:var(--ink);font-size:16px;cursor:pointer; display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(43,23,16,.12); } .newest-arrow.prev{left:-14px;} .newest-arrow.next{right:-14px;} @media (max-width:900px){ .newest-card{flex:0 0 80%;} } /* ---------- search band ---------- */ .search-band{background:var(--ink);padding:48px 0;text-align:center;} .search-band h2{color:#fff;font-size:clamp(22px,3vw,30px);max-width:560px;margin:0 auto 22px;} .search-band form{max-width:520px;margin:0 auto;display:flex;background:#fff;border-radius:8px;overflow:hidden;} .search-band input{flex:1;border:none;padding:15px 16px;font-family:var(--sans);font-size:15px;outline:none;} .search-band button{border:none;background:var(--caramel);color:#fff;font-weight:600;padding:0 22px;cursor:pointer;} /* ---------- categorías (home) ---------- */ .section{padding:60px 0;} .section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px;flex-wrap:wrap;gap:14px;} .section-head h2{font-size:clamp(24px,3vw,32px);} .cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;} .cat-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;} .cat-card h3{font-size:18px;margin-bottom:8px;} .cat-card p{font-size:14px;color:var(--ink-soft);margin-bottom:14px;} .cat-card .count{font-size:12.5px;font-weight:600;color:var(--caramel);} /* ---------- guía destacada / afiliado ---------- */ .guide-feature{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:36px;display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center;} .guide-feature .gmedia{aspect-ratio:1/1;background:var(--tan-bg);border-radius:12px;overflow:hidden;} .guide-feature .gmedia img{width:100%;height:100%;object-fit:cover;} .guide-feature h3{font-size:24px;margin:8px 0 12px;} .disclosure{font-size:12px;color:var(--ink-faint);margin-top:14px;line-height:1.6;} /* ---------- listado de entradas (genérico: home, taxonomías) ---------- */ .entry-list{border-top:1px solid var(--line);} .entry-list .entry{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line-soft);} .entry-list .e-media{width:88px;height:88px;flex-shrink:0;background:var(--tan-bg);border-radius:8px;overflow:hidden;} .entry-list .e-media img{width:100%;height:100%;object-fit:cover;} .entry-list .e-body h3{font-size:17px;margin-bottom:4px;} .entry-list .e-body h3 a{color:var(--ink);} .entry-list .e-body h3 a:hover{color:var(--caramel);} .entry-list .e-meta{font-size:12.5px;color:var(--ink-faint);margin-bottom:6px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;} .entry-list .e-body p{font-size:14px;color:var(--ink-soft);margin:0;} /* ---------- página de categoría ---------- */ .cat-intro{padding:36px 0 30px;border-bottom:1px solid var(--line);margin-bottom:36px;} .cat-intro h1{font-size:clamp(30px,4.5vw,44px);margin:6px 0 14px;} .cat-intro .desc{font-size:15.5px;color:var(--ink-soft);max-width:680px;} .cat-stats{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);margin:14px 0;} .cat-stats b{color:var(--ink);} .jump-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;} .jump-row a{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--ink-soft);} .jump-row a:hover{border-color:var(--caramel);color:var(--caramel);} .featured-callout{display:flex;gap:22px;align-items:center;background:var(--ink);color:var(--cream);border-radius:14px;padding:28px;margin-bottom:44px;} .featured-callout .fmedia{width:88px;height:88px;flex-shrink:0;background:rgba(251,246,239,.08);border-radius:10px;overflow:hidden;} .featured-callout .fmedia img{width:100%;height:100%;object-fit:cover;} .featured-callout h2{color:#fff;font-size:21px;margin-bottom:8px;} .featured-callout p{font-size:14px;color:rgba(251,246,239,.75);margin:0 0 12px;} .featured-callout a{color:#D9A876;font-weight:600;border-bottom:1px solid #D9A876;padding-bottom:2px;} .brand-block{margin-bottom:38px;} .brand-block .bhead{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:6px;} .brand-block .bhead h3{font-size:18px;} .brand-block .bhead a{font-size:13px;color:var(--ink-soft);} .brand-block .bhead a:hover{color:var(--caramel);} /* ---------- entrada individual (single) ---------- */ .single-head{padding:44px 0 26px;border-bottom:1px solid var(--line);margin-bottom:34px;} .single-head h1{font-size:clamp(30px,4.5vw,44px);} .single-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0;font-size:13px;color:var(--ink-soft);} .single-content{max-width:720px;font-size:16.5px;color:var(--ink);} .single-content h2{font-size:22px;margin-top:1.6em;} .single-content p{margin-bottom:1.2em;} .single-content img{border-radius:10px;margin:1.4em 0;} .affiliate-box{max-width:720px;background:var(--tan-bg);border-radius:12px;padding:26px;margin:34px 0;} .affiliate-box p{margin-bottom:14px;font-size:14.5px;color:var(--ink-soft);} .related-block{max-width:720px;margin-top:50px;padding-top:30px;border-top:1px solid var(--line);} /* ---------- páginas estáticas ---------- */ .page-content{max-width:720px;padding:50px 0 80px;font-size:16.5px;} .page-content h1{font-size:clamp(28px,4vw,38px);margin-bottom:24px;} /* ---------- índice A-Z ---------- */ .az-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:36px;} .az-nav a{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--line);border-radius:6px;font-family:var(--head);font-size:14px;} .az-nav a:hover{background:var(--caramel);color:#fff;border-color:var(--caramel);} .az-group{margin-bottom:26px;} .az-group h3{font-family:var(--head);font-size:20px;color:var(--caramel);border-bottom:2px solid var(--tan-bg);padding-bottom:6px;margin-bottom:10px;} .az-group ul li{padding:5px 0;font-size:14.5px;} /* ---------- responsive ---------- */ @media (max-width:900px){ .hero-entry{grid-template-columns:1fr;} .hero-media{order:-1;max-width:280px;margin:0 auto;} .cat-grid{grid-template-columns:repeat(2,1fr);} .guide-feature{grid-template-columns:1fr;} .footer-grid{grid-template-columns:1fr 1fr;} } @media (max-width:680px){ .main-nav,.search-box,.lang,.account span{display:none;} .nav-toggle{display:block;margin-left:auto;} .main-nav-wrap{border-top:none;} .main-nav.nav-open{ display:flex;flex-direction:column;gap:2px; position:absolute;top:100%;left:0;right:0;background:var(--paper); padding:14px 20px 20px;border-top:1px solid var(--line); box-shadow:0 12px 24px rgba(43,23,16,.1); text-transform:none;font-size:14.5px; } .main-nav.nav-open .sub-menu{ position:static;display:block;opacity:1;visibility:visible; box-shadow:none;border:none;padding-left:14px;margin-top:2px;transform:none; } .header-row{position:relative;} .cat-grid{grid-template-columns:1fr;} .footer-grid{grid-template-columns:1fr;} .featured-callout{flex-direction:column;} }