/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Produccions Planetaries
 Author URI:   https://planetaries.cat
 Template:     generatepress
 Version:      0.1
*/

a, a:hover, button {
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}
h3 {
    margin-top: 80px;
}
.page-hero h1 {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}
.slideout-navigation.do-overlay .slideout-exit {
    position: fixed;
    top: 20px;
    right: 20px;
}
#generate-slideout-menu.do-overlay .slideout-menu li, .slideout-navigation.do-overlay .inside-navigation {
    text-align: left;
}
.slideout-navigation.do-overlay .inside-navigation .main-nav, .slideout-navigation.do-overlay .inside-navigation .slideout-widget {
    margin-top: 40px;
}
.slideout-navigation.do-overlay .slideout-menu li {
    margin-bottom: 30px;
}
.slideout-navigation.main-navigation .main-nav ul li a {
    font-size: 20px;
    line-height: 1.4;
}
a.gb-text {
    color: #fff;
}
a.gb-text:hover, a.gb-text:focus {
    color: #fff;
}

/* Woocommerce */
@media (min-width: 769px) {
    .woocommerce .woocommerce-breadcrumb {
        margin-top: -40px;
        margin-bottom: 40px;
    }
}
.woocommerce-products-header h2 {
    font-family: 'Kanit', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 32px;
    letter-spacing: 2px;
    margin-bottom: 40px;
}
.woocommerce-archive-wrapper .term-description {
    display: none;
}
.woocommerce .products ul, .woocommerce ul.products, .woocommerce div.product {
    margin-top: 80px;
}
.wc-block-product-categories-list--has-images {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item {
    margin: 0;
    flex: 0 0 calc(25% - 30px);
    display: flex;
    flex-direction: column;
}
@media (max-width: 768px) {
    .wc-block-product-categories-list--has-images .wc-block-product-categories-list-item {
        flex: 0 0 100%;
    }
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item a,
.woocommerce ul.products li.product-category a,
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: 100%;
    border: 2px solid #808080;
    position: relative;
    overflow: hidden;
}

.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item a,
.woocommerce ul.products li.product-category a {
    border-radius: 50px 0 0 0;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link:hover {
    border-color: var(--accent);
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item a:before,
.woocommerce ul.products li.product-category a:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(255,142,0,0.8);
    border: 2px solid rgba(255,142,0,0.8);
    border-radius: 50px 0 0 0;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-250px);
    transition: all 0.3s ease-in-out;
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item a:hover,
.woocommerce ul.products li.product-category a:hover {
    border-color: #fff;
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item a:hover:before,
.woocommerce ul.products li.product-category a:hover:before {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__image,
.woocommerce ul.products li.product-category .wc-product-image,
.woocommerce ul.products li.product  .wc-product-image {
    display: block;
    border: 0;
    margin: 0;
    max-width: 100%;
    vertical-align: inherit;
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__name,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    background-color: #808080;
    padding: 20px;
    color: #fff;
    text-transform: uppercase;
    flex-grow: 1;
    font-family: 'Kanit', sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 1px;
    z-index: 2;
    transition: all 0.3s ease-in-out;
    text-align: left;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .woocommerce-loop-product__title {
    background-color: var(--accent);
}
.wc-block-product-categories-list--has-images .wc-block-product-categories-list-item a:hover .wc-block-product-categories-list-item__name,
.woocommerce ul.products li.product-category a:hover .woocommerce-loop-category__title {
    background-color: transparent;
}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title .count {
    display: none;
}
.woocommerce div.product div.images .flex-viewport {
    margin-bottom: 40px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image a {
    display: flex;
    justify-content: center;
}
.woocommerce div.product div.images img {
    width: auto;
    max-width: 100%;
    max-height: 500px;
}
.woocommerce div.product div.images .flex-control-thumbs {
    display: flex;
    gap: 20px;
}
.woocommerce div.product div.images .flex-control-thumbs li {
    border: 2px solid #808080;
    padding: 8px;
}
.product_meta {
    border-top: 0;
    padding-top: 0;
	margin-bottom: 30px;
	border-bottom: 2px solid var(--contrast);
}
.product_meta .posted_in a {
    font-size: 20px;
    color: var(--contrast);
}
.woocommerce #content div.product .woocommerce-tabs, .woocommerce div.product .woocommerce-tabs, .woocommerce-page #content div.product .woocommerce-tabs, .woocommerce-page div.product .woocommerce-tabs {
    padding-top: 100px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs .panel h2 {
    display: none;
}
.ficha-tecnica {
	margin-top: 40px;
	margin-bottom: 40px;
}
.ficha-tecnica a {
	padding: 6px 20px;
	background-color: var(--accent);
	font-size: 13px;
	color: var(--base-3);
	font-weight: 600;
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.ficha-tecnica a:hover {
	background-color: var(--contrast);
	color: var(--base-3);
}
.addtoany_header {
	display: inline-block;
	vertical-align: top;
	margin-right: 10px;
	margin-top: 1px;
	font-size: 14px;
	font-weight: 600;
}
.addtoany_list a:not(.addtoany_special_service)>span {
	background-color: transparent !important;
}
.a2a_svg svg path {
	fill: var(--contrast) !important;
}
.addtoany_content {
	padding-top: 30px;
	margin-top: 40px;
	border-top: 2px solid var(--contrast);
}

/* Login */
.woocommerce form .form-row {
    padding: 0;
    margin: 0 0 30px;
}
.woocommerce form .form-row label {
    line-height: 1.2;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
    border-radius: 0;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    margin-top: 18px;
}

/* Search */
.search-title {
    font-size: 40px;
}
.search-title span {
    color: #808080;
    font-weight: 400;
}
.woocommerce-products-search__title {
    font-family: 'Kanit', sans-serif;
    font-size: 26px;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 60px;
}
.search-results .generate-columns-container:not(.masonry-container) {
    flex-direction: column;
}
.search-results .woocommerce ul.products {
    margin-top: 40px;
}

/* TablePress */
.tablepress > thead th,
.tablepress > tbody td {
    text-align: right;
    padding: 10px 16px;
}
.tablepress > thead th.column-1, .tablepress > thead th.column-2,
.tablepress > tbody td.column-1, .tablepress > tbody td.column-2 {
    text-align: left;
    font-weight: 600;
}
.tablepress>:where(thead,tfoot) > tr > * {
    background-color: var(--base);
    font-family: 'Kanit', sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #808080;
}
.tablepress>:where(thead)+tbody>:where(:not(.child))>*, .tablepress>tbody>*~:where(:not(.child))>*, .tablepress>tfoot>:where(:first-child)>* {
    border-color: var(--base);
    font-size: 16px;
}
@media screen and (max-width: 768px) {
    .tablepress thead {
        display: none;
    }
    .tablepress tr {
        display: block;
        margin-bottom: 20px;
        border: 2px solid var(--base);
    }
    .tablepress td {
        display: block;
        text-align: left;
        padding: 4px 10px;
        position: relative;
    }
    .tablepress > thead th,
    .tablepress > tbody td {
        text-align: left;
    }
    .tablepress td::before {
        content: attr(data-th) ":";
        color: #333;
        display: inline-block;
        margin-right: 4px;
        font-family: 'Kanit', sans-serif;
        font-size: 15px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: #808080;
    }
    .tablepress td.column-1:before, .tablepress td.column-2:before {
        display: block;
    }
}

/* Blog */
.post-image-above-header .inside-article .featured-image, .post-image-above-header .inside-article .post-image {
    margin-bottom: 20px;
}
.blog .post-image a {
    aspect-ratio: 4 / 3 ;
    overflow: hidden;
    display: flex;
}
.blog .post-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.blog h2 {
    font-size: 22px;
}
.entry-meta {
    font-size: 14px;
}
.generate-columns-container {
    margin-left: -40px;
}
.generate-columns {
    padding-left: 40px;
}
@media (max-width: 768px) {
    .one-container.archive .post:not(:last-child):not(.is-loop-template-item), .one-container.blog .post:not(:last-child):not(.is-loop-template-item) {
        padding-bottom: 0;
    }
}

/* Forms */
.wpcf7-form {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px 40px;
}
.form-group {
    width: 100%;
}
.form-group.w-50 {
    width: calc(50% - 20px);
}
@media (max-width: 768px) {
    .form-group.w-50 {
        width: 100%;
    }
}
.form-group p {
    display: flex;
    flex-direction: column;
    margin-bottom: 2px;
}
.form-group label {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.wpcf7-acceptance .wpcf7-list-item {
	margin-left: 0;
}
.wpcf7-acceptance .wpcf7-list-item-label {
	text-transform: initial;
	font-size: 14px;
    font-weight: 400;
	letter-spacing: 0;
	margin-left: 6px;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], textarea, select {
    border-color: var(--contrast);
    background-color: #fff;
    padding: .5em;
    width: 100%;
}