/*
Theme Name: Blogdash
Author: Peregrine themes
Template: bloghash
Text Domain: blogdash
Description: Blogdash is the perfect pick for bloggers seeking a lightweight, customizable theme that suits them just right. With plenty of options to adjust colors and typography, making your site unique is a breeze. It’s SEO friendly and fully compatible with WPML, Gutenberg, Elementor, WooCommerce, and supports translation and RTL. Live preview: https://demo.peregrine-themes.com/bloghash/blogdash.
Author URI: https://peregrine-themes.com/
Version: 1.0.3
Requires at least: 5.0
Tested up to: 7.0
Requires PHP: 5.6
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: two-columns, right-sidebar, left-sidebar, footer-widgets, blog, news, entertainment, custom-background, custom-menu, custom-logo, post-formats, sticky-post, editor-style, threaded-comments, translation-ready, custom-colors, featured-images, full-width-template, theme-options, flexible-header, wide-blocks
*/

/* ==========================================================================
   RIONAIRE — identidad visual
   Concepto: guía carioca. El mosaico "calçada portuguesa" (Copacabana)
   como firma gráfica; las categorías como sellos de pasaporte/entrada.
   Tipografía: Fraunces (display, carácter editorial) + Inter (cuerpo)
   + IBM Plex Mono (fechas/metadatos, aire de billete).
   Si no están enqueued en functions.php, añade:
   Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700
   Inter:wght@400;500;600
   IBM+Plex+Mono:wght@500
   ========================================================================== */

.blogdash {
    --bloghash-radius: 3px;

    /* Paleta */
    --rio-ocean: #0d5c73;
    --rio-ocean-deep: #0a3d4d;
    --rio-sun: #f2a93b;
    --rio-coral: #ff6a4d;
    --rio-sand: #faf3e6;
    --rio-ink: #14262c;
    --rio-line: rgba(20, 38, 44, 0.12);

    /* Tipografía */
    --rio-font-display: "Fraunces", "Georgia", serif;
    --rio-font-body: "Inter", -apple-system, sans-serif;
    --rio-font-mono: "IBM Plex Mono", "SFMono-Regular", monospace;

    background-color: var(--rio-sand);
    color: var(--rio-ink);
    font-family: var(--rio-font-body);
}

.blogdash h1, .blogdash h2, .blogdash h3, .blogdash h4,
.blogdash .entry-title, .blogdash .widget-title {
    font-family: var(--rio-font-display);
    font-weight: 600;
    letter-spacing: -0.01em;
}

.blogdash .entry-meta, .blogdash .entry-meta a,
.blogdash time {
    font-family: var(--rio-font-mono);
    font-size: 1.2rem;
    letter-spacing: 0.02em;
}

/* Foco visible accesible en toda la interfaz (sustituye a outlines por defecto) */
.blogdash.using-keyboard *:focus-visible {
    outline: 2px solid var(--rio-ocean);
    outline-offset: 3px;
    border-radius: 2px;
}

.blogdash a { transition: color 0.2s ease; }

/* --------------------------------------------------------------------
   Firma: franja de calçada portuguesa (ondas B/N) — divisores clave
   -------------------------------------------------------------------- */

.blogdash .bloghash-article.post.sticky {
    outline: none;
}

.blogdash.bloghash-blog-horizontal .col-xs-12:not(:last-child) .bloghash-article {
    padding-bottom: 2.4rem;
    border-bottom: 1px solid var(--rio-line);
}

.blogdash.bloghash-blog-horizontal .bloghash-article.has-post-thumbnail:not(.format-quote) .entry-media .entry-image-link,
.blogdash.bloghash-blog-horizontal .bloghash-article.has-post-thumbnail:not(.format-quote) .entry-media img {
    height: 100%;
    object-fit: cover;
}

.blogdash.single-post .bloghash-article .entry-media img,
body.blogdash:not(.single-post) .bloghash-article .entry-media {
    border-radius: var(--bloghash-radius);
    box-shadow: none;
}

.blogdash #featured_links .widget-title,
.blogdash #popular_post .widget-title,
.blogdash #editors_choice .widget-title,
.blogdash #pyml .widget-title {
    font-size: 2.8rem;
    position: relative;
    padding-bottom: 1.4rem;
}

/* La ola bajo cada título de sección: firma repetida a pequeña escala */
.blogdash #featured_links .widget-title::after,
.blogdash #popular_post .widget-title::after,
.blogdash #editors_choice .widget-title::after,
.blogdash #pyml .widget-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 6.4rem;
    height: 6px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='6' viewBox='0 0 32 6'%3E%3Cpath d='M0 3 C 4 0, 4 6, 8 3 S 12 0, 16 3 S 20 6, 24 3 S 28 0, 32 3' fill='none' stroke='%230d5c73' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-size: 16px 6px;
}

.blogdash #pyml .bloghash-flex-row {
    --bloghash-gutter-x: 1px;
}

.blogdash #pyml .bloghash-post-item.style-1 {
    min-height: 40rem;
}

/* --------------------------------------------------------------------
   Header Layout 3 — nav con franja de ola bajo el menú
   -------------------------------------------------------------------- */

[data-darkmode=dark] .bloghash-breadcrumbs,
[data-darkmode=dark] .blogdash.bloghash-header-layout-3 .bloghash-nav-container {
    background: var(--rio-ocean-deep);
}

.blogdash.bloghash-header-layout-3 .bloghash-nav-container {
    box-shadow: none;
    position: relative;
}

.blogdash.bloghash-header-layout-3 .bloghash-nav-container::after {
    content: "";
    display: block;
    height: 7px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='7' viewBox='0 0 32 7'%3E%3Cpath d='M0 3.5 C 4 0, 4 7, 8 3.5 S 12 0, 16 3.5 S 20 7, 24 3.5 S 28 0, 32 3.5' fill='none' stroke='%23f2a93b' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-size: 16px 7px;
}

.blogdash.bloghash-header-layout-3 .bloghash-nav-container > .bloghash-container .bloghash-nav {
    min-height: 7.2rem;
}

.blogdash.bloghash-header-layout-3 #bloghash-header-inner .bloghash-nav>ul>li {
    margin-left: 3rem;
}

.blogdash.bloghash-header-layout-3 #bloghash-header-inner .bloghash-nav>ul>li>a {
    position: relative;
    font-weight: 500;
}

.blogdash.bloghash-header-layout-3 #bloghash-header-inner .bloghash-nav>ul>li>a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.4rem;
    width: 0;
    height: 2px;
    background: var(--rio-coral);
    transition: width 0.25s ease;
}

.blogdash.bloghash-header-layout-3 #bloghash-header-inner .bloghash-nav>ul>li:hover>a::after,
.blogdash.using-keyboard.bloghash-header-layout-3 #bloghash-header-inner .bloghash-nav>ul>li:focus-within>a::after {
    width: 100%;
}

/* --------------------------------------------------------------------
   Categorías = sellos de pasaporte (girados, borde punteado, mono)
   -------------------------------------------------------------------- */

.blogdash .bloghash-post-item .bloghash-post-content .post-category {
    line-height: 1.2;
    margin-bottom: 0.8rem;
}

.blogdash .post-category .cat-links a {
    --bloghash-radius: 3px;
    font-family: var(--rio-font-mono);
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.4rem 1rem 0.5rem;
    border: 1px dashed var(--rio-ocean);
    color: var(--rio-ocean);
    background: transparent;
    transform: rotate(-1.5deg);
    display: inline-block;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.blogdash .post-category .cat-links a:focus,
.blogdash.using-keyboard .post-category .cat-links a:hover {
    transform: rotate(0deg) translateY(-2px);
    background: var(--rio-ocean);
    color: var(--rio-sand);
}

/* --------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------- */

.blogdash #hero .swiper-button-prev,
.blogdash #hero .swiper-button-next {
    width: 4.6rem;
    height: 4.6rem;
    background-color: var(--rio-ocean);
    border-radius: 50%;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.blogdash #hero .swiper-button-prev:hover,
.blogdash #hero .swiper-button-next:hover {
    background-color: var(--rio-coral);
    transform: scale(1.06);
}

.blogdash #hero .swiper-button-prev,
.blogdash #hero .swiper-rtl .swiper-button-next {
    left: 22px;
    right: auto;
}

.blogdash #hero .swiper-button-next,
.blogdash #hero .swiper-rtl .swiper-button-prev {
    right: 22px;
    left: auto;
}

@media screen and (min-width: 869px) {
    .blogdash #hero .bloghash-post-item .bloghash-post-content .bloghash-btn {
        max-height: 0;
        min-height: 0;
        height: 0;
        transform: translateY(500%);
        opacity: 0;
        padding: 0rem 2rem;
        margin-top: 0;
        transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        display: flow-root;
        max-width: max-content;
        margin-left: auto;
        margin-right: auto;
        background-color: var(--rio-coral);
        border-color: var(--rio-coral);
    }

    .blogdash #hero .bloghash-post-item:hover .bloghash-post-content .bloghash-btn {
        max-height: 3em;
        height: 3em;
        transform: none;
        opacity: 1;
        padding: 0.8rem 2rem;
        margin-top: 2rem;
    }
}

/* --------------------------------------------------------------------
   Editors Choice / Popular
   -------------------------------------------------------------------- */

#popular_post,
#editors_choice {
    margin-top: 5.6rem;
    position: relative;
}

#popular_post .post-category .cat-links a {
    padding: 0;
    color: var(--rio-ocean);
    background: transparent;
    border: none;
    transform: none;
    margin-bottom: 0.4rem;
    vertical-align: middle;
}

#popular_post .post-category .cat-links a:hover,
.using-keyboard #popular_post .post-category .cat-links a:focus {
    color: var(--rio-coral);
    background: transparent;
}

/* --------------------------------------------------------------------
   Basic Post Style 1
   -------------------------------------------------------------------- */

.blogdash .bloghash-post-item.rounded {
    border-radius: var(--bloghash-radius);
}

.blogdash .style-1.bloghash-post-item {
    height: 100%;
}

.blogdash .bloghash-post-item .bloghash-post-content .entry-title {
    font-size: 2.1rem;
    line-height: 1.28;
}

.blogdash .bloghash-post-item .bloghash-post-thumb .inner img {
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), filter 0.5s ease;
    filter: saturate(0.94);
}

.blogdash.using-keyboard .bloghash-post-item:focus-within .bloghash-post-thumb .inner img,
.blogdash .bloghash-post-item:hover .bloghash-post-thumb .inner img {
    transform: scale(1.08);
    filter: saturate(1.1);
}

.bloghash-post-item .bloghash-post-thumb {
    overflow: hidden;
}

/* --------------------------------------------------------------------
   Basic Post Style 3
   -------------------------------------------------------------------- */

.style-3.bloghash-post-item {
    padding-bottom: 1.8rem;
    border-bottom: 1px solid var(--rio-line);
}

.style-3.bloghash-post-item .bloghash-post-thumb {
    margin-bottom: 1.6rem;
    border-radius: var(--bloghash-radius);
}

.style-3.bloghash-post-item .bloghash-post-thumb img,
.style-3.bloghash-post-item .bloghash-post-thumb {
    min-height: 21rem;
}

.style-3.bloghash-post-item .bloghash-post-content {
    padding: 0;
}

.style-3.bloghash-post-item .bloghash-post-content .post-category {
    margin-bottom: 0.6rem;
}

.style-3.bloghash-post-item .entry-meta a:not(:hover, :focus),
.style-3.bloghash-post-item .entry-meta {
    color: #7a7f83;
}

.style-3.bloghash-post-item .post-category .cat-links a {
    font-size: 1.1rem;
    padding: 0.3rem 0.8rem 0.4rem;
}

.using-keyboard .style-3.bloghash-post-item .post-category .cat-links a:focus,
.style-3.bloghash-post-item .post-category .cat-links a:hover {
    color: var(--rio-sand);
    background: var(--rio-ocean);
}

/* --------------------------------------------------------------------
   Basic Post Style 4 — avatar con anillo arena
   -------------------------------------------------------------------- */

.bloghash-post-item.style-4 {
    display: flex;
    align-items: center;
}

.bloghash-post-item.style-4 .bloghash-post-thumb {
    margin-right: 2rem;
    width: 10.2rem;
    height: 10.2rem;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--rio-sun);
    box-shadow: 0 0 0 4px var(--rio-sand), 0 0 0 5px var(--rio-line);
}

.bloghash-post-item.style-4 .bloghash-post-thumb .inner img {
    transform: scale(1.2) rotate(-10deg);
    transition: transform 0.5s ease;
}

.using-keyboard .bloghash-post-item.style-4:focus-within .bloghash-post-thumb .inner img,
.bloghash-post-item.style-4:hover .bloghash-post-thumb .inner img {
    transform: scale(1) rotate(0deg);
}

.bloghash-post-item.style-4 .bloghash-post-content {
    padding: 0;
}

.bloghash-post-item.style-4 .bloghash-post-content .entry-title {
    font-size: 1.9rem;
}

/* --------------------------------------------------------------------
   Movimiento reducido
   -------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .blogdash * {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}