/*
Theme Name: D'ins Escola
Theme URI: https://santaconcha.com
Author: SANTACONCHA Digital Performance
Author URI: https://santaconcha.com
Description: Theme de D'ins Escola (Fundació Formació i Treball). Incluye landing Cistelles Reprofit y checkout WooCommerce multidioma.
Version: 1.0.8
Text Domain: dinsescola
*/


/* Estilos genéricos */
body {
	font-family: 'Open Sans', sans-serif;
}
h1 {
	font-family: 'FoundersGroteskMedium';
}
h2, h3, h4, h5 {
	font-family: 'FoundersGroteskMedium';
}
p {
    font-size: 16px;
    line-height: 26px;
}
.bottom-50px {
	margin-bottom: 50px;
}
.bottom-20px {
	margin-bottom: 20px;
}
.btn-dins {
	background: #fff;
	padding: 15px 50px;
	color: #b23232;
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
	border-radius: 5px;
    display: inline-block;
    border:1px solid #b23232;
    text-align: center;
}
.btn-dins:hover {
	background: #b23232;
	color: #fff;
	text-decoration:none;
}
.text-content-btn-bottom {
	margin-bottom: 30px;
}
.subtit-section {
	font-family: 'FoundersGroteskLight';
	color: #b23232;
	text-transform: uppercase;
	font-size: 18px;
}
.subtit-section+h2 {
	margin-top: 10px;
}
/* FIN Estilos genéricos */


/* Estilos HEADER */
.navbar-dins {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	margin: 0;
    padding: 20px 0;
    transition: background-color .2s ease-out, box-shadow .2s ease-out;
}
body.admin-bar .navbar.navbar-dins { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .navbar.navbar-dins { top: 46px; }
}
.navbar-dins .navbar-header a.navbar-brand {
	padding: 0;
	height: auto;
	margin-left: 0;
}
.navbar-dins .navbar-header a.navbar-brand img {
	max-width: 150px;
}
.navbar-dins .nav>li>a {
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
    color: #fff;
    font-size: 13px;
    text-transform: uppercase;
    padding-top: 10px;
    padding-bottom: 10px;
    transition: all 0.5s ease;
}
.navbar-dins .nav>li>a:hover,
.navbar-dins .nav>li>a:focus,
.navbar-dins .nav>li.current-menu-item>a {
	background: none;
	color: #e6a9a9;
}
.navbar-dins .nav>li.wpml-ls-item {
	position: relative;
	margin-left: 5px;
}
.navbar-dins .nav>li.wpml-ls-item:before {
	content: '';
	width: 1px;
	height: 20px;
	background: #ac3326;
	position: absolute;
	left: 0;
	top: 10px;
}
.navbar-dins.navbar-dins-sticky .nav>li.wpml-ls-item:before {
	top: 5px;
}
.navbar-dins .nav>li.wpml-ls-item>a {
	text-transform: none;
}
.navbar-dins .nav>li.wpml-ls-item>.dropdown-menu {
	min-width: 100%!important;
	border-radius: 0;
}
.navbar-dins .nav>li.wpml-ls-item>.dropdown-menu>li>a {
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	padding-left: 0;
	padding-right: 0;
}
.navbar-dins.navbar-dins-sticky .nav>li.wpml-ls-item>.dropdown-menu>li>a {
	font-size: 10px;
}

a.menu-item-carrito {
    display: inline-block;
    float: right;
    font-size: 25px;
    padding-left: 20px;
    color:#fff;
    position: relative;
    margin-left: 20px;
}
a.menu-item-carrito:before {
	content: '';
	width: 1px;
	height: 20px;
	background: #ac3326;
	position: absolute;
	left: 0;
	top: 10px;
}
a.menu-item-carrito span {
    position: absolute;
    font-size: 12px;
    font-weight: bold;
    width: 20px;
    height: 20px;
    border-radius: 100%;
    background: #ac3326;
    text-align: center;
    line-height: 20px;
    color: #fff;
}

.navbar-dins.navbar-dins-sticky a.menu-item-carrito {
    color: #000;
}


.navbar-dins.navbar-dins-sticky {
	padding: 10px 0 8px;
	background: #fff;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
}
.navbar-dins.navbar-dins-sticky .nav>li>a {
	color: #000;
	font-size: 12px;
	padding-top: 8px;
	padding-bottom: 8px;
}
.navbar-dins.navbar-dins-sticky .nav>li>a:hover, .navbar-dins.navbar-dins-sticky .nav>li.current-menu-item>a {
	color: #b23232;
}
.navbar-dins.navbar-dins-sticky .navbar-header a.navbar-brand img {
	max-width: 90px;
}

/* Checkout / carrito: header fijo compacto, sin transición ni cambio al scroll */
body.woocommerce-checkout .navbar-dins,
body.woocommerce-cart .navbar-dins,
body.woocommerce-account .navbar-dins,
body.woocommerce-order-received .navbar-dins,
.navbar-dins.navbar-dins-simple {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	padding: 10px 0 8px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	transition: none !important;
	-webkit-transition: none !important;
}
body.woocommerce-checkout .navbar-dins .nav>li>a,
body.woocommerce-cart .navbar-dins .nav>li>a,
body.woocommerce-account .navbar-dins .nav>li>a,
body.woocommerce-order-received .navbar-dins .nav>li>a,
.navbar-dins.navbar-dins-simple .nav>li>a {
	color: #000;
	font-size: 12px;
	padding-top: 8px;
	padding-bottom: 8px;
	transition: none !important;
}
body.woocommerce-checkout .navbar-dins .nav>li>a:hover,
body.woocommerce-checkout .navbar-dins .nav>li.current-menu-item>a,
body.woocommerce-cart .navbar-dins .nav>li>a:hover,
body.woocommerce-account .navbar-dins .nav>li>a:hover,
body.woocommerce-order-received .navbar-dins .nav>li>a:hover,
.navbar-dins.navbar-dins-simple .nav>li>a:hover,
.navbar-dins.navbar-dins-simple .nav>li.current-menu-item>a {
	color: #b23232;
}
body.woocommerce-checkout .navbar-dins .navbar-header a.navbar-brand img,
body.woocommerce-cart .navbar-dins .navbar-header a.navbar-brand img,
body.woocommerce-account .navbar-dins .navbar-header a.navbar-brand img,
body.woocommerce-order-received .navbar-dins .navbar-header a.navbar-brand img,
.navbar-dins.navbar-dins-simple .navbar-header a.navbar-brand img {
	max-width: 90px;
}
body.woocommerce-checkout .navbar-dins a.menu-item-carrito,
body.woocommerce-cart .navbar-dins a.menu-item-carrito,
body.woocommerce-account .navbar-dins a.menu-item-carrito,
body.woocommerce-order-received .navbar-dins a.menu-item-carrito,
.navbar-dins.navbar-dins-simple a.menu-item-carrito {
	color: #000;
}
body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-account,
body.woocommerce-order-received {
	padding-top: 90px;
}
body.woocommerce-checkout h1.page__title,
body.woocommerce-cart h1.page__title {
	margin-top: 10px;
}

.hero {
	background-repeat: no-repeat;
    background-size: cover!important;
    background-attachment: fixed;
    position: fixed;
    top: 0;
    width: 100%;
    min-height: 800px;
}
.hero .text-hero {
	padding: 300px 15px;
}
.hero .text-hero h1 {
	font-size: 40px;
	color:#FFF;
	margin-bottom: 0;
}
.hero .text-hero p {
	font-size: 16px;
    font-weight: 300;
    color: #FFF;
}
.hero .text-hero .div-text-hero {
	margin-bottom: 20px;
	line-height: 30px;
	text-shadow: none;
}
.no-hero {
    position: relative;
    top: 800px;
    z-index: 99;
    background: #fff;
    padding-top: 50px;
}
#hero-politica {
    min-height: 450px;
}
#hero-politica.hero .text-hero {
	padding: 200px 15px 150px;
}
.no-hero-politica {
    position: relative;
    top: 450px;
    z-index: 99;
    background: #fff;
    padding-top: 50px;
}

.hero.hero-restaurante {
	min-height: 460px;
}
.hero.hero-restaurante .text-hero {
    padding: 200px 15px 150px;
}
.hero.hero-restaurante + .no-hero {
	top: 460px;
	padding-top: 0;
}


.hero-slider-home,
.hero-slider-home .owl-slider-home {
	position: fixed;
}
.item-hero-slider-home {
	height: 800px;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
.item-hero-slider-home .text-hero {
	padding: 300px 15px;
}
.item-hero-slider-home .text-hero h1 {
	font-size: 46px;
    color: #FFF;
    margin-bottom: 0;
    font-weight: 500;
}
.item-hero-slider-home .text-hero p {
	font-size: 20px;
    font-weight: 400;
    color: #FFF;
    line-height: 30px;
}
.item-hero-slider-home .text-hero .div-text-hero {
	line-height: 30px;
	text-shadow: none;
}
.hero-slider-home .owl-slider-home .owl-dots {
	position: absolute;
    width: 100%;
    bottom: 120px;
}
.hero-slider-home .owl-slider-home .owl-dots .owl-dot span {
	background: #fff;
}
.hero-slider-home .owl-slider-home .owl-dots .owl-dot.active span,
.hero-slider-home .owl-slider-home .owl-dots .owl-dot:hover span {
	background:#e4aaaa;
}
.hero-slider-home + .no-hero {
	padding-top: 90px;
}
/* FIN Estilos HEADER */


/* Estilos FOOTER */
footer {
	background: #681010;
}
footer a, .politicas-footer {
	color: #fff;
}
footer a:hover {
	text-decoration: none;
	color: #fff;
}
.pre-footer {
	background: #801d1d;
	padding: 50px 0;
}
.pre-footer+.container {
	padding-top: 20px;
	padding-bottom: 20px;
}
.telf-correo-footer, .direccion-footer,
.telf-correo-footer a, .direccion-footer a {
	color: #fff;
}
.telf-w-icon {
    margin-bottom: 8px;
    font-size: 25px;
    font-weight: bold;
}
.mail-w-icon {
	font-size: 16px;
}
.mail-w-icon i {
	margin-right: 7px;
}
.direccion-footer {
	padding-left: 40px;
	font-size: 12px;
}
.direccion-footer strong {
	font-size: 15px;
}
.direccion-footer:before {
	content: "\f041";
	font-family: FontAwesome;
    margin-left: -22px;
    margin-top: -2px;
    font-size: 20px;
    position: absolute;
}
.politicas-footer {
	padding-top: 4px;
}
.redes-footer {
	text-align: right;
}
.redes-footer a {
	font-size: 20px;
    margin: 0 5px;
}
.cookie-notice-container {
	padding: 20px 15px;
}
.cookie-notice-container #cn-notice-text {
	display: block;
	margin-bottom: 10px;
}
.cookie-notice-container #cn-notice-text a {
	font-weight: bold;
	color: #fff;
	text-decoration: underline;
}
.cn-button.wp-default.btn-cookies {
	padding: 6px 20px 5px;
	text-shadow: none!important;
	text-transform: uppercase;
    font-size: 10px;
}
#cn-accept-cookie {
	background: #fff;
	color: #681010;
	border:1px solid #fff;
}
#cn-refuse-cookie {
	border:1px solid #fff;
	background: #681010;
	color: #fff;
}
#cn-accept-cookie:hover, #cn-refuse-cookie:hover {
	background: #b23232;
	border:1px solid #b23232;
	color: #fff;
}

/* FIN Estilos FOOTER */


/* Estilos HOME */
.section-video-home {
	margin-top: 90px;
	margin-bottom: 120px;
}
.section-video-home iframe {
	width: 100%;
	height: 500px;
}

.banners-destacados-home .item-banner-destacado {
	margin-top: 30px;
	margin-bottom: 30px;
}
.banners-destacados-home .content-item-banner-destacado {
	display: flex;
	align-content: center;
    height: 250px;
	justify-content: center;
	flex-wrap: wrap;
	background-size: cover;
	background-position: center center;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}
/* FIN Estilos HOME */


/* Estilos DINS */
.bloque-pagina {
	margin-bottom: 80px;
}
.bloque-pagina img {
	width: 100%;
}
.item-valor {
	min-height: 330px;
}
.item-valor img {
	width: auto;
	max-width: 110px;
}
.box-vertiente {
	padding: 35px;
	margin-top: 20px;
    margin-bottom: 20px;
    min-height: 490px;
}
.box-vertiente h3 {
	margin-top: 0;
}
.box-vertiente-rosa {
	background: #faebeb;
}
.box-vertiente-gris {
	background: #e9e5e5;
}
/* FIN Estilos DINS */


/* Estilos RESTAURANTES */
.content-lista-restaurantes {
	display: inline-block;
    width: 100%;
}
.div-img-item-lista-restaurante {
	height: 350px;
    width: 100%;
    display: table;
    padding: 30px;
    color: #fff;
}
.div-img-item-lista-restaurante .text-content-btn-bottom {
	display: table-cell;
    vertical-align: bottom;
    font-weight: 300;
}
.div-img-item-lista-restaurante .text-content-btn-bottom h3,
.div-img-item-lista-restaurante .text-content-btn-bottom p {
	margin-bottom: 0;
}
.div-img-item-lista-restaurante .text-content-btn-bottom a {
	color: #fff;
	font-weight: bold;
}
.mapa-restaurantes {
	height: 350px;
}
.item-restaurante {
	display: inline-block;
	width: 100%;
	margin-bottom: 30px;
}
/* FIN Estilos RESTAURANTES */


/* Estilos ESCOLA */
.text-lg-right {
	text-align: right;
}
@media (max-width: 768px) {
	.text-lg-right {
		text-align: left;
	}
}

.content-lista-cursos {
	display: inline-block;
	width: 100%;
}
.item-curso {
	margin-top: 50px;
	margin-bottom: 50px;
    display: inline-block;
    width: 100%;
}
.item-curso h2 {
	margin: 0;
}
.item-curso .text-content-btn-bottom {
	margin-bottom: 0;

}
.text-ediciones p {
	color: #b23232;
	font-size: 16px;
}
.btn-curso {
	margin-top: 20px;
}
.item-curso .text-content-btn-bottom ul {
	list-style: none;
	padding-left: 10px;
}
.item-curso .text-content-btn-bottom ul li::before {
	content: "\2022";
	color: #b23232;
	font-weight: bold;
	display: inline-block;
	width: 15px;
	margin-left: 0px;
}
#content-formulario {
	padding: 80px 0;
	background: #f2f2f2;
}
.content-form-wpcf7 {
    display: inline-block;
    width: 100%;
}
.div-input {
	margin-bottom: 10px;
}
.div-input input,
.div-input textarea,
.div-input select {
	width: 100%;
	padding: 10px;
	background: #fff;
}
.div-input select {
	/*-webkit-appearance: none;*/
	-webkit-appearance: menulist;
}
.div-accept {
	margin-bottom: 15px;
}
.div-accept .wpcf7-list-item {
	margin: 0;
}
.div-submit {
	text-align: center;
}
.div-submit .wpcf7-form-control.wpcf7-submit {
    padding: 15px 50px;
    background: #b23232;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 5px;
    display: inline-block;
    border: 1px solid #b23232;
}
.div-submit .wpcf7-not-valid-tip {
	margin-bottom: 5px;
}
.wpcf7-spinner {
	display: none!important;
}
/* FIN Estilos ESCOLA */


/* Estilos FICHA RESTAURANTE */
.intro-restaurante {
    background: #e4aaaa;
    padding: 70px 0;
    text-align: center;
    color: #fff;
}
.menu-anclas-restaurante {
	background: #e9e9e9;
	padding:15px 0;
	text-align: center;
}
.menu-anclas-restaurante a {
	display: inline-block;
	color: #989898;
	font-size: 18px;
	font-weight: bold;
	padding: 0 20px;
}
.menu-anclas-restaurante a:hover {
	color: #ac3326;
	text-decoration: none;
}
#menu-diario {
	background-size: cover;
	background-image: url('/wp-content/uploads/2021/10/background-menu-diari.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	padding: 80px 0;
	text-align: center;
}
#menu-diario h2 {
	margin-top: 0;
}
#menu-diario h3 {
	margin-top: 30px;
}
#menu-diario p {
	margin-bottom: 0;
}
#cta-restaurante {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 150px 0;
	text-align: center;
}
#cta-restaurante * {
	color:#fff;
}
#cta-restaurante h2 {
	margin-bottom: 30px;
	margin-top: 0;
}
#lista-sugerencias {
	padding: 80px 0;
	text-align: center;
}
#lista-sugerencias h2 {
	color: #ac3326;
}
.lista-sugerencias {
	margin-top: 40px;
}
.lista-sugerencias .item-sugerencia {
	padding: 0 50px 30px;
}
.lista-sugerencias .item-sugerencia p.num-item {
	font-size: 80px;
    font-weight: bold;
    line-height: 90px;
    color: #ac3326;
}
.lista-sugerencias .item-sugerencia p.text-item {
	font-size: 20px;
    line-height: 30px;
    color: #333333;
    position: relative;
    padding-bottom: 20px;
}
.lista-sugerencias .item-sugerencia p.text-item:after {
	content: '';
	width: 70px;
	height: 2px;
	background:#ac3326;
	position: absolute;
	bottom: 0;
	left: calc(50% - 35px);
}

#reserva {
	background: #e9e9e9;
    padding: 100px 0;
    text-align: center;
}
#reserva h2 {
	margin-top: 0;
	margin-bottom: 40px;
}
#reserva .div-input input,
#reserva .div-input textarea,
#reserva .div-input select {
	border: 1px solid #e9e9e9;
}

#donde-estamos {
	padding: 80px 0;
    text-align: center;
}
#donde-estamos h2 {
	margin-bottom: 40px;
}
#donde-estamos .item-restaurante {
	text-align: left;
}
#donde-estamos .tit-item-donde {
	margin-bottom: 5px;
}
#donde-estamos .tit-item-donde p {
	font-size: 21px;
	line-height: 27px;
	font-weight: bold;
}
#donde-estamos .direccion-item-donde p {
	font-size: 16px;
    line-height: 23px;
}
/* FIN Estilos FICHA RESTAURANTE */


/* Estilos RESTAURANTES NEW */
.item-restaurantes {
	margin: 30px 0;
}
.item-restaurantes .img-restaurantes {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	height: 300px;
	width: 	100%;
}
.item-restaurantes h3 {
	color: #ac3326;
	margin-bottom: 0;
}
.item-restaurantes p {
	color:#333;
}
.item-restaurantes a:hover {
	text-decoration:none;
	color: #ac3326;
}
/* FIN Estilos RESTAURANTES NEW */


/* Estilos COLECTIVITATS */
.destacados-colectivitats {
	position: relative;
	display: inline-block;
	margin: 80px 0;
	width: 100%;
}
.item-destacado-colectivitat {
	text-align: center;
    padding: 0 60px;
}
.item-destacado-colectivitat img {
    max-width: 250px;
    margin-bottom: 30px;
}


.cta-colectivitats {
	position: relative;
	display: inline-block;
	margin-bottom: 80px;
	width: 100%; 
}
.background-cta-colectivitats {
	position: absolute;
	width: 100%;
	height: 80%;
	top: 10%;
	left: 0;
	background: #f9ebeb;
}
.content-cta-colectivitats {
    display: flex;
    align-items: center;
}

.lista-lliurament-social {
	position: relative;
	width: 100%;
	display: inline-block;
	margin-top: 120px;
	margin-bottom: 60px;
}
.lista-lliurament-social .item-lliurament-social {
	padding: 60px;
	position: relative;
	text-align: center;
	border-bottom: 2px solid #fff;
}
.lista-lliurament-social .item-lliurament-social.item-lliurament-grey,
.lista-lliurament-social .item-lliurament-social.item-lliurament-grey span.semicirculo {
	background: #eee;
}
.lista-lliurament-social .item-lliurament-social.item-lliurament-red,
.lista-lliurament-social .item-lliurament-social.item-lliurament-red span.semicirculo {
	background: #f9ebeb;
}
.lista-lliurament-social .item-lliurament-social span.semicirculo {
	position: absolute;
    top: -29px;
    left: calc(50% - 29px);
    width: 58px;
    height: 29px;
    border-top-left-radius: 29px;
    border-top-right-radius: 29px;
    border: 3px solid #fff;
    border-bottom: 0;
}
.lista-lliurament-social .item-lliurament-social span.num {
	position: absolute;
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 40px;
	font-weight: bold;
	top: -25px;
	left: calc(50% - 25px);
	border-radius: 50%;
}
/* FIN Estilos COLECTIVITATS */


/* Estilos CATERING */
#content-catering {
	margin-bottom: 0;
}

.servicios-catering {
	position: relative;
	display: inline-block;
	margin: 80px 0 40px;
	width: 100%;
	text-align: center;
}
.servicios-catering h2 {
	color:#ac3326;
	margin-bottom: 40px;
}
.servicios-catering .item-servicio-catering {
	margin-bottom: 50px;
}
.servicios-catering .item-servicio-catering a {
	color:#333;
}
.servicios-catering .item-servicio-catering a:hover {
	text-decoration: none;
}
.servicios-catering .text-destacado-catering h3 {
	font-weight: bold;
	font-size: 18px;
	margin-top: 20px;
	color: #333;
}

.destacados-catering {
	position: relative;
	display: inline-block;
	margin: 50px 0 0;
	width: 100%;
	text-align: center;
	padding: 120px 0 80px;
	background: #f7f7f7;
}
.destacados-catering .item-destacado-catering {
	margin-bottom: 50px;
	padding: 0 80px;
}
.destacados-catering .item-destacado-catering img {
	max-width: 150px;
	width: 100%;
}
.destacados-catering .item-destacado-catering h3 {
	font-size: 18px;
	font-weight: bold;
}


.lista-subcatering {
	padding: 80px 0;
}
.lista-subcatering .content-item-lista-subcatering {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 50px;
}
.lista-subcatering .content-item-lista-subcatering h2 {
	color:#ac3326;
	margin-top: 0;
	font-size: 20px;
}

.lista-espais {
	padding: 50px 0;
	text-align: center;
}
.lista-espais h2 {
	color:#ac3326;
	margin-top: 0;
	margin-bottom: 40px;
}
.lista-espais .item-lista-espais {
	margin-bottom: 50px;
}
.lista-espais .item-lista-espais h3 {
	font-size: 18px;
	font-weight: bold;
}


.forms-reserves-catering {
	background: #e9e9e9;
	padding: 80px 0;
	margin-top: -10px;
}
.forms-reserves-catering h2,
.forms-reserves-catering ul.nav {
	text-align: center;
}
.forms-reserves-catering ul.nav-pills>li {
	float: none;
	display: inline-block;
	margin: 0 10px 30px;
}
.forms-reserves-catering ul.nav-pills>li a {
	padding: 15px 30px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 5px;
    display: inline-block;
    min-width: 180px;
    background: #b3b1b1;
}
.forms-reserves-catering ul.nav-pills>li.active a,
.forms-reserves-catering ul.nav-pills>li a:hover {
	background: #b23232;
}
.forms-reserves-catering form .div-input {
	padding: 0 10px;
	margin-bottom: 20px;
}
.forms-reserves-catering form input,
.forms-reserves-catering form textarea {
	border: none!important;
}


/* Cistelles Reprofit: composición propia, contenido administrado sin cambios. */
.reprofit-hero.hero {
	position: relative;
	top: auto;
	display: grid;
	align-items: center;
	min-height: 540px;
	background-attachment: scroll;
	/* Evitar el desplazamiento inline del parallax global en esta portada. */
	background-position: center 48% !important;
}
.reprofit-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(28, 24, 18, .78) 0%, rgba(28, 24, 18, .66) 55%, rgba(28, 24, 18, .18) 100%);
	pointer-events: none;
}
.reprofit-hero .text-hero {
	position: relative;
	z-index: 1;
	padding: 160px 15px 96px;
}
.reprofit-hero .row,
.reprofit-page #content-cistelles > .row {
	margin: 0;
}
.reprofit-hero .text-hero .col-md-10 {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: left;
}
.reprofit-hero .text-hero h1 {
	max-width: 18ch;
	margin: 0 0 20px;
	font-size: clamp(40px, 5vw, 64px);
	line-height: 1.05;
	letter-spacing: -.025em;
	text-wrap: balance;
}
.reprofit-hero .text-hero .div-text-hero {
	max-width: 600px;
	margin: 0;
}
.reprofit-hero .text-hero p {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.65;
}
.reprofit-page.no-hero {
	top: auto;
	padding-top: 0;
	z-index: 1;
}
.reprofit-page #content-cistelles {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-bottom: 0;
}
.reprofit-page .reprofit-section-title {
	float: none;
	width: auto;
	margin: 0 0 40px;
	padding: 0;
	color: #b23232;
	font-size: clamp(30px, 3vw, 40px);
	line-height: 1.15;
	letter-spacing: -.02em;
	text-wrap: balance;
}
.reprofit-page .lista-cols-reprofit {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px;
}
.reprofit-page .col-proyecto-reprofit {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 0;
	margin: 0;
	text-align: left;
}
.reprofit-page .reprofit-project-copy {
	flex: 1;
}
.reprofit-page .reprofit-project-copy p,
.reprofit-page .reprofit-product-copy p {
	margin: 0 0 20px;
	color: #393630;
	line-height: 1.75;
}
.reprofit-page .reprofit-project-copy p:last-child,
.reprofit-page .reprofit-product-copy p:last-child {
	margin-bottom: 0;
}
.reprofit-page .col-proyecto-reprofit > img {
	position: static;
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 200px;
	margin-top: 32px;
	object-fit: contain;
}
.reprofit-page #productos-cistelles {
	padding: 80px 0;
	background: #f5f3ef;
}
@media (min-width: 1300px) {
	.reprofit-page #productos-cistelles > .container { width: calc(100% - 64px); max-width: 1280px; }
}
.reprofit-page #productos-cistelles .item-producto {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	align-items: stretch;
	gap: 40px;
	width: 100%;
}
.reprofit-page #productos-cistelles .item-producto + .item-producto {
	margin-top: 64px;
	padding-top: 64px;
	border-top: 1px solid #ddd8cf;
}
.reprofit-page #productos-cistelles .img-producto,
.reprofit-page #productos-cistelles .text-producto {
	float: none;
	width: auto;
	min-width: 0;
	padding: 0;
	text-align: left;
}
.reprofit-page #productos-cistelles .img-producto > img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 12px;
}
.reprofit-page #productos-cistelles .text-producto {
	display: flex;
	flex-direction: column;
}
.reprofit-page .reprofit-product-copy {
	overflow-wrap: anywhere;
}
.reprofit-page .reprofit-product-copy p {
	margin-bottom: 12px;
	font-size: 15px;
	line-height: 1.6;
}
.reprofit-page .reprofit-product-copy p:last-child {
	margin-bottom: 0;
}
.reprofit-purchase {
	margin-top: auto;
	padding-top: 24px;
}
.reprofit-quantity-row,
.reprofit-total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.reprofit-quantity-row > label {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #393630;
}
.reprofit-quantity-controls {
	display: inline-flex;
	align-items: center;
	border: 1px solid #c7c1b7;
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
}
.reprofit-quantity-controls button {
	width: 44px;
	height: 44px;
	border: 0;
	padding: 0;
	background: #fff;
	color: #9b2929;
	font-size: 22px;
	line-height: 1;
}
.reprofit-quantity-controls button:hover:not(:disabled) { background: #f0e9e2; }
.reprofit-quantity-controls button:disabled { opacity: .4; cursor: default; }
.reprofit-quantity-controls input.reprofit-quantity {
	width: 56px;
	height: 44px;
	border: 0;
	border-right: 1px solid #e3ded6;
	border-left: 1px solid #e3ded6;
	border-radius: 0;
	padding: 0 4px;
	margin: 0;
	background: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	appearance: textfield;
	-moz-appearance: textfield;
}
.reprofit-quantity::-webkit-inner-spin-button,
.reprofit-quantity::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.reprofit-quantity-controls :focus-visible {
	outline: 2px solid #b23232;
	outline-offset: -3px;
}
.reprofit-total-row {
	margin: 16px 0 12px;
	padding-top: 16px;
	border-top: 1px solid #dcd6cd;
	font-size: 15px;
	font-weight: 600;
	color: #393630;
}
.reprofit-total {
	padding: 0;
	font-family: 'FoundersGroteskMedium', sans-serif;
	font-size: 36px;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	color: #b23232;
}
.reprofit-page .reprofit-project-copy a,
.reprofit-page .reprofit-product-copy a {
	color: #9b2929;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.reprofit-page #productos-cistelles .btn-comprar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin-top: 28px;
	padding: 14px 36px;
	border-radius: 6px;
	line-height: 1.4;
	transition: background-color .18s ease-out, border-color .18s ease-out;
}
.reprofit-page #productos-cistelles .reprofit-purchase .btn-comprar {
	width: 100%;
	margin-top: 0;
	text-align: center;
}
.reprofit-page .btn-comprar.loading {
	cursor: wait;
	opacity: .65;
}
.reprofit-page a:focus-visible {
	outline: 3px solid #b23232;
	outline-offset: 5px;
}
.reprofit-hero ::selection,
.reprofit-page main ::selection {
	background: #b23232;
	color: #fff;
}
@media (max-width: 991px) {
	.reprofit-page .lista-cols-reprofit,
	.reprofit-page #productos-cistelles .item-producto {
		gap: 32px;
	}
}
@media (min-width: 768px) and (max-width: 1299px) {
	.reprofit-page #productos-cistelles > .container { max-width: 720px; }
	.reprofit-page #productos-cistelles .item-producto { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 767px) {
	.reprofit-hero.hero {
		min-height: 460px;
	}
	.reprofit-hero::before {
		background: rgba(28, 24, 18, .66);
	}
	.reprofit-hero .text-hero {
		padding: 140px 24px 64px;
	}
	.reprofit-hero .text-hero p {
		font-size: 16px;
	}
	.reprofit-page .container {
		padding-right: 24px;
		padding-left: 24px;
	}
	.reprofit-page #content-cistelles,
	.reprofit-page #productos-cistelles {
		padding-top: 48px;
		padding-bottom: 48px;
	}
	.reprofit-page .reprofit-section-title {
		margin-bottom: 28px;
	}
	.reprofit-page .lista-cols-reprofit,
	.reprofit-page #productos-cistelles .item-producto {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}
	.reprofit-page .col-proyecto-reprofit > img {
		max-height: 180px;
		margin-top: 24px;
	}
	.reprofit-page #productos-cistelles .btn-comprar {
		width: 100%;
	}
	.reprofit-page #productos-cistelles .item-producto + .item-producto {
		margin-top: 40px;
		padding-top: 40px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.reprofit-page #productos-cistelles .btn-comprar,
	.navbar-dins,
	.navbar-dins .nav > li > a,
	.hamburger,
	.hamburger ._layer,
	#bs-example-navbar-collapse-1 {
		transition: none !important;
	}
}

.btn-comprar,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    padding: 15px 50px;
    background: #b23232;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 5px;
    display: inline-block;
    border: 1px solid #b23232;
    
}
.btn-comprar:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: #8e1919;
    color: #fff;
    text-decoration: none;
}

.alert-producto-carrito {
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px;
    border: 2px solid green;
    background: #d9f3d9;
    border-radius: 5px;
}
.alert-producto-carrito p {
	margin-bottom: 0;
	font-weight: bold;
}
.alert-producto-carrito .col-md-4 {
	text-align: right;
}


/* Estilos WooCommerce */
.hero-woocommerce {
	min-height: 350px;
}
.hero-woocommerce .text-hero {
    padding: 170px 15px 100px;
}
.hero-woocommerce + .no-hero {
	top: 350px;
}
.hero-woocommerce + .no-hero > .container {
	padding-bottom: 100px;
}
.woocommerce-cart .woocommerce-notices-wrapper {
	display: none;
}
.woocommerce-cart h1.page__title,
.woocommerce-checkout h1.page__title {
	color:#b23232;
	margin-bottom: 20px;
}

.woocommerce-shipping-destination,
.checkout.woocommerce-checkout .col-2 {
	display: none;
}

.woocommerce-checkout .page__content {
	position: relative;
	overflow: visible;
}

/* Layout: datos + cupón a la izquierda, resumen a la derecha */
.woocommerce-checkout h1.page__title {
	font-size: 28px;
	letter-spacing: -0.02em;
	margin-bottom: 28px !important;
}

.checkout-layout {
	display: grid;
	grid-template-columns: minmax(260px, 34%) minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 28px;
	row-gap: 14px;
	align-items: start;
	width: 100%;
	margin-bottom: 48px;
}

.checkout.woocommerce-checkout {
	display: contents;
}

.checkout.woocommerce-checkout .col-1 {
	background: #f4f2f2;
	padding: 22px 24px;
	border-radius: 8px;
	border: 1px solid #e6e1e1;
}

.checkout.woocommerce-checkout .col-1 h3,
.col-resumen-carrito h3 {
	margin-top: 0;
	margin-bottom: 16px;
	color: #b23232;
	font-size: 18px;
}

.checkout.woocommerce-checkout .col-1 p {
	margin-bottom: 20px !important;
}

.checkout.woocommerce-checkout .col-1,
.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout,
.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last {
	width: 100%;
}

#customer_details {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
}

#customer_details .col-1 {
	width: 100%;
}

.col-resumen-carrito {
	grid-column: 2;
	grid-row: 1 / span 2;
	width: 100%;
	background: #fff;
	padding: 22px 24px 28px;
	border-radius: 8px;
	border: 1px solid #e6e1e1;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.checkout.woocommerce-checkout label {
	font-weight: 400;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	padding: 10px 12px;
	border: 1px solid #d6d6d6;
	border-radius: 4px;
	width: 100%;
	background: #fff;
}

.woocommerce form .form-row {
	padding: 0;
	margin-bottom: 14px;
}

.woocommerce-checkout #payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li .payment_box.payment_method_redsys {
	display: none !important;
}

#shipping_method li label,
.wc_payment_methods.payment_methods.methods li label {
	font-weight: 700;
	color: #b23232;
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background: none;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
	float: none;
	display: inline-block;
	margin-top: 30px;
	padding: 15px 40px;
	background: #b23232;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-weight: 700;
	text-transform: uppercase;
}

.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover {
	background: #8e1919;
}

#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout #payment div.form-row,
.woocommerce-checkout #payment ul.payment_methods {
	padding: 1em 0;
}

/* Mostrar labels de campos visibles del checkout */
.woocommerce-checkout .woocommerce form .form-row label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #333;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: 150px;
}

.woocommerce table.cart td.actions .coupon button.button {
	padding: 10px 50px;
	background: #b23232;
	color: #fff;
}

.woocommerce table.cart td.actions .coupon button.button:hover {
	background: #8e1919;
	color: #fff;
	text-decoration: none;
}

/* Cupón en flujo normal, bajo datos del cliente */
.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
	grid-column: 1;
	grid-row: 2;
	display: block !important;
	position: static !important;
	top: auto !important;
	width: 100%;
	max-width: 100%;
	margin: 0;
	border-radius: 8px !important;
	background: #f4f2f2;
	border: 1px solid #e6e1e1 !important;
	padding: 18px 20px !important;
	box-sizing: border-box;
}

.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon p {
	font-size: 13px;
	line-height: 1.45;
	margin-bottom: 8px !important;
	color: #555;
}

.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon .label-cupon {
	font-weight: 700;
	font-size: 15px;
	margin-bottom: 6px;
	color: #222;
}

.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon .input-button-cupon input {
	padding: 10px 12px;
	border: 1px solid #d6d6d6;
	width: 100%;
	margin-bottom: 10px;
	border-radius: 6px;
}

.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon .input-button-cupon button {
	padding: 12px 18px;
	background: #b23232;
	color: #fff;
	width: 100%;
	text-transform: uppercase;
	border: none;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 700;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	position: static;
	width: 100%;
	margin: 0 0 20px;
}

.woocommerce form .form-row.fecha-pedido label {
	display: block;
	width: 100%;
	font-size: 13px;
}

.woocommerce form .form-row.fecha-pedido label .optional {
	display: none !important;
}

/* Cantidad / eliminar en resumen del checkout */
.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-checkout-review-order-table.is-updating {
	opacity: 0.6;
	pointer-events: none;
}

.woocommerce-checkout-review-order-table thead th {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #777;
	font-weight: 600;
	border-bottom: 1px solid #ececec;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 12px 4px;
	border-bottom: 1px solid #eee;
	vertical-align: middle;
}

.woocommerce-checkout-review-order-table .product-name {
	text-align: left;
}

.woocommerce-checkout-review-order-table .product-total {
	text-align: right;
	white-space: nowrap;
	font-weight: 600;
}

.woocommerce-checkout-review-order-table tfoot th {
	font-weight: 600;
	color: #444;
}

.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	font-size: 16px;
	color: #b23232;
	border-bottom: 0;
	padding-top: 14px;
}

.checkout-item-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.checkout-item-name {
	font-weight: 600;
	font-size: 14px;
	color: #222;
	line-height: 1.35;
}

.checkout-remove-item {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #999;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	opacity: 0.75;
}

.checkout-remove-item:hover {
	background: #f3e8e8;
	color: #b23232;
	opacity: 1;
}

.checkout-qty-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	flex-wrap: wrap;
}

.checkout-qty-label {
	display: none !important;
}

.checkout-qty-controls {
	display: inline-flex;
	align-items: center;
	border: 1px solid #d7d0d0;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
}

.checkout-qty-btn {
	width: 28px;
	height: 30px;
	border: 0;
	background: #faf8f8;
	color: #666;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

.checkout-qty-btn:hover {
	background: #b23232;
	color: #fff;
}

.checkout-qty-controls .checkout-qty-input,
.woocommerce-checkout input.checkout-qty-input {
	width: 42px !important;
	min-width: 42px;
	height: 30px;
	margin: 0 !important;
	padding: 4px 2px !important;
	border: 0 !important;
	border-left: 1px solid #e5e0e0 !important;
	border-right: 1px solid #e5e0e0 !important;
	border-radius: 0 !important;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	color: #222;
	background: #fff;
	-moz-appearance: textfield;
	appearance: textfield;
}

.checkout-qty-controls .checkout-qty-input::-webkit-outer-spin-button,
.checkout-qty-controls .checkout-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
	width: 100%;
	text-align: center;
	padding: 14px 20px;
	border-radius: 6px;
	margin-top: 18px;
}

/* ——— Order pay / Redsys receipt ——— */
body.woocommerce-order-pay {
	background: #f6f4f4;
}

body.woocommerce-order-pay h1.page__title {
	color: #b23232;
	font-size: 28px;
	letter-spacing: -0.02em;
	text-align: center;
	margin: 12px 0 28px !important;
}

body.woocommerce-order-pay .page__content > .woocommerce {
	max-width: 560px;
	margin: 0 auto 64px;
	background: #fff;
	border: 1px solid #e6e1e1;
	border-radius: 10px;
	padding: 28px 28px 32px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

body.woocommerce-order-pay ul.order_details {
	list-style: none !important;
	margin: 0 0 22px !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	border: 0;
}

body.woocommerce-order-pay ul.order_details li {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid #ebe6e6 !important;
	border-radius: 8px;
	background: #f7f5f5;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #777;
	line-height: 1.35;
}

body.woocommerce-order-pay ul.order_details li strong {
	display: block;
	margin-top: 6px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: #222;
}

body.woocommerce-order-pay ul.order_details li.total strong,
body.woocommerce-order-pay ul.order_details li.total .amount {
	color: #b23232;
	font-size: 18px;
}

body.woocommerce-order-pay .page__content > .woocommerce > p {
	margin: 0 0 22px;
	font-size: 14px;
	line-height: 1.5;
	color: #555;
	text-align: center;
}

body.woocommerce-order-pay #redsys_payment_form {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
	margin: 0;
}

body.woocommerce-order-pay #submit_redsys_payment_form,
body.woocommerce-order-pay #redsys_payment_form input[type="submit"],
body.woocommerce-order-pay #redsys_payment_form button {
	float: none !important;
	display: block;
	width: 100%;
	margin: 0;
	padding: 16px 20px;
	border: 0;
	border-radius: 6px;
	background: #b23232;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	cursor: pointer;
	box-shadow: none;
	white-space: normal;
	line-height: 1.35;
}

body.woocommerce-order-pay #submit_redsys_payment_form:hover,
body.woocommerce-order-pay #redsys_payment_form input[type="submit"]:hover {
	background: #8e1919;
	color: #fff !important;
	text-decoration: none;
}

body.woocommerce-order-pay #redsys_payment_form a.button.cancel,
body.woocommerce-order-pay a.button.cancel {
	display: block;
	float: none !important;
	width: auto;
	margin: 0;
	padding: 8px 4px;
	border: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: #888 !important;
	font-size: 13px;
	font-weight: 500;
	text-align: center;
	text-decoration: underline;
	text-transform: none;
}

body.woocommerce-order-pay #redsys_payment_form a.button.cancel:hover {
	color: #b23232 !important;
	background: transparent !important;
}

/* Classic form-pay (when payment method must still be chosen) */
.order-pay-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	max-width: 720px;
	margin: 0 auto 48px;
}

.order-pay-card {
	background: #fff;
	border: 1px solid #e6e1e1;
	border-radius: 10px;
	padding: 22px 24px 26px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.order-pay-card__title {
	margin: 0 0 16px;
	color: #b23232;
	font-size: 18px;
}

.order-pay-form .shop_table {
	width: 100%;
	border-collapse: collapse;
}

.order-pay-form .shop_table th,
.order-pay-form .shop_table td {
	padding: 12px 4px;
	border-bottom: 1px solid #eee;
	vertical-align: middle;
}

.order-pay-form .shop_table thead th {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #777;
	font-weight: 600;
}

.order-pay-form .shop_table .product-total,
.order-pay-form .shop_table .product-subtotal,
.order-pay-form .shop_table tfoot td {
	text-align: right;
	white-space: nowrap;
}

.order-pay-form #payment {
	background: none;
}

@media (max-width: 560px) {
	body.woocommerce-order-pay ul.order_details {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-pay .page__content > .woocommerce {
		padding: 22px 18px 26px;
		margin-left: 0;
		margin-right: 0;
		border-radius: 8px;
	}
}

@media (max-width: 768px) {
	.checkout-layout {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		row-gap: 16px;
	}

	#customer_details,
	.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon,
	.col-resumen-carrito {
		grid-column: 1;
		grid-row: auto;
		width: 100% !important;
	}

	.woocommerce-error,
	.woocommerce-info,
	.woocommerce-message {
		position: static;
	}
}



/* Control RESPONSIVE */
@media (max-width: 1199px) {
	.item-valor {
	    min-height: 400px;
	}
	.telf-w-icon {
	    font-size: 18px;
	    margin-bottom: 0;
	}
	.mail-w-icon {
	    font-size: 12px;
	}
}
@media (max-width: 991px) {
	.text-right {
		text-align: left!important;
	}
	.box-vertiente {
		min-height: auto;
	}
	.item-valor {
	    min-height: 450px;
	}
	.item-destacado-colectivitat {
		margin-bottom: 60px;
	}

	.lista-subcatering .content-item-lista-subcatering {
		margin-bottom: 70px;
	}
	.lista-subcatering .content-item-lista-subcatering img {
		margin-bottom: 30px;
	}
}
@media (max-width: 767px) {
	.navbar-header {
		position: absolute;
	    width: 100%;
	    left: 0;
	    padding-left: 15px;
	    margin: 0!important;
	    z-index: 9;
	}
	.navbar-dins .navbar-header a.navbar-brand img {
	    max-width: 70px!important;
	}
	.navbar-dins {
		padding: 10px 0 3px;
		min-height: 64px;
	}
	body.dinsescola-menu-open { overflow: hidden; }
	.navbar-toggle {
		padding: 0;
		margin-top: 4px;
	}
	.hamburger {
		display: block;
	    background: none;
	    height: 22px;
	    width: 29px;
	    -webkit-transform: translate3d(0, 0, 0);
	    transform: translate3d(0, 0, 0);
	    -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
	    transition: transform 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
	    z-index: 1002;
	    cursor: pointer;
	    -webkit-user-select: none;
	    -moz-user-select: none;
	    -ms-user-select: none;
	    user-select: none;
	}
	.navbar-dins-sticky {
    	background: #fff;
	}
	.navbar-dins .navbar-toggle ._layer {
		background: #fff;
	}
	.navbar-dins.navbar-dins-sticky .navbar-toggle ._layer {
		background: #000;
	}
	._layer {
		display: block;
	    margin-bottom: 6px;
	    border-radius: 2px;
	    width: 28px;
	    height: 2px;
	    opacity: 1;
	    -webkit-transform: translate3d(0, 0, 0);
	    transform: translate3d(0, 0, 0);
	    -webkit-transition: all 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
	    transition: all 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
	}
	.hamburger.is-active .-top {
		background: #000;
	    -webkit-transform: translateY(400%) rotate(45deg) !important;
	    -ms-transform: translateY(400%) rotate(45deg) !important;
	    transform: translateY(400%) rotate(45deg) !important;
	}
	.hamburger.is-active .-mid {
	    opacity: 0;
	}
	.hamburger.is-active .-bottom {
		background: #000;
	    -webkit-transform: translateY(-400%) rotate(135deg) !important;
	    -ms-transform: translateY(-400%) rotate(135deg) !important;
	    transform: translateY(-400%) rotate(135deg) !important;
	}
	#bs-example-navbar-collapse-1 {
		background: #fff;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		left: 0;
		top: 0;
		margin: 0;
		padding-top: 120px;
		position: fixed;
		display: block;
		visibility: hidden;
		pointer-events: none;
		transition: transform .25s ease-out, visibility .25s;
    	transform: translate3d(-100vw, 0px, 0px);
	}
	#bs-example-navbar-collapse-1.is-active {
		transform: translate3d(0, 0, 0px);
		visibility: visible;
		pointer-events: auto;
	}
	.navbar-mtplus .nav>li>a {
		color: #000;
		font-size: 16px;
    	padding: 10px;
	}
	.navbar-mtplus .nav>li {
		text-align: center;
	}
	#menu-menu-principal {
		margin: 0;
		padding: 0 50px;
	}
	.navbar-dins .nav>li>a {
		color: #000;
		font-size: 16px!important;
    	padding: 15px!important;
	}
	.navbar-dins .nav>li {
		text-align: center;
	}
	#menu-menu-principal {
		margin: 0;
		padding: 0 50px;
	}
	.btn-dins {
		width: 100%!important;
		padding:15px 10px!important;
	}
	.item-valor {
	    min-height: 330px;
	}
	.navbar-dins .nav>li>a:hover, .navbar-dins .nav>li.current-menu-item>a {
	    color: #b23232!important;
	}
	.logos-footer {
		margin-bottom: 50px;
		text-align: center;
	}
	.logos-footer a img {
		max-width: 180px;
		width: 100%;
	}
	.telf-correo-footer, .direccion-footer {
		text-align: center;
	}
	.politicas-footer {
		margin-bottom: 10px;
	}
	.politicas-footer, .redes-footer {
		text-align: center;
	}

	.content-cta-colectivitats {
		display: inline-block;
		text-align: center;
	}
	.content-cta-colectivitats .text-cta {
		padding: 40px 0;
		text-align: center;
	}
	.background-cta-colectivitats {
		top: 0;
	}

	.item-hero-slider-home .text-hero {
	    padding: 250px 15px;
	}
	.item-hero-slider-home .text-hero h1 {
		font-size: 36px;
	}
	.item-hero-slider-home .text-hero p {
		font-size: 16px;
    	line-height: 26px;
	}
}

@media (max-width: 580px) {
	.h2, h2 {
	    font-size: 28px;
	}
	.h3, h3 {
	    font-size: 22px;
	}
	.hero .text-hero h1 {
		font-size: 35px;
	}
	.hero .text-hero p {
		font-size: 16px;
	}
	.item-valor {
	    min-height: 450px;
	}
}
	


/* Fuentes DINS */
@font-face {
    font-family: 'FoundersGroteskCondMed';
    src: url('./assets/fonts/FoundersGroteskCondMed.eot');
    src: url('./assets/fonts/FoundersGroteskCondMed.eot') format('embedded-opentype'),
         url('./assets/fonts/FoundersGroteskCondMed.woff2') format('woff2'),
         url('./assets/fonts/FoundersGroteskCondMed.woff') format('woff'),
         url('./assets/fonts/FoundersGroteskCondMed.ttf') format('truetype'),
         url('./assets/fonts/FoundersGroteskCondMed.svg#FoundersGroteskCondMed') format('svg');
}

@font-face {
    font-family: 'FoundersGroteskLight';
    src: url('./assets/fonts/FoundersGroteskLight.eot');
    src: url('./assets/fonts/FoundersGroteskLight.eot') format('embedded-opentype'),
         url('./assets/fonts/FoundersGroteskLight.woff2') format('woff2'),
         url('./assets/fonts/FoundersGroteskLight.woff') format('woff'),
         url('./assets/fonts/FoundersGroteskLight.ttf') format('truetype'),
         url('./assets/fonts/FoundersGroteskLight.svg#FoundersGroteskLight') format('svg');
}

@font-face {
    font-family: 'FoundersGroteskMedium';
    src: url('./assets/fonts/FoundersGroteskMedium.eot');
    src: url('./assets/fonts/FoundersGroteskMedium.eot') format('embedded-opentype'),
         url('./assets/fonts/FoundersGroteskMedium.woff2') format('woff2'),
         url('./assets/fonts/FoundersGroteskMedium.woff') format('woff'),
         url('./assets/fonts/FoundersGroteskMedium.ttf') format('truetype'),
         url('./assets/fonts/FoundersGroteskMedium.svg#FoundersGroteskMedium') format('svg');
}

iframe{
max-width:100%;
}

/* Confirmación del pedido: estilos limitados a order-received. */
body.woocommerce-order-received {
	background: #f5f3ef;
}
body.woocommerce-order-received > .container {
	width: 100%;
	max-width: 1020px;
	padding: 32px 24px 64px;
}
body.woocommerce-order-received .page__header {
	margin-bottom: 28px;
}
body.woocommerce-order-received h1.page__title {
	margin: 0;
	font-size: clamp(32px, 3.2vw, 44px);
	line-height: 1.12;
	color: #b23232;
}
body.woocommerce-order-received .woocommerce-order {
	font-size: 15px;
	line-height: 1.65;
	overflow-wrap: anywhere;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 0 24px;
	padding: 18px 24px;
	border-left: 4px solid #b23232;
	border-radius: 0 8px 8px 0;
	background: #fff;
	color: #393630;
	font-size: 17px;
}
body.woocommerce-order-received .woocommerce ul.order_details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px 32px;
	margin: 0 0 32px;
	padding: 28px;
	border: 1px solid #e3ded6;
	border-radius: 12px;
	background: #fff;
}
body.woocommerce-order-received .woocommerce ul.order_details::before,
body.woocommerce-order-received .woocommerce ul.order_details::after {
	content: none;
}
body.woocommerce-order-received .woocommerce ul.order_details li {
	float: none;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	color: #655f57;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .025em;
}
body.woocommerce-order-received .woocommerce ul.order_details li strong {
	display: block;
	margin-top: 8px;
	color: #292622;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: normal;
	text-transform: none;
}
body.woocommerce-order-received .woocommerce ul.order_details li.total strong {
	color: #b23232;
	font-size: 24px;
}
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
	margin: 0 0 28px;
	padding: 28px;
	border: 1px solid #e3ded6;
	border-radius: 12px;
	background: #fff;
}
body.woocommerce-order-received .woocommerce h2 {
	margin: 0 0 20px;
	font-size: 27px;
	line-height: 1.2;
	color: #393630;
}
body.woocommerce-order-received .woocommerce table.shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
}
body.woocommerce-order-received .woocommerce table.shop_table th,
body.woocommerce-order-received .woocommerce table.shop_table td {
	padding: 16px 0;
	border-top: 1px solid #e8e3dc;
	vertical-align: top;
	font-size: 15px;
	line-height: 1.55;
}
body.woocommerce-order-received .woocommerce table.shop_table thead th {
	padding-top: 0;
	border-top: 0;
	color: #655f57;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
body.woocommerce-order-received .woocommerce table.shop_table th:first-child,
body.woocommerce-order-received .woocommerce table.shop_table td:first-child {
	width: 58%;
	padding-right: 24px;
}
body.woocommerce-order-received .woocommerce table.shop_table th:last-child,
body.woocommerce-order-received .woocommerce table.shop_table td:last-child {
	text-align: right;
}
body.woocommerce-order-received .woocommerce table.shop_table tfoot th,
body.woocommerce-order-received .woocommerce table.shop_table tfoot td {
	font-weight: 400;
}
body.woocommerce-order-received .woocommerce table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce table.shop_table tfoot tr:last-child td {
	padding-bottom: 0;
	font-size: 20px;
	font-weight: 700;
	color: #b23232;
}
body.woocommerce-order-received .woocommerce-customer-details address {
	padding: 0;
	border: 0;
	border-radius: 0;
	font-size: 15px;
	font-style: normal;
	line-height: 1.8;
}
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--email {
	margin-top: 12px;
	margin-bottom: 0;
	font-size: 15px;
}
body.woocommerce-order-received .woocommerce-order a:not(.button) {
	color: #9b2929;
	text-decoration: underline;
	text-underline-offset: 3px;
}
body.woocommerce-order-received .woocommerce-order a:focus-visible {
	outline: 2px solid #b23232;
	outline-offset: 4px;
}
body.woocommerce-order-received .dinsescola-return-to-shop {
	margin: 32px 0 0;
	text-align: center;
}
body.woocommerce-order-received .woocommerce .dinsescola-return-to-shop a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	width: 100%;
	max-width: 360px;
	padding: 14px 24px;
	border: 1px solid #b23232;
	border-radius: 6px;
	background: #b23232;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
}
body.woocommerce-order-received .woocommerce .dinsescola-return-to-shop a.button:hover {
	border-color: #8f2828;
	background: #8f2828;
	color: #fff;
}
@media (max-width: 767px) {
	body.woocommerce-order-received > .container { padding: 24px 20px 40px; }
	body.woocommerce-order-received .woocommerce ul.order_details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		padding: 20px;
	}
	body.woocommerce-order-received .woocommerce ul.order_details .email,
	body.woocommerce-order-received .woocommerce ul.order_details .method { grid-column: 1 / -1; }
	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details { padding: 20px; }
	body.woocommerce-order-received .woocommerce h2 { font-size: 24px; }
	body.woocommerce-order-received .woocommerce table.shop_table th:first-child,
	body.woocommerce-order-received .woocommerce table.shop_table td:first-child { width: 50%; padding-right: 16px; }
	body.woocommerce-order-received .woocommerce table.shop_table th,
	body.woocommerce-order-received .woocommerce table.shop_table td { font-size: 14px; }
}

/* Ocultar campos checkout */
#billing_last_name_field,
#billing_company_field,
#billing_country_field,
#billing_address_1_field,
#billing_address_2_field,
#billing_postcode_field,
#billing_city_field,
#billing_state_field {
	display: none!important;
}
