/*
Theme Name: Gouda New Theme
Theme URI: gouda.tv
Description: Tema nuevo para el proyecto Gouda
Author: Maria Lara
Author URI: maaarialara.com
Version: 1.0
*/

/* CSS RESET */

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

@font-face {
    font-family: "FabioXM";
    src: url("fonts/FabioXM-Light.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "FabioXM";
    src: url("fonts/FabioXM-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "FabioXM";
    src: url("fonts/FabioXM-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "FabioXM";
    src: url("fonts/FabioXM-Semibold.woff") format("woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "FabioXM";
    src: url("fonts/FabioXM-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "FabioXM";
    src: url("fonts/FabioXM-Black.woff") format("woff");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Si “v.woff” es otra variante dile peso o estilo */
@font-face {
    font-family: "Victor Serif";
    src: url("fonts/v.woff") format("woff");
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

:root {
    --main-bg-color: #F1F1F1;
    --main-text-color: #050505;
    --green-color: #D7FFD9;
    --light-grey: rgb(191, 191, 191);
    --main-font: "FabioXM";
    --pad-S: 0.5rem;

    /* --font-S: 11px; */
    /* --font-S: 12.5px;
    --font-M: 12.5px; */
    --font-S: 11.5px;
    --font-M: 11.5px;
    --font-L: 18px;
    --font-XL: 24px;

    --serif: "Victor Serif";
}


/* my css */

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

html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}


body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-size: 62.5%;
    background-color: var(--main-bg-color);
    color: var(--main-text-color);
    font-family: serif;
    font-family: var(--main-font);
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 100;
    font-size: var(--font-S);
}

body::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

a {
    color: var(--main-text-color);
    text-decoration: none;
    line-height: 1;
}

p {
    line-height: 1.2;
    font-size: var(--font-M);
}

ul {
    padding-inline-start: 0;
}

li {
    list-style: none;
}

button {
    border: none;
    cursor: pointer;
    transition: color 0.3s;
    font-family: var(--main-font);
    font-size: 12px;
    background: none;
    margin: 0;
    padding: 0;
    line-height: 1;
    color: var(--main-text-color);
}

::-moz-selection {
    background: transparent;
}

::selection {
    background: transparent;
}

/* 
p::-moz-selection {
    background: var(--green-color);
    color: var(--main-text-color);
} */

p::selection {
    background: var(--green-color);
    color: var(--main-text-color);
}


/* clases */
.z-9 {
    z-index: 9;
}

.z-99 {
    z-index: 99;
}

.z-999 {
    z-index: 999;
}

.z-9999 {
    z-index: 9999;
}

.z-1 {
    z-index: 1;
}

.z-2 {
    z-index: 2;
}

/* .letter-spacing-tight {
    letter-spacing: -0.05em; 
} */

.center-absolute {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    /* por si acaso */
    max-width: 100%;
    min-width: 0;
}

.balance {
    text-wrap-style: balance;
}

.mobile {
    display: none;
}

.desktop {
    display: block;
}

.green-style {
    background-color: var(--green-color);
    display: inline;
    color: var(--main-text-color);
    font-family: var(--serif);
    font-size: var(--font-M);
}

body.error404 footer {
    display: none;
}

/* lang */
.descripcion {
    display: none;
}

.descripcion.is-active {
    display: block;
}

.lang-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    opacity: 0.6;
    margin-bottom: 10px;
    font-family: var(--main-font);
}

.lang-toggle:hover {
    opacity: 1;
}


/* COMING SOON */
.coming-soon-container h1 {
    font-size: 36px;
}

.coming-soon-container h2 {
    font-size: 12px;
    text-align: center;
    margin-top: 1rem;
}

body.page-id-2245 footer {
    display: none;
}

/* Header */

body.home .site-header.invertido,
body.home #services-content.invertido {
    filter: invert(1);
    transition: filter 0.2s ease;
}

body.proyecto-template-default .site-header.invertido,
body.proyecto-template-default #services-content.invertido {
    opacity: 0;
    transition: filter 0.2s ease;
}

body.proyecto-template-default .site-header,
body.proyecto-template-default footer {
    display: none;
}

body.product-template-default .site-header {
    display: flex;
}

body.product-template-default footer {
    display: grid;
    width: 100%;
}

header.site-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding: var(--pad-S);
    font-size: var(--font-S);
    position: fixed;
    z-index: 99;
    width: 100%;
    opacity: 1;
    transition: opacity 0.35s ease;
    pointer-events: auto;
    /* clickable mientras visible */
}

.site-header.header--hidden {
    opacity: 0;
    pointer-events: none;
    /* como si no existiera */
}

/* Clase extra que se activa tras el fade-out */
.site-header.header--none {
    display: none;
}


.site-navigation {
    display: flex;
    line-height: 1.5;
    gap: 1rem;
    font-size: var(--font-M);
}


.site-navigation button {
    font-size: var(--font-S);
    white-space: nowrap;
}

.site-header img {
    width: 90px;
    height: auto;
    object-fit: cover;
}

ul#menu-main-menu {
    display: flex;
    flex-direction: row;
    gap: 2rem;
    text-transform: uppercase;
}

#services-content {
    display: none;
}

#services-content p {
    font-family: var(--serif);
    /* padding-top: 2rem; */
}

#services-content.is-visible {
    display: block;
    width: 100%;
    height: auto;
    text-align: right;
    position: fixed;
    right: 0;
    padding: var(--pad-S);
    top: 0;
    z-index: 15;
    /* background-color: var(--main-bg-color); */
}


#services-content.is-visible {
    display: block;
    width: fit-content;
    text-align: right;
    position: fixed;
    right: 0;
    padding: var(--pad-S);
    top: 2rem;
    z-index: 9999999;

}

body.home #services-content.is-visible {

    background: none;
}

body.home #services-content p {
    font-family: var(--serif);
    padding-top: 0;
}

body.page #services-content.is-visible {
    width: 100%;
    top: 0;
    z-index: 12;
}

body.page #services-content p {
    padding-top: 2rem;
}

.lang-switcher {
    position: fixed;
    bottom: 0;
    z-index: 99;
    padding: 1rem;
}


/* home */

.home-full-item {
    position: relative;
}

.home-full-link {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: block;
}


.home-video {
    height: 100vh;
    overflow: hidden;
    position: relative;
}

.video-container {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100vh;
    width: auto;
    /* se define con JS */
    overflow: hidden;
}

.video-container iframe,
.video-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.video-container img {
    z-index: -1;
}


/* Igual que en portada: contenedor y visibilidad básica */
.video-container {
    position: relative;
}

/* Respeta el AR calculado por PHP en ambos (iframe y poster) */
.video-container .vimeo-player,
.video-container .poster-img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: var(--ar, 16/9);
    object-fit: cover;
    /* pon 'contain' si lo prefieres */
}

.home-full-item {
    display: block;
    color: inherit;
    text-decoration: none;
}


/* square */

.texto-descripcion-1 {
    position: absolute;
    top: 0;
    left: 16vw;
    color: white;
    z-index: 9999;
    padding: var(--pad-S);
    max-width: 60vw;
    font-family: var(--serif);
    font-size: var(--font-M);
}

.square-home-wrap {
    position: relative;
}

.home-preview {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 1rem var(--pad-S);
    opacity: 0.5;
    cursor: pointer;
    transition: opacity 0.2s ease-in-out;
    /* width: 40px; */
    /* height: 40px; */
}

img.preview-img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    /* border-radius: 12px; */
}

.home-preview:hover {
    opacity: 1;
}


/* home full */

.bg-black {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index: -9;
}

.home-full-video-container {
    position: relative;
    /* deja height:auto para que haya scroll vertical por proyectos */
    height: auto;
    overflow: hidden;
}

.home-full-item {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.home-full-item .home-video {
    height: 100%;
}

.home-video .video-container {
    opacity: 0.8;
}

.home-meta {
    position: absolute;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: var(--pad-S);
    font-size: var(--font-M);
    align-items: end;
    color: white;
}

h2.home-title {
    text-transform: uppercase;
}

.home-meta a {
    color: white;
}

.home-meta-info {
    display: flex;
    gap: 2rem;
    text-align: right;
    align-items: flex-end;
}



.home-meta-info p {
    font-size: var(--font-M);
    text-transform: uppercase;
    text-align: right;
    margin-left: auto;
}

.home-meta-info h5 {
    font-family: var(--serif);
    font-size: var(--font-M);
    margin-bottom: 0.2rem;
}

/* home-vertical */
section.vertical-text {
    padding: 10rem var(--pad-S);
    display: flex;
    justify-content: space-between;
}

.texto-descripcion-2 {
    max-width: 50vw;
    font-family: var(--serif);
}

.home-see-more {
    font-family: var(--serif);
    font-size: var(--font-L);
    text-decoration: underline;
}

section.clients {
    padding: 7rem;
    text-align: center;
}

section.clients h3 {
    margin-bottom: 1rem;
}

section.clients .clientes {
    max-width: 40vw;
    text-wrap-style: balance;
    margin: auto;
    padding-top: 1.5rem;
    font-family: var(--serif);
}

section.clients .clientes p {
    font-size: var(--font-M);
}

.video-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

/* Mantiene una “caja” con la proporción (viene de --ar) */
.video-container::before {
    content: "";
    display: block;
    padding-top: calc(100% / var(--ar, 1.7777778));
}

/* Iframe centrado */
.video-container>iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    border: 0;
}

/* Poster cover */
.video-container .poster-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* PAGE WORK */
.page-title {
    font-family: var(--main-font);
    font-size: var(--font-XL);
    font-size: 80px;
    margin-bottom: 4vh;
    margin-top: 25vh;
}

.site-main-work,
.shop-page,
.single-product-page {
    padding: 8vh var(--pad-S);
}

p.page-work-p {
    max-width: 50vw;
    font-family: var(--serif);
}

/* MENÚ DE CATEGORÍAS */
.projects-filter {
    position: sticky;
    bottom: 0;
    left: 50%;
    display: flex;
    flex-wrap: wrap;
    gap: var(--pad-S);
    font-size: var(--font-M);
    justify-content: center;
    padding: var(--pad-S);
    z-index: 9999;
    width: 100%;
    background-color: rgba(241, 241, 241, 1);
    overflow: hidden;
}

span.projects-filter-title {
    align-content: center;
}

.filter-btn {
    border: none;
    background: transparent;
    padding: 0 0.6rem;
    cursor: pointer;
    font: inherit;
    font-family: var(--serif);
    opacity: 0.3;
    text-transform: lowercase;
}

.filter-btn.is-active {
    opacity: 1;
    background: var(--green-color);
}

/* GRID */
.projects-grid {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: var(--pad-S);
    font-size: var(--font-M);
    margin-top: 5vh;
    min-height: 100vh;
}

.project-item {
    display: flex;
    flex-direction: column;
    gap: var(--pad-S);
    transition:
        opacity 0.2s ease,
        max-height 0.3s ease;
    margin: 0 0 2rem;
    height: auto;
}

.project-item.is-dimmed {
    opacity: 0;
    height: 0;
    pointer-events: none;
}

.project-item a,
.project-item h2,
.project-item p,
.project-item span {
    line-height: 1.2;
}

/* INFO */

.project-title-year {
    display: flex;
    align-items: baseline;
    gap: var(--pad-S);
    min-width: 0;
}


.project-image {
    position: relative;
}

.project-year {
    font-family: var(--serif);
    font-size: var(--font-M);
    margin-top: -0.05rem;
    position: relative;
}

.proyecto-meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.project-meta {
    display: flex;
    gap: 0.2rem;
    flex-direction: row;
    white-space: nowrap;
}

.credits-button {
    font-size: var(--font-M);
    line-height: 1;
    height: min-content;
    cursor: pointer;
}

.back-button {
    color: white;
}

.title-proyecto-s {
    font-size: var(--font-M);
    font-family: var(--serif);
}

.proyecto-creditos {
    display: none;
    opacity: 0;
    transition: opacity .3s ease;
}

.proyecto-creditos a {
    color: white;
}

.proyecto-creditos-container {
    display: flex;
}

.proyecto-creditos.is-visible {
    display: block;
    opacity: 1;
    position: absolute;
    top: 2rem;
    font-family: var(--serif);
}

.project-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    max-height: 250px;
}

.project-new-label {
    position: absolute;
    right: -3px;
    top: -8px;
    z-index: 10;
    font-size: var(--font-S);
    font-family: var(--serif);
    /* para que el bg se ajuste al texto */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.1em 0.2em;
}

.project-new-label-text {
    position: relative;
    color: var(--main-text-color);
    z-index: 2;
    font-size: var(--font-M);
}

/* FONDO ANIMADO DETRÁS */
.project-new-label-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--green-color);
}


.project-category {
    display: inline-block;
    font-size: var(--font-M);
    margin-right: 4px;
    font-family: var(--serif);
}

/* PROYECTO SINGLE */

header.proyecto-header {
    position: absolute;
    top: 0;
    padding: var(--pad-S);
    z-index: 9999;
    color: white;
    font-size: var(--font-XL);
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.proyecto-video {
    width: 100vw;
    height: 100vh;
}

.proyecto-video iframe {
    width: 100%;
    height: 100%;
}

.proyecto-editor-content .proyecto-gallery-swiper {
    max-width: 100%;
    margin: 0;
    max-height: 80vh;
}

.proyecto-editor-content .proyecto-gallery-swiper .swiper-slide figure {
    margin: 0;
}

.proyecto-editor-content .proyecto-gallery-swiper img {
    display: block;
    width: 100%;
    height: auto;
}

section.proyecto-descripcion,
.proyectos-recomendados {
    padding: 0 var(--pad-S) var(--pad-S);
}

section.proyecto-descripcion-gallery {
    padding: var(--pad-S);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

.proyecto-descripcion-inner-gallery {
    max-width: 50vw;
}

.back-work {
    font-size: var(--font-M);
}

.video-info-controls {
    display: flex;
    width: 100%;
    justify-content: space-between;
    background-color: var(--main-bg-color);
}

section.proyecto-descripcion {
    background-color: var(--main-bg-color);
}


span.info {
    white-space: nowrap;
    padding: var(--pad-S);
    font-family: var(--serif);
    cursor: pointer;
    font-size: var(--font-M);
}

.proyecto-descripcion {
    display: none;
    opacity: 0;
    transition: opacity .3s ease;
}

.proyecto-descripcion.is-visible {
    display: block;
    opacity: 1;
    width: 100%;
}

.video-wrapper {
    position: relative;
    /* Esto ya lo tienes, pero por si acaso */
}

section.bottom-content {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* slide */
.proyecto-editor-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    margin: 0;
    width: 100% !important;
}

.proyecto-gallery-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

/* 1) Gutenberg mete márgenes/paddings raros */
.proyecto-gallery-swiper figure,
.proyecto-gallery-swiper .wp-block-image {
    margin: 0 !important;
}

/* 2) Las imágenes inline dejan micro-gaps */
.proyecto-gallery-swiper img {
    display: block;
    width: 100%;
    height: auto;
}

/* 3) Anti “costura 1px”: solapa slides */
.proyecto-gallery-swiper .swiper-slide {
    margin-right: -1px;
    /* ✅ mata el gap */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}

/* 4) Extra estabilidad */
.proyecto-gallery-swiper .swiper-wrapper {
    will-change: transform;
}

.proyecto-gallery-swiper {
    max-height: 80vh;
    overflow: hidden;
}

.proyecto-gallery-swiper .swiper-slide {
    max-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.proyecto-gallery-swiper img {
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    /* o cover si quieres más drama */
}



/* BOTÓN EXIT FULLSCREEN */
.fullscreen-exit-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 99999999999999999999;
    padding: 0.4rem 0.7rem;
    font-size: var(--font-XL);
    color: #fff;
    cursor: pointer;
    display: none;
    /* lo controla el JS */
}

.proyecto-descripcion-inner {
    max-width: 75vw;
    margin-right: auto;
}

/* solo por si acaso quieres debuggear un segundo:
.fullscreen-exit-btn {
    display: block !important;
}
*/


/* Versión específica para los proyectos relacionados */
.projects-grid--related {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

/* "Bloque fantasma" que ocupa los 4 primeros huecos */
.projects-grid--related::before {
    content: "";
    grid-column: 1 / span 3;
    /* ocupa columnas 1,2,3,4 */
}

/* ABOUT */

body.page-id-2306 footer {
    display: none;
}

.gouda-logo-about {
    width: 100vw;
    position: fixed;
    bottom: -10rem;
    z-index: -999999999999999;
    opacity: 0.05 !important;
}

section.about-gouda {
    display: flex;
    flex-direction: column;
}

section.about-text-wrap {
    order: -1;
    max-width: 38%;
}

.page-about {
    padding: 10vh var(--pad-S);
}

.page-about h1,
.page-about h2 {
    font-family: var(--main-font);
    font-size: var(--font-M);
    background-color: var(--green-color);
    width: fit-content;
    height: fit-content;
    white-space: nowrap;
    margin-bottom: var(--pad-S);
}

section.inner-about-text {
    display: flex;
    gap: 5vw;
    /* ajusta a gusto */
}

section.about-services {
    min-width: 180px;
}

.services-about {
    margin-top: var(--pad-S);
    font-family: var(--serif);
}

section.meet-the-team {
    margin-top: 5vh;
}

.team {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    height: 100%;
}

.team-member-info {
    margin-top: var(--pad-S);
}

.team-member-image {
    width: 200px;
    height: 200px;
}

.team-member-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.team-member-info button.lang-toggle {
    position: absolute;
    margin-left: -2rem;
    margin-top: 2px;
}

p.team-member-position {
    opacity: 0.3;
}

.team-member-description {
    font-family: var(--serif);
    margin-top: var(--pad-S);
}

.team-member {
    width: calc(33.333% - 2rem);
}

.team:has(.team-member:nth-child(4):last-child) {
    grid-template-columns: repeat(4, 1fr);
}


.team-member {
    width: 100%;
    max-width: 200px;
    margin: auto;
    height: inherit;
}

/* shop - coming - soon */

main.site-main-shop-soon {
    min-height: 100%;
    min-width: 100vw;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

/* WOOCOMMERCE */

.woocommerce-product-gallery__wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: end;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image {
    width: 40vw;
}

.woocommerce-product-gallery img {
    height: 100%;
    max-width: 100%;
    width: 100%;
    display: block;
}

.gouda-product__summary {
    position: sticky;
    left: var(--pad-S);
    max-width: 15vw;
    bottom: var(--pad-S);
}

/* producto */
.gouda-product__description {
    margin: 1rem 0;
}

button.single_add_to_cart_button.button.alt {
    background-color: transparent;
    padding: 0;
    margin-top: 0;
    color: var(--main-text-color);
    font-weight: 400;
}

button.single_add_to_cart_button.button.alt:hover {
    background-color: transparent;
    padding: 0;
    margin-top: 0;
    color: black;
    font-weight: 400;
}

.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before {
    display: none;
}

.woocommerce .quantity .qty {
    display: none;
}


/* Base: grid de 3 */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 2rem;
    min-height: 100vh;
}

/* Si hay MENOS de 3 productos */
.woocommerce ul.products:has(li:nth-last-child(-n+2)) {
    display: flex;
    justify-content: start;
    gap: 2rem;
    margin-top: 2rem;
}

/* Ajuste para que no se estiren raro */
.woocommerce ul.products:has(li:nth-last-child(-n+2)) li {
    flex: 0 0 auto;
}

a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    background-color: transparent;
    margin: 0;
    padding: 0;
    font-weight: lighter;
    color: var(--main-text-color);
    font-family: var(--main-font);
}

.woocommerce ul.products li {
    margin: 0 !important;
}

/* cart */
a.remove.remove_from_cart_button {
    margin-bottom: 1rem;
}

p.woocommerce-mini-cart__empty-message {
    margin-top: 1rem;
}

button.shop-cart-toggle {
    background: transparent;
    width: 100%;
    text-align: left;
    margin-top: 1rem;
    padding: 1rem 0;
}

.woocommerce ul.cart_list li::after,
.woocommerce ul.cart_list li::before,
.woocommerce ul.product_list_widget li::after,
.woocommerce ul.product_list_widget li::before {
    display: none;
}

.shop-cart-panel {
    width: 100%;
    background: transparent;
    z-index: 999;
}

.woocommerce a.remove,
.woocommerce ul.cart_list li a,
.woocommerce ul.product_list_widget li a {
    color: var(--main-text-color) !important;
    font-weight: lighter !important;
    font-size: var(--font-M) !important;
    text-transform: capitalize;
}

.woocommerce a.remove {
    width: max-content;
}

.woocommerce a.remove:hover {
    color: var(--main-text-color) !important;
    background: transparent !important;
}

.shop-cart-panel[hidden] {
    display: none;
}

.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
    display: none;
}

.shop-cart-toggle {
    background: none;
    border: 0;
    cursor: pointer;
    font: inherit;
}

p.woocommerce-mini-cart__total.total {
    margin: 1rem 0;
}

p.woocommerce-mini-cart__buttons.buttons a {
    background-color: transparent;
    font-weight: lighter !important;
    /* padding: 0 !important; */
    color: #000000;
    margin: 0;
    text-transform: uppercase;
    background-color: #dcffd2;
    border-radius: 0;
    width: 100%;
    padding: 1rem 0;
}

p.woocommerce-mini-cart__buttons.buttons a:hover {
    background-color: transparent;
    color: var(--main-text-color);
}

a.added_to_cart.wc-forward {
    display: none;
}

a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added::after {
    display: none;
}

/* Estado loading: no mostrar NADA */
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.loading {
    pointer-events: none;
}

/* Mata cualquier pseudo-elemento que meta Woo */
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.loading::after,
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.loading::before {
    display: none !important;
    content: none !important;
}

/* FOOTER */
.site-footer {
    padding: var(--pad-S);
}

ul.footer-grid {
    display: flex;
    justify-content: space-between;
    /* opacity: 0.4; */
    /* text-transform: uppercase; */
    font-family: 'Victor Serif';
    font-size: var(--font-M);
}

/* terms */

main.terms {
    min-height: 100%;
    padding: 10vh var(--pad-S);
    max-width: 50vw;
    margin: auto;
}

main.terms h3 {
    margin: 5vh 0 1rem;
}

/* ------------------------------    MEDIA Q       ------------------------------ */


/*BIG SCREEN*/
/* @media screen and (min-width: 1920px) {
      body, html{
          font-size: 1rem;
      }
  } */

/*DESKTOP RESPONSIVE*/
@media screen and (min-width: 1024px) {

    /**** GENERAL ****/
    .projects-grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .proyecto-gallery-swiper .swiper-slide {
        max-width: 33vw;
    }

    .services-button {
        text-transform: uppercase;
        width: 75px;
        font-weight: lighter;
    }
}


/*HOVER*/
@media screen and (min-width: 1024px) {
    a.hover:hover {
        background-color: var(--green-color);
        color: var(--main-text-color);

    }


}

/*IPAD RESPONSIVE*/
@media screen and (max-width: 1020px) {
    :root {
        --font-L: 14px;
        --font-XL: 22px;
        --font-XS: 9px;
    }

    /**** GENERAL ****/

    .mobile {
        display: block;
    }

    .desktop {
        display: none;
    }

    body.home #services-content.is-visible {
        background: none;
    }

    section.clients {
        padding: 2rem var(--pad-S);
        min-height: 40%;
        align-content: center;
    }

    section.clients .clientes {
        max-width: 100%;
    }

    header.site-header {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    header.site-header> :nth-child(1) {
        justify-self: start;
    }

    header.site-header> :nth-child(2) {
        justify-self: center;
        line-height: 1.2;
    }

    header.site-header> :nth-child(3) {
        justify-self: end;
    }

    .home-meta {
        font-size: var(--font-S);
        gap: 1.5rem;
    }

    .home-meta-info p {
        font-size: var(--font-S);
    }

    #services-content.is-visible {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .home-meta-info .ellipsis {
        align-content: flex-end;
        white-space: normal;
    }

    #services-content p {
        padding-top: 1.8rem;
        text-align: left;
        margin-left: 16px;
    }

    .home-meta-info {
        gap: 1rem;
    }

    ul#menu-main-menu-1 {
        line-height: 1.2;
    }

    ul#menu-main-menu-1 li {
        margin-bottom: 0.2rem;
    }

    /* page work */

    .project-image img {
        max-height: 240px;
    }

    body.page header.site-header {
        /* background-color: var(--main-bg-color); */
        padding-bottom: 0;
    }

    .projects-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.2rem;
        margin-top: 6vh;
    }

    .project-item {
        gap: 0.2rem;
    }

    p.page-work-p {
        max-width: 100vw;
    }

    .project-info {
        max-width: 85%;
        font-size: var(--font-S);
    }

    .site-main-work {
        padding: 12vh var(--pad-S);
    }

    .project-categories {
        line-height: 1;
        opacity: 0.3;
    }

    .project-year {
        font-size: var(--font-S);
    }

    .projects-filter-inner {
        display: flex;
        justify-content: space-between;
    }

    /* Primer elemento */
    .projects-filter-inner> :first-child {
        display: none;
    }

    .home-full-link {
        height: 10%;
        margin-top: auto;
        background: transparent;
    }

    /* single */
    .time-bar-container {
        display: none;
    }

    .proyecto-creditos.is-visible {
        max-width: 25vw;
    }

    .proyecto-creditos.is-visible p {
        display: flex;
        flex-wrap: wrap;
        font-size: var(--font-XS);
    }

    .back-work {
        font-size: var(--font-S);
    }

    .video-controls {
        bottom: -2px !important;

    }

    /* iOS stable viewport (no cambia con la barra) */
    .proyecto-video,
    .video-wrapper {
        height: 100% !important;
        height: 100svh !important;
    }

    /* fallback */
    @supports not (height: 100svh) {
        .proyecto-video {
            height: 100vh;
        }
    }

    #fullscreen-toggle {
        display: none;
    }

    /* .proyecto-creditos-container {
        order: -1;
    } */

    .proyecto-descripcion-inner-gallery {
        max-width: 70vw;
    }

    header.proyecto-header {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr auto;
        /* o si quieres control exacto:
        grid-template-columns: 1fr 1fr 1fr 120px;
    */
        gap: 1rem;
        /* opcional */
        font-size: var(--font-L);
    }

    /* shop */

    .woocommerce ul.products {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 1rem;
        min-height: 100vh;
    }

    .woocommerce ul.products:has(li:nth-last-child(-n+2)) {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 1rem;
    }

    .woocommerce ul.products[class*=columns-] li.product,
    .woocommerce-page ul.products[class*=columns-] li.product {
        width: 100%;
    }


    h1.shop-title {
        margin-bottom: 1rem;
    }

    .woocommerce ul.cart_list li,
    .woocommerce ul.product_list_widget li {
        padding: 1rem 0 0;
    }

    /* product - shop */
    .woocommerce-product-gallery .woocommerce-product-gallery__image {
        width: 100%;
        gap: 1rem;
    }

    .gouda-product__summary {
        position: inherit;
        max-width: 100%;
        margin-top: 1rem;
    }

    button.shop-cart-toggle {
        padding: 0;
        margin-top: 0;
    }

    .gouda-product__media {
        margin-top: 1rem;
    }

    /* about */
    section.about-gouda,
    .team {
        display: flex;
        flex-direction: column;
        gap: 5vh;
    }

    section.inner-about-text {
        flex-direction: column;
        gap: 5vh;
    }

}


/*MOVILE RESPONSIVE*/
@media screen and (max-width: 650px) {
    .projects-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .project-image img {
        max-height: 190px;
    }

    ul.footer-grid {
        flex-direction: column-reverse;
        align-items: center;
        gap: 0.2rem;
    }

    ul.footer-grid li:nth-child(4) {
        order: -4;
    }
}

body.proyecto-template .menu-desktop,
body.proyecto-template .menu-mobile,
body.proyecto-template footer {
    display: none;
}