/* The Rolling Edge — capa de utilidades del tema.
   Los tokens viven en theme.json; aquí sólo lo que CSS puro debe resolver:
   estados hover, el motivo del arco, tarjetas y las variaciones de estilo de bloque. */

/* ---------- Alias locales de tokens (para escribir CSS legible) ---------- */
.te-site,.editor-styles-wrapper{--te-ink-950:var(--wp--preset--color--ink-950);--te-ink-900:var(--wp--preset--color--ink-900);--te-ink-800:var(--wp--preset--color--ink-800);--te-ink-700:var(--wp--preset--color--ink-700);--te-ink-500:var(--wp--preset--color--ink-500);--te-ink-200:var(--wp--preset--color--ink-200);--te-ink-100:var(--wp--preset--color--ink-100);--te-coral-100:var(--wp--preset--color--coral-100);--te-coral-500:var(--wp--preset--color--coral-500);--te-coral-600:var(--wp--preset--color--coral-600);--te-coral-700:var(--wp--preset--color--coral-700);--te-radius-md:10px;--te-radius-lg:16px;--te-dur:200ms;--te-ease:cubic-bezier(0.2,0,0,1)}

/* ---------- Encabezado adherido, translúcido ---------- */
.te-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,0.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--wp--preset--color--ink-100)}
.te-header .wp-block-site-title a{text-decoration:none}
.te-lockup{display:flex;align-items:center;gap:10px}
.te-lockup img,.te-lockup .custom-logo{width:34px;height:34px}

/* ---------- Eyebrow / display / lead / métrica ---------- */
.is-style-te-eyebrow{font-family:var(--wp--preset--font-family--mono)!important;font-size:var(--wp--preset--font-size--xs)!important;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--te-coral-700);display:flex;align-items:center;gap:12px;margin-bottom:0}
.is-style-te-eyebrow::before{content:"";width:26px;height:1px;background:currentColor;flex:none;opacity:0.6}
.has-text-color.is-style-te-eyebrow{color:inherit}
.is-style-te-display{font-family:var(--wp--preset--font-family--serif)!important;font-weight:500;letter-spacing:-0.02em;line-height:1.08}
.is-style-te-display em,.te-em{font-style:italic;color:var(--te-coral-600)}
.is-style-te-lead{font-size:var(--wp--preset--font-size--lg);line-height:1.6;color:var(--te-ink-700);max-width:64ch}
.is-style-te-metric{font-family:var(--wp--preset--font-family--mono)!important;font-size:clamp(2rem,3.4vw,2.75rem);font-weight:600;letter-spacing:-0.02em;line-height:1;margin:0}

/* ---------- Tarjetas ---------- */
.is-style-te-card,.is-style-te-card-accent,.is-style-te-card-interactive{background:var(--wp--preset--color--card);border:1px solid var(--te-ink-200);border-radius:var(--te-radius-lg);box-shadow:0 1px 2px rgba(31,34,36,0.06),0 2px 6px rgba(31,34,36,0.05)}
.is-style-te-card-accent{border-top:3px solid var(--wp--preset--color--coral-400)}
.is-style-te-card-interactive{transition:box-shadow var(--te-dur) var(--te-ease),transform var(--te-dur) var(--te-ease)}
.is-style-te-card-interactive:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(31,34,36,0.07),0 18px 40px rgba(31,34,36,0.10)}

/* ---------- Motivo: arco coral suave (eco del logomark) ---------- */
.is-style-te-arc{position:relative;overflow:hidden;isolation:isolate}
.is-style-te-arc::after{content:"";position:absolute;right:-180px;top:-140px;width:520px;height:520px;border-radius:50%;border:40px solid var(--te-coral-100);opacity:0.5;z-index:-1;pointer-events:none}
@media(max-width:781px){.is-style-te-arc::after{right:-240px;top:-200px;width:420px;height:420px;border-width:32px}}

/* ---------- Reglas y rejillas hairline ---------- */
.is-style-te-rule-top{border-top:2px solid var(--te-ink-200);padding-top:1.5rem}
.is-style-te-rule-top.has-accent-rule,.te-rule-accent{border-top-color:var(--te-coral-500)}
.is-style-te-hairline-grid{gap:1px!important;background:var(--te-ink-200);border:1px solid var(--te-ink-200);border-radius:var(--te-radius-lg);overflow:hidden}
.is-style-te-hairline-grid>.wp-block-column{background:var(--wp--preset--color--card);padding:1.75rem}
.te-dark .is-style-te-hairline-grid,.has-ink-900-background-color .is-style-te-hairline-grid,.has-ink-800-background-color .is-style-te-hairline-grid{background:rgba(255,255,255,0.10);border-color:rgba(255,255,255,0.10)}
.te-dark .is-style-te-hairline-grid>.wp-block-column,.has-ink-900-background-color .is-style-te-hairline-grid>.wp-block-column,.has-ink-800-background-color .is-style-te-hairline-grid>.wp-block-column{background:var(--te-ink-900)}

/* ---------- Botones: acento, secundario, fantasma ---------- */
.wp-block-button.is-style-te-accent>.wp-block-button__link{background:var(--te-coral-500);color:var(--te-ink-950);transition:background var(--te-dur) var(--te-ease),box-shadow var(--te-dur) var(--te-ease),transform 80ms linear}
.wp-block-button.is-style-te-accent>.wp-block-button__link:hover{background:var(--te-coral-600);color:#fff;box-shadow:0 6px 20px rgba(233,102,59,0.28)}
.wp-block-button.is-style-te-secondary>.wp-block-button__link{background:transparent;color:var(--te-ink-900);box-shadow:inset 0 0 0 1px var(--te-ink-200)}
.wp-block-button.is-style-te-secondary>.wp-block-button__link:hover{background:var(--wp--preset--color--sunken);color:var(--te-ink-950)}
.wp-block-button.is-style-te-ghost>.wp-block-button__link{background:transparent;color:var(--te-ink-900);padding-left:0.75rem;padding-right:0.75rem}
.wp-block-button.is-style-te-ghost>.wp-block-button__link:hover{background:var(--wp--preset--color--sunken)}
.wp-block-button__link{transition:background var(--te-dur) var(--te-ease),transform 80ms linear}
.wp-block-button__link:active{transform:translateY(1px)}
.te-dark .wp-block-button.is-style-te-secondary>.wp-block-button__link{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.24)}
.te-dark .wp-block-button.is-style-te-secondary>.wp-block-button__link:hover{background:rgba(255,255,255,0.08)}

/* ---------- Secciones oscuras ---------- */
.te-dark,.te-dark p,.te-dark li{color:rgba(255,255,255,0.68)}
.te-dark h1,.te-dark h2,.te-dark h3,.te-dark h4,.te-dark strong{color:#fff}
.te-dark a:where(:not(.wp-element-button)){color:var(--wp--preset--color--coral-300)}
.te-dark .is-style-te-eyebrow{color:var(--wp--preset--color--coral-300)}
.te-dark hr.wp-block-separator{border-color:rgba(255,255,255,0.14);color:rgba(255,255,255,0.14)}

/* ---------- Imágenes ---------- */
.is-style-te-framed img{border-radius:var(--te-radius-lg);border:1px solid var(--te-ink-200);box-shadow:0 2px 4px rgba(31,34,36,0.05),0 8px 18px rgba(31,34,36,0.08)}
.wp-block-post-featured-image img{border-radius:var(--te-radius-lg)}

/* ---------- Píldoras / etiquetas ---------- */
.te-tag,.wp-block-post-terms a,.wp-block-tag-cloud a{display:inline-block;font-family:var(--wp--preset--font-family--mono);font-size:var(--wp--preset--font-size--2xs)!important;letter-spacing:0.06em;text-transform:uppercase;color:var(--te-ink-700);background:var(--wp--preset--color--sunken);border:1px solid var(--te-ink-100);border-radius:999px;padding:4px 10px;text-decoration:none!important}
.wp-block-post-terms a:hover,.wp-block-tag-cloud a:hover{background:var(--wp--preset--color--coral-50);border-color:var(--wp--preset--color--coral-200,#ffcdb6);color:var(--te-coral-700)}
.te-mono{font-family:var(--wp--preset--font-family--mono);font-size:var(--wp--preset--font-size--xs);letter-spacing:0.08em;text-transform:uppercase;color:var(--te-ink-500)}

/* ---------- Listado de entradas ---------- */
.wp-block-post-date,.wp-block-post-author-name{font-family:var(--wp--preset--font-family--mono);font-size:var(--wp--preset--font-size--xs);letter-spacing:0.06em;color:var(--te-ink-500)}
.wp-block-post-title a{color:var(--te-ink-900);text-decoration:none}
.wp-block-post-title a:hover{color:var(--te-coral-700)}
.wp-block-query-pagination{font-family:var(--wp--preset--font-family--mono);font-size:var(--wp--preset--font-size--sm);letter-spacing:0.04em}

/* ---------- Formularios (bloques + comentarios + búsqueda) ---------- */
.te-site input[type=text],.te-site input[type=email],.te-site input[type=url],.te-site input[type=tel],.te-site input[type=search],.te-site textarea,.te-site select{width:100%;font-family:inherit;font-size:var(--wp--preset--font-size--md);color:var(--te-ink-900);background:var(--wp--preset--color--card);border:1px solid var(--te-ink-200);border-radius:var(--te-radius-md);padding:0.7rem 0.85rem;transition:border-color var(--te-dur) var(--te-ease),box-shadow var(--te-dur) var(--te-ease)}
.te-site textarea{min-height:140px;resize:vertical}
.te-site input:focus,.te-site textarea:focus,.te-site select:focus{outline:none;border-color:var(--wp--preset--color--coral-400);box-shadow:0 0 0 3px rgba(245,130,90,0.40)}
.te-site label,.te-field-label{display:block;font-size:var(--wp--preset--font-size--sm);font-weight:600;color:var(--te-ink-900);margin-bottom:6px}
.te-help{font-size:var(--wp--preset--font-size--sm);color:var(--te-ink-500)}
.wp-block-search__button,.te-site .wp-element-button{border-radius:var(--te-radius-md)}
.wp-block-comment-author-name,.wp-block-comment-date{font-family:var(--wp--preset--font-family--mono);font-size:var(--wp--preset--font-size--xs);letter-spacing:0.05em}

/* ---------- Navegación móvil ---------- */
.wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--paper)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a{font-size:var(--wp--preset--font-size--xl)}

/* ---------- Respeto por reduce-motion ---------- */
@media(prefers-reduced-motion:reduce){.is-style-te-card-interactive,.wp-block-button__link{transition:none}.is-style-te-card-interactive:hover{transform:none}}

/* ---------- Listas del pie ---------- */
.te-footer-list{list-style:none;display:grid;gap:8px}
.te-footer-list a{color:rgba(255,255,255,0.68);text-decoration:none}
.te-footer-list a:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}

/* ---------- Formulario de contacto ---------- */
.te-form{display:grid;gap:1.25rem}
.te-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:781px){.te-form__row{grid-template-columns:1fr}}
.te-form__field{display:block}
.te-form__field label span{color:var(--te-coral-600)}
.te-form__footer{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;margin-top:0.25rem}
.te-form__footer .te-help{margin:0;max-width:34ch}
.te-form__submit{font-family:inherit;font-size:var(--wp--preset--font-size--md);font-weight:600;color:#fff;background:var(--te-ink-900);border:0;border-radius:var(--te-radius-md);padding:0.8rem 1.4rem;cursor:pointer;transition:background var(--te-dur) var(--te-ease),transform 80ms linear}
.te-form__submit:hover{background:var(--te-ink-800)}
.te-form__submit:active{transform:translateY(1px)}
.te-notice{border:1px solid var(--te-ink-200);border-radius:var(--te-radius-md);padding:0.9rem 1rem;margin-bottom:1.5rem;font-size:var(--wp--preset--font-size--sm)}
.te-notice--ok{background:#e9f4ee;border-color:#2f8f63;color:#1f6b49}
.te-notice--error{background:#fcecea;border-color:#cf4b3e;color:#a23529}
