/**
 * Artek Design Theme
 * Main Stylesheet
 * Bootstrap 5 overrides + custom components
 */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}


body {
    font-family: var(--artek-font-base);
    font-size: 16px;
    line-height: 1.6;
    color: #111;
    background-color: #F5F5F5 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.site-footer {
    background-color: #FFFFFF;
}

:root {
    /* Colors */
    --artek-primary: #1E4867;
    --artek-white: #FFFFFF;
    --artek-secondary: #6c757d;
    --artek-dark: #111013;
    --artek-light: #f8f9fa;

    /* Typography */
    --artek-font-base: "Poppins", system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, Arial, sans-serif;
    --artek-font-heading: "Poppins", system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, Arial, sans-serif;

    /* Layout */
    --artek-container-max: 1200px;

    /* UI */
    --artek-radius: 0.5rem;
    --artek-transition: all 0.25s ease-in-out;

    /* Logo */
    --artek-logo-size: 100px;
}



/* -----------------------------------------------------------------------------
   BOOTSTRAP OVERRIDES (safe)
----------------------------------------------------------------------------- */
.container {
    max-width: var(--artek-container-max);
}

.btn {
    border-radius: var(--artek-radius);
    transition: var(--artek-transition);
}

.btn-primary {
    background-color: var(--artek-primary);
    border-color: var(--artek-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    filter: brightness(0.95);
}

/* -----------------------------------------------------------------------------
   TYPOGRAPHY
----------------------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--artek-font-heading);
    font-weight: 600;
    color: var(--artek-dark);
    line-height: 1.3;
}

p {
    margin-bottom: 1rem;
}

/* -----------------------------------------------------------------------------
   LINKS
----------------------------------------------------------------------------- */
a {
    color: var(--artek-primary);
    text-decoration: none;
    transition: var(--artek-transition);
}

a:hover {
    text-decoration: underline;
}

/* -----------------------------------------------------------------------------
   UTILITIES (custom)
----------------------------------------------------------------------------- */
.section {
    padding: 4rem 0;
}

.section--dark {
    background-color: var(--artek-dark);
    color: #ffffff;
}

.section--dark h1,
.section--dark h2,
.section--dark h3 {
    color: #ffffff;
}

/* -----------------------------------------------------------------------------
   WORDPRESS BASICS
----------------------------------------------------------------------------- */
img {
    max-width: 100%;
    height: auto;
}

.alignwide {
    width: 100%;
}

.alignfull {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

/* -----------------------------------------------------------------------------
   ACCESSIBILITY
----------------------------------------------------------------------------- */
:focus-visible {
    outline: 2px solid var(--artek-primary);
    outline-offset: 2px;
}

/* -----------------------------------------------------------------------------
   NAVBAR BLUR / GLASS EFFECT
----------------------------------------------------------------------------- */
.artek-navbar {
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    transition: background-color 0.25s ease, backdrop-filter 0.25s ease;
    width: 100%;
}

/* Estado fixed (solo al hacer scroll) */
.site-header.is-fixed .artek-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    /* equivalente a navbar fixed */
}

/* Mejora contraste links */
.artek-navbar .nav-link {
    font-weight: 500;
    color: #111013;
}

.artek-navbar .nav-link:hover,
.artek-navbar .nav-link:focus {
    color: var(--artek-primary);
}

/* Dropdown */
.artek-navbar .dropdown-menu {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: var(--artek-radius);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

/* -----------------------------------------------------------------------------
   LOGO
----------------------------------------------------------------------------- */
.custom-logo {
    max-height: var(--artek-logo-size);
    width: auto;
    height: auto;
}

.navbar-brand {
    display: flex;
    align-items: center;
}


/* Nested dropdown (optional) */
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -0.25rem;
}


.social-icons {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.social-icons li {
    display: flex;
    margin-right: 15px;
}

.social-icons li:last-child {
    margin-right: 0;
}

.social-icons li a {
    font-size: 20px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: all .2s ease-in-out;
    color: #111;
}

.social-icons li a i {
    font-size: 20px !important;
    transition: all .2s ease-in-out;
}

.social-icons li a:hover i {
    color: #1E4867 !important;
}

.social-icons li a i {
    font-size: 26px !important;
}

/* -----------------------------------------------------------------------------
   HOMEPAGE: header overlay + navbar black blur
   WordPress body classes: .home (blog home), .front-page (static front page)
----------------------------------------------------------------------------- */

/* 1) En homepage, el header se superpone al contenido (slider queda debajo) */
body.home .site-header,
body.front-page .site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
}

/* 2) Navbar negro con blur SOLO en homepage */
body.home .artek-navbar,
body.front-page .artek-navbar {
    background-color: rgba(17, 16, 19, 0.75);
    /* negro tipo #111013 con transparencia */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Links en blanco SOLO homepage */
body.home .artek-navbar .nav-link,
body.front-page .artek-navbar .nav-link,
body.home .artek-navbar .navbar-brand,
body.front-page .artek-navbar .navbar-brand {
    color: #ffffff !important;
}

body.home .artek-navbar .nav-link:hover,
body.front-page .artek-navbar .nav-link:hover {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Icono del toggler (hamburguesa) visible en fondo oscuro */
body.home .artek-navbar .navbar-toggler,
body.front-page .artek-navbar .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.25);
}

body.home .artek-navbar .navbar-toggler-icon,
body.front-page .artek-navbar .navbar-toggler-icon {
    filter: invert(1) grayscale(1);
}

/* Dropdown en oscuro SOLO homepage */
body.home .artek-navbar .dropdown-menu,
body.front-page .artek-navbar .dropdown-menu {
    background-color: rgba(17, 16, 19, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body.home .artek-navbar .dropdown-item,
body.front-page .artek-navbar .dropdown-item {
    color: #ffffff;
}

body.home .artek-navbar .dropdown-item:hover,
body.front-page .artek-navbar .dropdown-item:hover {
    background-color: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

/* -----------------------------------------------------------------------------
   DUAL LOGO SYSTEM
----------------------------------------------------------------------------- */

.artek-logo img {
    max-height: var(--artek-logo-size);
    height: auto;
    width: auto;
    display: block;
}

/* Por defecto (páginas internas) */
.logo-white {
    display: none;
}

/* Homepage: usar logo blanco */
body.home .logo-dark,
body.front-page .logo-dark {
    display: none;
}

body.home .logo-white,
body.front-page .logo-white {
    display: block;
}

.artek-navbar .nav-link {
    text-decoration: none !important;
    transition: color 0.25s ease;
    font-size: 20px;
}

/* Hover */
.artek-navbar .nav-link:hover,
.artek-navbar .nav-link:focus {
    text-decoration: none !important;
    color: #1E4867 !important;
}

/* Página activa (WordPress classes) */
.artek-navbar .nav-item.active>.nav-link,
.artek-navbar .nav-link.active,
.artek-navbar .current-menu-item>.nav-link,
.artek-navbar .current-menu-parent>.nav-link,
.artek-navbar .current-menu-ancestor>.nav-link {
    color: #1E4867 !important;
}

body.home .artek-navbar .nav-link,
body.front-page .artek-navbar .nav-link {
    color: #ffffff !important;
}

/* Hover homepage */
body.home .artek-navbar .nav-link:hover,
body.front-page .artek-navbar .nav-link:hover {
    color: #1E4867 !important;
}

/* Activo homepage */
body.home .artek-navbar .current-menu-item>.nav-link,
body.front-page .artek-navbar .current-menu-item>.nav-link,
body.home .artek-navbar .current-menu-parent>.nav-link,
body.front-page .artek-navbar .current-menu-parent>.nav-link,
body.home .artek-navbar .current-menu-ancestor>.nav-link,
body.front-page .artek-navbar .current-menu-ancestor>.nav-link {
    color: #1E4867 !important;
}

/* -----------------------------------------------------------------------------
   NAVBAR DROPDOWN – GLASS EFFECT GLOBAL
----------------------------------------------------------------------------- */

.artek-navbar .dropdown-menu {
    border-radius: var(--artek-radius);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(0, 0, 0, 0.06);

    /* sombra muy sutil */
    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.06),
        0 2px 6px rgba(0, 0, 0, 0.04);

    padding: 10px 0;
}

/* -----------------------------------------------------------------------------
   DROPDOWN – PÁGINAS INTERNAS (navbar blanco)
----------------------------------------------------------------------------- */

body:not(.home):not(.front-page) .artek-navbar .dropdown-menu {
    background-color: rgba(255, 255, 255, 0.90);
}

/* Links dropdown internas */
body:not(.home):not(.front-page) .artek-navbar .dropdown-item {
    color: #111013;
}

body:not(.home):not(.front-page) .artek-navbar .dropdown-item:hover {
    background-color: rgba(0, 0, 0, 0.05);
    color: #1E4867;
}

/* -----------------------------------------------------------------------------
   DROPDOWN – HOMEPAGE (navbar negro)
----------------------------------------------------------------------------- */

body.home .artek-navbar .dropdown-menu,
body.front-page .artek-navbar .dropdown-menu {
    background-color: rgba(17, 16, 19, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Links dropdown homepage */
body.home .artek-navbar .dropdown-item,
body.front-page .artek-navbar .dropdown-item {
    color: #ffffff;
}

body.home .artek-navbar .dropdown-item:hover,
body.front-page .artek-navbar .dropdown-item:hover {
    background-color: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

/* -----------------------------------------------------------------------------
   DROPDOWN PREMIUM: fade + slide + micro delay
----------------------------------------------------------------------------- */

/* Estado base (cerrado) */
.artek-navbar .dropdown-menu {
    display: block;
    /* permite animar */
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    pointer-events: none;

    transition:
        opacity 160ms ease,
        transform 180ms ease,
        visibility 0s linear 180ms;
    /* micro delay al ocultar */
}

/* Estado abierto (Bootstrap añade .show) */
.artek-navbar .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;

    transition:
        opacity 160ms ease 40ms,
        /* micro delay al mostrar */
        transform 180ms ease 40ms,
        visibility 0s;
}

/* Opcional: respeta usuarios con reduced motion */
@media (prefers-reduced-motion: reduce) {

    .artek-navbar .dropdown-menu,
    .artek-navbar .dropdown-menu.show {
        transition: none;
        transform: none;
    }
}

/* -----------------------------------------------------------------------------
   INTERNAS: quitar fondo azul del item activo en dropdown
----------------------------------------------------------------------------- */

/* A veces Bootstrap pinta .dropdown-item.active / :active con azul */
body:not(.home):not(.front-page) .artek-navbar .dropdown-item.active,
body:not(.home):not(.front-page) .artek-navbar .dropdown-item:active {
    background-color: transparent !important;
    color: #1E4867 !important;
    /* mantiene tu color de estado */
}

/* Si el item "actual" viene por clases de WP en <li>, también lo cubrimos */
body:not(.home):not(.front-page) .artek-navbar .current-menu-item>.dropdown-item,
body:not(.home):not(.front-page) .artek-navbar .current-menu-ancestor>.dropdown-item,
body:not(.home):not(.front-page) .artek-navbar .current-menu-parent>.dropdown-item {
    background-color: transparent !important;
    color: #1E4867 !important;
}

/* -----------------------------------------------------------------------------
   DROPDOWN ITEMS: same behavior as parent
   - no underline
   - no background
   - hover/active color = #1E4867
----------------------------------------------------------------------------- */

.artek-navbar .dropdown-item {
    text-decoration: none !important;
    background: transparent !important;
    color: inherit;
    /* se define abajo por contexto (home vs internas) */
    font-weight: 500;
    transition: color 0.2s ease;
}

/* Hover / focus: azul */
.artek-navbar .dropdown-item:hover,
.artek-navbar .dropdown-item:focus {
    text-decoration: none !important;
    background: transparent !important;
    color: #1E4867 !important;
}

/* Active/current: mantener azul sin fondo */
.artek-navbar .dropdown-item.active,
.artek-navbar .dropdown-item:active,
.artek-navbar .current-menu-item>.dropdown-item,
.artek-navbar .current-menu-parent>.dropdown-item,
.artek-navbar .current-menu-ancestor>.dropdown-item {
    background: transparent !important;
    color: #1E4867 !important;
}

/* Colores base por contexto */
body:not(.home):not(.front-page) .artek-navbar .dropdown-item {
    color: #111013;
}

body.home .artek-navbar .dropdown-item,
body.front-page .artek-navbar .dropdown-item {
    color: #ffffff;
}


.artek-navbar .dropdown-item {
    text-decoration: none !important;
    background: transparent !important;
    color: inherit;
    /* se define abajo por contexto (home vs internas) */
    font-weight: 500;
    transition: color 0.2s ease;
}

/* Hover / focus: azul */
.artek-navbar .dropdown-item:hover,
.artek-navbar .dropdown-item:focus {
    text-decoration: none !important;
    background: transparent !important;
    color: #1E4867 !important;
}

/* Active/current: mantener azul sin fondo */
.artek-navbar .dropdown-item.active,
.artek-navbar .dropdown-item:active,
.artek-navbar .current-menu-item>.dropdown-item,
.artek-navbar .current-menu-parent>.dropdown-item,
.artek-navbar .current-menu-ancestor>.dropdown-item {
    background: transparent !important;
    color: #1E4867 !important;
}

/* Colores base por contexto */
body:not(.home):not(.front-page) .artek-navbar .dropdown-item {
    color: #111013;
}

body.home .artek-navbar .dropdown-item,
body.front-page .artek-navbar .dropdown-item {
    color: #ffffff;
}

/* -----------------------------------------------------------------------------
   CARET DROPDOWN – Font Awesome 7
----------------------------------------------------------------------------- */

/* El link será flex para alinear texto + icono */
.artek-navbar .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Estilo del caret */
.artek-navbar .artek-caret {
    font-size: 12px;
    transition: transform 0.25s ease, color 0.25s ease;
    opacity: 0.9;
}

/* Rotación cuando el dropdown está abierto */
.artek-navbar .dropdown.show>.nav-link .artek-caret {
    transform: rotate(180deg);
}

/* Color internas */
body:not(.home):not(.front-page) .artek-navbar .artek-caret {
    color: #111013;
}

/* Color homepage (navbar oscuro) */
body.home .artek-navbar .artek-caret,
body.front-page .artek-navbar .artek-caret {
    color: #ffffff;
}

/* Hover → azul */
.artek-navbar .nav-link:hover .artek-caret {
    color: #1E4867;
}

/* Respeta usuarios con reduced motion */
@media (prefers-reduced-motion: reduce) {
    .artek-navbar .artek-caret {
        transition: none;
    }
}

/* Bootstrap default caret OFF */
.artek-navbar .dropdown-toggle::after {
    display: none !important;
    content: none !important;
}

/* Caret FA7 base */
.artek-navbar .artek-caret {
    font-size: 12px;
    transition: transform 0.25s ease, color 0.25s ease;
    opacity: 0.9;
}

/* Rota cuando Bootstrap marca el toggle como .show (lo más común en BS5) */
.artek-navbar .dropdown-toggle.show .artek-caret {
    transform: rotate(-90deg);
}

/* Backup: rota si el <li> tiene .show (algunas estructuras lo usan) */
.artek-navbar .dropdown.show>.dropdown-toggle .artek-caret {
    transform: rotate(-90deg);
}

.artek-navbar .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.artek-navbar .current-menu-item>.nav-link .artek-caret,
.artek-navbar .current-menu-parent>.nav-link .artek-caret,
.artek-navbar .current-menu-ancestor>.nav-link .artek-caret,
.artek-navbar .nav-link.active .artek-caret {
    color: #1E4867 !important;
}

.br-noe br {
    display: none !important;
}

/* -----------------------------------------------------------------------------
   BREADCRUMB CUSTOM STYLE
----------------------------------------------------------------------------- */

/* Quitamos el separador default "/" de Bootstrap */
.breadcrumb-item+.breadcrumb-item::before {
    content: "";
    padding: 0;
}

/* Creamos separador DOT */
.breadcrumb-item+.breadcrumb-item {
    position: relative;
    padding-left: 18px;
}

.breadcrumb-item+.breadcrumb-item::before {
    content: "•" !important;
    position: absolute;
    left: 1px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(0, 0, 0, 0.35);
    font-size: 14px;
}

/* Links breadcrumb */
.breadcrumb a {
    color: #1E4867;
    text-decoration: none;
    font-weight: 500;
    transition: opacity 0.2s ease;
}

/* Hover */
.breadcrumb a:hover {
    color: #1E4867;
    text-decoration: none;
    opacity: 0.8;
}

/* Item actual */
.breadcrumb-item.active {
    color: #111013;
    font-weight: 500;
}

.brand-color {
    color: #1E4867;
}

.card-footer a {
    color: #111;
    font-weight: 700;
    font-size: 20px;
    text-decoration: none;
}

.card-footer a:hover {
    color: #1E4867;
}

.title-featured {
    font-weight: 700;
}

.badge-back {
    color: #111;
    padding: 10px 14px;
    border: solid 1px #111;
    font-weight: 400 !important;
    font-size: 16px !important;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 0px;
    text-align: center !important;
    transition: all .2s ease-in-out;
}

.badge-back:hover {
    color: var(--artek-white) !important;
    background-color: #111;
}

.card-title a,
.card-a a {
    font-weight: 600 !important;
    font-size: 17px !important;
    line-height: 20px !important;
    color: #111 !important;
}

.card-title a:hover,
.card-a a:hover {
    color: #1E4867 !important;
}

.artek-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
}

.artek-pagination .pagination {
    justify-content: center;
    gap: 12px;
}

/* Cada item */
.artek-pagination .page-numbers {
    border-radius: 6px;
    border: 1px solid #e5e5e5;
    color: #111013;
    padding: 10px 16px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

/* Hover */
.artek-pagination .page-numbers:hover {
    background: #1E4867;
    border-color: #1E4867;
    color: #fff;
    text-decoration: none;
}

/* Item activo */
.artek-pagination .current {
    background: #1E4867;
    border-color: #1E4867;
    color: #fff;
}

/* Prev / Next */
.artek-pagination .page-item.disabled .page-numbers {
    opacity: 0.4;
    pointer-events: none;
}


@media (min-width: 992px) {
    .artek-sticky-sidebar {
        position: sticky;
        top: 140px;
        /* altura del header + margen */
    }
}

.wpcf7-submit {
    color: #111;
    padding: 10px 14px;
    border: solid 1px #111;
    font-weight: 400 !important;
    font-size: 16px !important;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 0px;
    text-align: center !important;
    transition: all .2s ease-in-out;
    background-color: white !important;
}

.wpcf7-submit:hover {
    color: var(--artek-white) !important;
    background-color: #111 !important;
}

/* ===== OFFCANVAS MENU FIX ===== */

/* El dropdown deja de ser flotante */
.offcanvas .dropdown-menu {
    position: static !important;
    transform: none !important;
    inset: auto !important;
    border: 0;
    box-shadow: none;
    padding-left: 1rem;
    margin-top: .25rem;
    display: none;
}

/* Cuando esté abierto */
.offcanvas .dropdown-menu.show {
    display: block;
}

/* Flechita indicadora */
.offcanvas .dropdown-toggle::after {
    margin-left: auto;
}

/* Mejor espaciado vertical */
.offcanvas .nav-link {
    padding: .7rem 0;
}

/* Animación suave tipo accordion */
.offcanvas .dropdown-menu {
    transition: all .25s ease;
}

.dropdown-toggle::after {
    display: none !important;
}

.page-title {
    color: var(--artek-primary);
    margin-bottom: 40px;
    font-weight: 400;
    text-align: center;
    position: relative;
    padding-bottom: 20px;
    text-transform: uppercase;
    margin-top: 50px;
}

.page-title::after {
    content: '';
    position: absolute;
    width: 60px;
    height: 4px;
    bottom: 0;
    left: calc(50% - 30px);
    background: #111;
}

/* ================================
   OFFCANVAS MENU — CUSTOM STYLE
================================ */

/* tamaño base del menú */
.offcanvas .navbar-nav .nav-link,
.offcanvas .dropdown-item {
    font-size: 18px;
    text-decoration: none !important;
    background: transparent !important;
    padding: .65rem 0;
    color: #212529;
    /* color normal del menú */
}

/* hover limpio */
.offcanvas .navbar-nav .nav-link:hover,
.offcanvas .dropdown-item:hover {
    text-decoration: none;
    background: transparent;
}

/* CURRENT PAGE (WordPress classes) */
.offcanvas .navbar-nav .current-menu-item>.nav-link,
.offcanvas .navbar-nav .current_page_item>.nav-link,
.offcanvas .navbar-nav .current-menu-ancestor>.nav-link,
.offcanvas .navbar-nav .current_page_parent>.nav-link {
    color: #1E4867 !important;
    background: transparent !important;
    text-decoration: none !important;
    font-weight: 600;
}

/* SUBMENU CURRENT */
.offcanvas .dropdown-menu .current-menu-item>.nav-link {
    color: #1E4867 !important;
}

/* quitar highlight azul bootstrap activo */
.offcanvas .dropdown-item.active,
.offcanvas .dropdown-item:active {
    color: #1E4867 !important;
    background: transparent !important;
}

/* quitar underline global por si el theme lo añade */
.offcanvas a {
    text-decoration: none !important;
}