/* Home (hito 2) y tarjetas de producto. Maqueta: comprarpapel-handoff/web/index.html */

.cp-eyebrow{display:block;margin:0;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.cp-section{padding-top:0;padding-bottom:96px;display:flex;flex-direction:column;gap:32px}
.cp-section-head{display:flex;flex-direction:column;gap:10px}
.cp-section-head h2{margin:0;line-height:1}
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:20px}
.cp-btn-lg{padding:18px 28px;font-size:16px;font-weight:700}
.cp-btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);padding:17px 27px}
.cp-btn-white{background:#fff;color:var(--brand);padding:16px 26px;font-weight:700;align-self:flex-start}
.cp-btn-white:hover{color:var(--brand)}
.cp-round{width:44px;height:44px;padding:0;flex:none}

/* ---------- Portada ---------- */
.cp-hero{padding-top:72px;padding-bottom:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:56px;align-items:center}
.cp-hero-text{display:flex;flex-direction:column;gap:28px}
.cp-badge{align-self:flex-start;margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);background:var(--brand-soft);padding:8px 14px;border-radius:var(--r-pill)}
.cp-hero h1{margin:0;line-height:.95}
.cp-hero h1 span{color:var(--brand)}
.cp-lead{margin:0;font-size:19px;line-height:1.55;color:var(--ink-2);max-width:540px}
.cp-hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.cp-hero-stats{display:flex;flex-wrap:wrap;gap:28px;padding-top:8px;margin:0}
.cp-hero-stats div{display:flex;flex-direction:column;gap:2px}
.cp-hero-stats dt{font-family:var(--font-display);font-weight:800;font-size:28px}
.cp-hero-stats dd{margin:0;font-size:14px;color:var(--ink-3)}
.cp-hero-art{position:relative;height:520px;border-radius:var(--r-xl);background:#E4E7E1;overflow:hidden}
.cp-sheet{position:absolute;width:46%;height:64%;border-radius:6px;box-shadow:0 30px 50px -24px rgba(18,20,23,.45)}
.cp-sheet-1{left:12%;top:14%;background:var(--kraft);transform:rotate(-14deg)}
.cp-sheet-2{left:22%;top:10%;background:var(--ink);transform:rotate(-6deg)}
.cp-sheet-3{left:34%;top:12%;background:var(--brand);transform:rotate(4deg)}
.cp-sheet-4{left:42%;top:20%;background:#fff;transform:rotate(11deg);display:flex;flex-direction:column;justify-content:flex-end;padding:28px;gap:6px}
.cp-sheet-4 strong{font-family:var(--font-display);font-weight:800;font-size:34px;letter-spacing:-.03em}
.cp-sheet-4 span{font-size:13px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}
.cp-hero-chip{position:absolute;right:24px;bottom:24px;background:#fff;border-radius:16px;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px -12px rgba(18,20,23,.35);font-size:14px;font-weight:600}
.cp-hero-chip i{width:10px;height:10px;border-radius:var(--r-pill);background:var(--ok);display:block}

/* ---------- Configurador ---------- */
.cp-config-wrap{padding-bottom:80px}
.cp-config{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:20px}
.cp-config-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:baseline}
.cp-config-head h2{margin:0;font-size:26px;letter-spacing:-.02em}
.cp-config-head span{font-size:14px;color:var(--ink-3)}
.cp-config-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;align-items:end}
.cp-config-form div{display:flex;flex-direction:column;gap:8px}
.cp-config-form label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
.cp-config-form select,.cp-config-form input{font:inherit;font-size:16px;padding:13px 16px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink);width:100%}
.cp-config-form .btn{height:52px;font-weight:700;font-size:16px;border-radius:var(--r-md)}

/* ---------- Tarjetas de categoría ---------- */
.cp-cat-card{background:var(--surface);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;color:var(--ink)}
.cp-cat-card:hover{color:var(--ink)}
.cp-cat-swatch{height:170px;border-bottom:1px solid var(--line-2);position:relative;overflow:hidden}
.cp-cat-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px}
.cp-cat-body strong{font-family:var(--font-display);font-size:22px}
.cp-cat-body span{font-size:14px;color:var(--ink-3)}
.cp-sw-couche{background:linear-gradient(135deg,#fff 0%,#E9ECEF 55%,#fff 100%)}
.cp-sw-offset{background:#F6F3EA}
.cp-sw-reciclado{background:#D9D6CC}
.cp-sw-especiales{background:var(--kraft)}
.cp-sw-creativos{background:linear-gradient(120deg,#B9C6D2 0%,#F1E3E8 40%,#C9D8C8 70%,#E8DDB8 100%)}
.cp-sw-kraft{background:#A8814F}
.cp-sw-adhesivo{background:#fff}
.cp-sw-adhesivo::after{content:'';position:absolute;right:-10px;bottom:-10px;width:130px;height:90px;background:var(--paper);border:1px dashed #A9AEA5;transform:rotate(-10deg)}
.cp-sw-autocopiativo{background:linear-gradient(180deg,#fff 0 33%,#FCE9EE 33% 66%,#FFF6CF 66% 100%)}
.cp-sw-sobres{background:var(--brand-soft)}

/* ---------- Cómo funciona ---------- */
.cp-steps{background:var(--ink);color:var(--paper)}
.cp-steps .cp-wrap{padding-top:96px;padding-bottom:96px;display:flex;flex-direction:column;gap:48px}
.cp-steps .cp-eyebrow{color:var(--brand-on-dark)}
.cp-steps h2{color:var(--paper)}
.cp-steps-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}
.cp-steps-grid li{border-top:2px solid var(--paper);padding-top:24px;display:flex;flex-direction:column;gap:12px}
.cp-steps-grid span{font-family:var(--font-display);font-weight:800;font-size:56px;line-height:1;color:var(--brand-on-dark)}
.cp-steps-grid strong{font-size:22px}
.cp-steps-grid p{margin:0;color:var(--foot-text);line-height:1.6}
.cp-steps + .cp-section{padding-top:96px}

/* ---------- Tarjetas de producto ---------- */
.cp-prod-card{background:var(--surface);border-radius:var(--r-lg);padding:14px;display:flex;flex-direction:column;gap:16px}
.cp-prod-link{display:flex;flex-direction:column;gap:16px;color:var(--ink)}
.cp-prod-link:hover{color:var(--ink)}
.cp-prod-img{height:220px;border-radius:var(--r-md);background:#ECEEE9;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cp-prod-img img{width:100%;height:100%;object-fit:cover}
.cp-prod-body{padding:0 8px;display:flex;flex-direction:column;gap:6px}
.cp-prod-brand{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.cp-prod-body strong{font-size:18px;line-height:1.3}
.cp-prod-sub{font-size:14px;color:var(--ink-3)}
.cp-prod-foot{padding:0 8px 8px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto}
.cp-prod-price{display:flex;flex-direction:column}
.cp-prod-price small{font-size:12px;color:var(--ink-3)}
.cp-prod-price b{font-family:var(--font-display);font-weight:800;font-size:22px}
.cp-prod-price em{font-style:normal;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--ink-3)}

/* ---------- Profesionales + Ecológico ---------- */
.cp-duo{padding-bottom:96px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:20px}
.cp-duo > div{border-radius:var(--r-xl);padding:48px;display:flex;flex-direction:column;gap:20px;justify-content:space-between;min-height:360px}
.cp-duo > div > div{display:flex;flex-direction:column;gap:16px}
.cp-duo h2{margin:0;font-size:clamp(30px,8vw,40px);line-height:1.02;letter-spacing:-.03em;overflow-wrap:anywhere}
.cp-duo p{margin:0;font-size:17px;line-height:1.6}
.cp-duo-pro{background:var(--brand);color:#fff}
.cp-duo-pro .cp-eyebrow{color:#D6ECF6}
.cp-duo-pro p{color:#E6F3F9}
.cp-duo-eco{background:var(--eco);color:#18291A}
.cp-duo-eco .cp-eyebrow{color:var(--eco-ink)}
.cp-duo-eco p{color:#2D3F2F}
.cp-pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cp-pills li{border:1.5px solid var(--eco-ink);border-radius:var(--r-pill);padding:10px 16px;font-weight:700;font-size:14px}

/* ---------- Marcas ---------- */
.cp-brands{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.cp-brands .cp-wrap{padding-top:40px;padding-bottom:40px;display:flex;flex-direction:column;gap:24px}
.cp-brands .cp-eyebrow{text-align:center;color:var(--ink-3)}
.cp-brands ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:18px 44px;font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.01em}
.cp-brands a{color:var(--ink-2)}
.cp-brands a:hover{color:var(--brand)}
.cp-brands ul:has(img){align-items:center;gap:24px 40px}
.cp-brands a:has(img){display:flex;align-items:center;height:56px}
/* Logos en PNG sin fondo y recortados; en gris hasta pasar el ratón */
.cp-brands img{display:block;width:auto;height:auto;max-height:46px;max-width:150px;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}
.cp-brands a:hover img,.cp-brands a:focus-visible img{filter:none;opacity:1}
@media (max-width:600px){.cp-brands ul:has(img){gap:16px 28px}.cp-brands img{max-width:120px;max-height:44px}}

/* ---------- Texto SEO final ---------- */
.cp-home-seo{padding-top:88px}

@media (max-width:600px){
  .cp-hero{padding-top:40px;gap:36px}
  .cp-hero-art{height:340px}
  .cp-duo > div{padding:28px;min-height:0}
}

/* ---------- Categoría (provisional hasta el hito 4) ---------- */
.cp-cat-intro{max-width:720px;font-size:18px;line-height:1.55;color:var(--ink-2);margin:0 0 32px}
.cp-cat-seo{margin-top:88px;padding-top:56px;border-top:1px solid var(--line)}
.cp-cat-seo img{display:inline-block;height:110px;width:auto;margin:4px 12px 4px 0;vertical-align:middle;background:#fff;border-radius:var(--r-sm);padding:6px}

/* ---------- Listados de WooCommerce con las tarjetas del tema ---------- */
.cp-woo .woocommerce-products-header__title,.cp-woo h1.page-title{margin:0 0 12px}
.cp-woo ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:20px}
.cp-woo ul.products::before,.cp-woo ul.products::after{display:none}
.cp-woo ul.products li.cp-li{width:auto;margin:0;padding:0;float:none;display:flex}
.cp-woo ul.products li.cp-li > .cp-prod-card{width:100%}
.cp-woo .woocommerce-result-count{margin:0;font-size:14px;color:var(--ink-3);align-self:center}
.cp-woo .woocommerce-ordering{margin:0}
.cp-woo .woocommerce-ordering select{font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:10px 40px 10px 18px;appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23121417' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.cp-woo .woocommerce-ordering select:focus-visible{border-color:var(--brand)}
.cp-listado-barra{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 24px}
.cp-woo .woocommerce-pagination ul{list-style:none;margin:40px 0 0;padding:0;display:flex;gap:8px;justify-content:center;border:0}
.cp-woo .woocommerce-pagination li{border:0}
.cp-woo .woocommerce-pagination a,.cp-woo .woocommerce-pagination span{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);font-weight:600}
.cp-woo .woocommerce-pagination span.current{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:600px){
  .cp-woo ul.products{grid-template-columns:1fr 1fr;gap:12px}
  .cp-prod-card{padding:10px;gap:12px;border-radius:16px}
  .cp-prod-img{height:150px}
  .cp-prod-body{padding:0 4px}
  .cp-prod-body strong{font-size:15px}
  .cp-prod-sub{font-size:12px}
  .cp-prod-foot{padding:0 4px 4px}
  .cp-prod-price b{font-size:17px}
  .cp-round{width:38px;height:38px}
}

/* La foto llena siempre la caja (WooCommerce forzaba height:auto y un margen inferior en las imágenes de los listados) */
.cp-prod-card .cp-prod-img img,
.woocommerce ul.products li.product .cp-prod-img img{display:block;width:100%;height:100%;object-fit:cover;margin:0;box-shadow:none}
