/*
 * GENERAL
 */
:root {
	--brown: #2b1d14;
	--light-gray: #f1f1f1;
	--orange: #ff5f00;
	/* Texto/borde de botones sobre fondo blanco (.egr-btn y variantes) —
	   #ff5f00 da ~3.05:1, falla WCAG 1.4.3 (min 4.5:1 texto normal).
	   #b84400 da ~5.4:1. Solo para texto/borde en reposo, no para fondos. */
	--orange-text: #b84400;
}
html {
	font-size: 16px;
	font-size: var(--custom-font-size-base)
}
body {
	font-size: inherit
}
.ast-separate-container #primary {
	margin: 0
}
.ast-separate-container .ast-article-single {
	padding: 0
}
.page .entry-header {
	display: none
}
.entry-content > * {
	max-width: unset !important
}
h1, .entry-content h1 {
	font-size: 2.5rem !important
}
h2, .entry-content h2 {
	font-size: 2.2rem !important
}
h3, .entry-content h3 {
	font-size: 2rem !important
}
h4, .entry-content h4 {
	font-size: 1.8rem !important
}
h5, .entry-content h5 {
	font-size: 1.6rem !important
}
h1, .entry-content h1,
h2, .entry-content h2,
h3, .entry-content h3,
h4, .entry-content h4,
h5, .entry-content h5 {
	letter-spacing: 0.05em;
	line-height: 1 !important;
	margin: 0 0 0.5em !important
}

p, .entry-content p {
	font-size: 1rem
}

.egr-btn {
	display: inline-block;
	color: var(--orange-text);
	font-size: 1rem;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 46px;
	padding: 0 1.5em;
	border: 2px solid;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.egr-btn:hover,
.egr-btn:focus-visible {
	color: #FFF !important;
	background-color: var(--orange-text) !important;
	border-color: var(--orange-text) !important;
}
.egr-btn.wht {
	color: #FFF !important;
}
.egr-btn.wht:hover,
.egr-btn.wht:focus-visible {
	color: var(--orange-text) !important;
	background-color: #FFF !important;
	border-color: #FFF !important;
}
.egr-btn.active {
	color: #FFF !important;
	background-color: var(--orange-text) !important;
	border-color: var(--orange-text) !important;
	pointer-events: none !important;
}

.view-all-entries a.wp-block-button__link {
	display: inline-block;
	color: var(--orange-text);
	font-size: 1.25em;
	font-weight: bold;
	text-decoration: none;
	line-height: 46px;
	background-color: transparent;
	padding: 0 1.5em;
	border: 2px solid;
	border-radius: 0;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.view-all-entries a.wp-block-button__link:hover,
.view-all-entries a.wp-block-button__link:focus-visible {
	color: #FFF !important;
	background-color: var(--orange-text) !important;
	border-color: var(--orange-text) !important
}

.frm_form_field {
	margin-bottom: 1em !important
}
.frm_primary_label {
	font-size: 1rem !important;
	padding: 0 !important;
	margin: 0 0 0.5rem !important
}
.frm_form_fields input,
.frm_form_fields select {
	height: 46px !important;
	font-size: 1.25rem !important;
	line-height: 46px !important;
	padding: 0 1rem !important;
	border-width: 1px !important;
}
.frm_form_fields textarea {
	font-size: 1.25em !important;
	line-height: 1.25 !important;
	padding: 0.5rem 1rem !important;
	border-width: 1px !important;
}

.with_frm_style .frm_radio input[type=radio], .with_frm_style .frm_scale input[type=radio], .with_frm_style .frm_checkbox input[type=checkbox] {
	padding: 0 !important
}

.whatsapp {
  display: inline-block;
  position: fixed;
  width: 60px;
  height: 60px;
  left: 1.25vw;
  bottom: 1.25vw;
	background-color: #25D366;
  border-radius: 50%;
  -webkit-box-shadow: 0.25rem 0.25rem 1rem 0 rgba(0,0,0,0.5);
          box-shadow: 0.25rem 0.25rem 1rem 0 rgba(0,0,0,0.5);
  margin: 0;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
  overflow: hidden;
  z-index: 1030;
	cursor: pointer
}
.whatsapp img {
  display: block;
  width: 100%;
  height: 100%;
	-webkit-transition: 0.6s;
	-o-transition: 0.6s;
	transition: 0.6s
}
.whatsapp.hovered img {
	padding: 50%;
	-webkit-transform: rotate(360deg);
	    -ms-transform: rotate(360deg);
	        transform: rotate(360deg)
}
.whatsapp p {
	position: absolute;
	left: 50%;
	top: 50%;
	color: #FFF;
	font-size: 0;
	font-weight: 300;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	-webkit-transition: 0.6s;
	-o-transition: 0.6s;
	transition: 0.6s
}
.whatsapp.hovered p {
	font-size: 1.5rem
}

.whatsapp-contact {
	display: inline-block;
	position: fixed;
	width: 25%;
	min-width: 260px;
	left: calc(1.25vw + 30px);
	bottom: calc(1.25vw + 30px);
	background-color: #FFF;
	border-radius: 1rem;
	-webkit-box-shadow: 0.25rem 0.25rem 1rem 0 rgba(0,0,0,0.5);
          box-shadow: 0.25rem 0.25rem 1rem 0 rgba(0,0,0,0.5);
	overflow: hidden;
	-webkit-transform: scale(0);
	    -ms-transform: scale(0);
	        transform: scale(0);
	-webkit-transform-origin: left bottom;
	    -ms-transform-origin: left bottom;
	        transform-origin: left bottom;
	pointer-events: none;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s
}
.whatsapp.hovered + .whatsapp-contact {
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
	pointer-events: initial
}
.whatsapp-contact h4 {
	color: #FFF;
	font-size: 1.5rem !important;
	font-weight: 500;
	background-color: #25D366;
	padding: 0.5rem;
	margin: 0
}
.whatsapp-contact h4 img {
	height: 3rem
}
.whatsapp-contact > p {
	font-weight: bold;
	text-transform: uppercase;
	line-height: 1;
	padding: 1rem;
	margin: 0
}
.whatsapp-contact .frm_forms {
	padding: 0 1rem 30px
}
.whatsapp-contact .frm_forms fieldset {
	padding: 0
}
.whatsapp-contact .frm_form_field {
	margin: 0 0 0.5rem !important
}
.whatsapp-contact #frm_field_6_container {
	margin: 0 !important
}
.whatsapp-contact .frm_primary_label {
	color: #3c3c3c;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	margin: 0 0 0.25rem
}
.whatsapp-contact .frm_form_field input {
	line-height: 46px;
	padding: 0 0.5rem;
	border-radius: 0;
	outline: none
}
.whatsapp-contact .frm_form_field input#field_telefono {
	padding-left: 58px
}
.whatsapp-contact .iti--country-search {
	display: block;
	position: relative;
	left: initial !important;
	top: initial !important;
	margin: 0
}
.whatsapp-contact .iti--country-search .iti__dropdown-content {
	margin: 0
}
.whatsapp-contact .iti--country-search .iti__search-input {
	margin: 0
}
.whatsapp-contact .frm_form_field textarea {
	line-height: 1.25;
	padding: 0.5rem;
	border: 1px solid var(--border-color);
	border-radius: 0;
	outline: none
}
.whatsapp-contact .frm_button_submit {
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 48px !important;
	background-color: #25D366 !important;
	padding: 0 1.5rem !important;
	border-radius: 10rem !important;
	border: none !important;
	margin: 0 !important;
	-webkit-transition: 0.6s;
	-o-transition: 0.6s;
	transition: 0.6s
}

.grecaptcha-badge {
	display: none !important
}

/*
 * CONTACTO COMPARTIDO (#homeContact)
 * Usado por Home (5154, ya migrada — tiene copia redundante en su @scope),
 * Nosotros (5563), Panaderia Mexicana (5747), STPS (5565),
 * Curso de panificacion (4928), Contacto (88)
 */
#homeContact {
	background-color: #f5f5f5;
	padding: 2.5vw 7.5vw 1.25vw;
	margin: 5vw auto 0;
}
#homeContact h2 {
	text-align: center;
	line-height: 1;
	margin: 0 0 0.5em;
	color: #ED7723;
}
#homeContact > p {
	font-size: 1.25rem;
	text-align: center
}
#homeContact .frm_submit {
	text-align: center
}

/*
 * NAV
 */
#masthead {
	background-color: #FFF;
	padding: 0
}
#masthead .ast-primary-header {
	padding: 6px
}
#masthead div:has(> .site-header-section) {
	display: block
}
#masthead .site-primary-header-wrap > div {
	display: block;
	text-align: center
}
#masthead .site-primary-header-wrap > div .site-header-section {
	display: inline-block;
	vertical-align: middle;
	padding: 0 1vw;
}
#masthead .site-header-focus-item:has(.site-branding) {
	padding: 0
}
.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: initial;
}
.elementor-element-b21ed7c {
	display: none
}
.ast-desktop .main-header-menu.ast-menu-shadow .sub-menu {
	width: auto
}
.ast-builder-menu-1 .menu-item > .menu-link {
	line-height: 48px;
	padding: 0 0.5rem;
	white-space: nowrap
}

#masthead .site-primary-header-wrap > div .site-header-section > div {
	display: inline-block
}

.ast-header-account-wrap,
.ast-header-woo-cart {
	display: no ne
}

/*
 * FOOTER
*/
.site-above-footer-wrap {
	padding: 0
}
.site-above-footer-wrap .ast-builder-grid-row {
	max-width: initial !important
}
.site-above-footer-wrap .ast-builder-grid-row .ast-builder-html-element {
	text-align: left
}
#egrFooter {
	width: 100%;
  background-color: #ED7723
}
#egrFooter h4 {
	font-family: 'Merriweather', serif
}
#egrFooter .module-link-egr a {
	font-size: 1rem
}
.row-egr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 5vw 5vw 2.5vw
}
.row-egr:nth-child(1) .column-egr:nth-child(1) {
  width: 66%
}
.row-egr:nth-child(1) .column-egr:nth-child(2) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 33%
}
.row-egr:nth-child(2) {
  padding: 0 4vw
}
.module-title-egr h4{
  font-size: 2rem;
  font-family: Fjalla_One;
  letter-spacing: .05rem;
  margin: 0;
  color: #fff
}
#egrFooter a {
  text-decoration: none;
  color: #422918;
  font-family: Roboto;
	font-size: 1rem
}
#egrFooter p {
  color: #422918;
  margin: 0;
  font-family: Roboto;
	font-size: 1rem
}
.module-button-egr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: .5vw 0
}
.module-button-egr a {
  padding: .8vw;
  width: auto;
  border: solid 2px #fff;
  color: #fff !important
}
.module-button-egr a:hover {
  border: solid 2px #fff;
  color: #ED7723 !important;
  background-color: #fff
}
.module-separator-egr {
  height: 2px;
  width: 100%;
  background-color: #A3480A
}
.row-egr:nth-child(3) .column-egr:nth-child(1) {
  width: 20%;
  padding: 0 2vw 0 0;
}
.row-egr:nth-child(3) .column-egr:nth-child(2) {
  width: 2px;
  background-color: #A3480A;
  padding: 0
}
.row-egr:nth-child(3) .column-egr:nth-child(3) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 60%;
  padding: 0 2vw 0 4vw
}
#egrFooter li {
  list-style: none;
  font-family: Roboto
}
#egrFooter ul {
  padding: 0;
  margin: 0
}
.row-egr:nth-child(3) .column-egr:nth-child(4) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 20%
}
.module-logo-egr img {
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain
}
.module-info-egr {
  margin: 0 2vw
}
.module-info-egr h5 {
  font-size: 1.2em;
  font-weight: bold;
  margin: 0;
  color: #422918
}
.module-subtitle-egr h5 {
  font-size: 1.2em;
  font-weight: bold;
  margin: 0;
  color: #422918
}
.module-rss-egr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row
}
.module-rss-egr img {
  width: 2.5vw;
  margin: .5vw
}
.module-rss-egr img:nth-child(1) {
  margin: .5vw .5vw .5vw 0
}

/*
 * HABLEMOS DE PAN (5342) — listado de blog (compartido con HOME hasta 2026-08-06, ya migrada)
 */
.page-id-5342 .site-content .wp-block-coblocks-posts {
	padding: 0 7.5vw
}
.page-id-5342 .site-content .wp-block-coblocks-posts__inner {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center
}
.page-id-5342 .site-content .wp-block-coblocks-posts__item {
	max-width: 33%;
	padding: 2.5vw
}
.page-id-5342 .site-content .wp-block-coblocks-posts a {
	color: #2b1d14;
	font-size: 1.5rem;
	font-family: 'Anton',sans-serif;
	font-weight: bold;
	line-height: 1;
}
.page-id-5342 .site-content .wp-block-coblocks-posts .wp-block-coblocks-posts__excerpt {
	font-size: 1rem;
	line-height: 1.25
}

/*
 * CURSOS 2.0
 * 4417 - Introducción a las Ciencias de la Panificación
 * 4892 - Panadería de producción masiva y ajustes técnicos del proceso
 * 4916 - La labor del Pannier,
el sommelier del pan
 */
.page-id-4417,
.page-id-4892,
.page-id-4916 {
	background-color: #FFF;
}
.page-id-4417 .ast-container,
.page-id-4892 .ast-container,
.page-id-4916 .ast-container {
	max-width: initial;
	padding: 0 !important;
}

#coursesExpert {
	position: relative;
}
#coursesExpert img {
	width: 100%;
}
#coursesExpert h1 {
	position: absolute;
	width: 50%;
	left: 50%;
	top: 50%;
	color: #333;
	text-align: center;
	padding: 0 2.5vw;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
}
#coursesExpert h1 big {
	display: block;
	color: #ff5f00;
	font-size: 150%;
}
#coursesExpert h1 small {
	font-size: 50%;
	font-weight: normal;
}

#coursesDesign {
	text-align: center;
	background-color: #F5F5F5;
	padding: 2.5vw 12.5vw;
	margin: 2.5vw 0;
}
#coursesDesign>p {
	color: #ff5f00;
	font-size: 2em;
	font-weight: bold;
}
#coursesDesign>p small {
	display: block;
	color: #333;
	margin: 1em 0 0;
}
#coursesDesign div {
	display: inline-block;
	width: 25%;
	vertical-align: top;
	padding: 0 2.5vw;
}
#coursesDesign div img {
	height: 7.5em;
}
#coursesDesign div p {
	font-size: 1.5em;
	font-weight: bold;
	margin: 1em 0 0;
}

#coursesWhom {
	text-align: center;
	padding: 0 7.5vw;
}
#coursesWhom h2 {
	color: #2B1D14;
	font-weight: bold;
}
#coursesWhom p {
	display: inline-block;
	width: calc(100% / 3 - 5vw);
	vertical-align: top;
	font-size: 1.5em;
	background-color: #f5f5f5;
	padding: 1em;
	-webkit-box-shadow: 0.25em 0.25em 0.5em 0.25em rgba(0,0,0,0.25);
	        box-shadow: 0.25em 0.25em 0.5em 0.25em rgba(0,0,0,0.25);
	margin: 2.5vw;
}
#coursesWhom span {
	display: inline-block;
	color: #FFF;
	font-size: 3em;
	font-weight: bold;
	line-height: 1.5;
	background-color: #2B1D14;
	padding: 0 1em;
	margin: 2.5vw 0 0;
}

#coursesProfile.landing {
	padding: 5vw 15vw;
}
#coursesProfile.landing div {
	vertical-align: middle;
	background-color: #f5f5f5;
	padding: 2.5vw 5vw;
}
#coursesProfile.landing>img {
	display: inline-block;
	width: 50%;
	vertical-align: middle;
}

#coursesData.landing {
	padding: 0 0 5vw;
}
#coursesData.landing>img {
	display: inline-block;
	width: 50%;
	vertical-align: middle;
	padding: 0 5vw;
}
#coursesData.landing div {
	vertical-align: middle;
	background-color: transparent;
	-webkit-box-shadow: none;
	        box-shadow: none;
	padding: 0;
	margin: 0;
}
#coursesData.landing div h3 small {
	display: block;
	color: #333;
	font-size: 66.67%;
	margin: 0.5em 0 0;
}
#coursesData.landing div img {
	display: inline-block;
	margin: 1em 1em 0;
}

#coursesFooter {
	background-color: #ff5f00;
	padding: 2.5vw;
	margin: 2.5vw 0 0;
}
#coursesFooter img {
	display: inline-block;
	width: 50%;
	height: 10em;
	vertical-align: middle;
	padding: 0 2.5vw;
	-o-object-fit: contain;
	   object-fit: contain;
	-o-object-position: right center;
	   object-position: right center;
}
#coursesFooter div {
	display: inline-block;
	width: 50%;
	vertical-align: middle;
	padding: 0 2.5vw;
}
#coursesFooter div a {
	display: inline-block;
	color: #fff;
	font-size: 1.25em;
	line-height: 20px;
	padding: 4px 0;
}
#coursesFooter div a:first-of-type {
	line-height: 40px;
}
#coursesFooter div a b {
	display: block;
}


/*
 * ACADEMIA
 */
.single-courses .ast-container {
	max-width: unset;
	padding: 0;
	margin: 0
}
.single-courses .tutor-wrap {
	padding: 2.5vw 10vw 5vw
}
.tutor-container {
	max-width: unset;
	padding: 0;
	margin: 0
}
.tutor-nav-link {
	font-size: 1.25rem
}
.tutor-nav-link[data-tutor-nav-target="tutor-course-details-tab-announcements"] {
	font-size: 0
}
.tutor-nav-link[data-tutor-nav-target="tutor-course-details-tab-announcements"]:after {
	content: "Perfil y contenido";
	display: inline;
	font-size: 1.25rem
}
.tutor-tab {
	padding: 0
}
.tutor-tab h2, .tutor-single-course-sidebar h2,
.tutor-tab h3, .tutor-single-course-sidebar h3 {
	font-size: 1.5rem !important;
	line-height: 1 !important;
	margin: 0 0 1rem !important
}
#tutor-course-details-tab-info > div {
	margin: 1rem 0 0 !important
}
.tutor-tab p {
	font-size: 1rem !important;
	line-height: 1.25;
	margin: 0 0 0.5rem
}
.tutor-tab p:last-of-type {
	margin: 0
}
.tutor-course-details-widget ul li {
	width: 100%;
	font-size: 1rem;
	line-height: 1.25;
	margin: 0 0 0.5rem
}
.tutor-course-details-widget .tutor-icon-bullet-point {
	display: none
}
.tutor-accordion {
	margin: 0
}
.tutor-accordion-item-header,
.tutor-course-content-list-item-title a {
	font-size: 1.25rem !important
}
#tutor-course-details-tab-announcements {
	padding: 1rem 0 0
}
#tutor-course-details-tab-announcements .tutor-card-title {
	margin: 0 !important
}
#tutor-course-details-tab-announcements .tutor-meta {
	display: none !important
}
#tutor-course-details-tab-reviews {
	padding: 1rem 0 0
}

/*
 * COFFEE BLOOM
 */
.page-id-6168 .ast-container,
.page-id-7645 .ast-container {
	max-width: initial;
	padding: 0 !important;
	margin: 0 !important
}

/* Acento "rust" del sistema de diseño (--rust:#ED7723 en el spec aprobado
   por el cliente) — no está declarado como custom property en :root (fuera
   del alcance de este bloque, ver reglas de scope del proyecto); se usa el
   valor literal #ED7723, igual que ya hace el resto del sitio para este
   mismo tono (ver #homeContact h2, #egrFooter). */

/* --- Header (compartido Coffee Bloom / Bake Sense) --- */
#coffee-bloom-header {
	display: grid;
	grid-template-columns: 60fr 40fr;
	grid-template-rows: 1fr 1fr;
	gap: 0.5vw;
	position: relative;
	height: 33.34vw;
	padding: 0.5vw
}
#coffee-bloom-header img {
	grid-column: 2;
	width: 100%;
	height: 100%;
	min-height: 0;
	min-width: 0;
	object-fit: cover;
	cursor: pointer;
	transition: 0.3s
}
#coffee-bloom-header img.active {
	grid-column: 1;
	grid-row: 1 / span 2
}
#coffee-bloom-header .cb-header-tag {
	position: absolute;
	left: 1.25vw;
	bottom: 1.25vw;
	z-index: 2;
	background-color: var(--brown);
	padding: 0.5em 0.9em;
	font-family: 'Anton', sans-serif;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #FFF;
	pointer-events: none
}

/* --- Intro (variante solo-texto en Coffee Bloom, con imagen en Bake Sense) --- */
#coffee-bloom-intro {
	display: grid;
	align-items: stretch
}
.page-id-6168 #coffee-bloom-intro {
	grid-template-columns: 55fr 45fr
}
.page-id-7645 #coffee-bloom-intro {
	grid-template-columns: 45fr 55fr
}
#coffee-bloom-intro .cb-intro-photo {
	min-height: 22vw
}
#coffee-bloom-intro .cb-intro-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover
}
#coffee-bloom-intro .cb-intro-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
	padding: 5vw;
	text-align: left
}
#coffee-bloom-intro .cb-intro-copy h2,
#coffee-bloom-intro .cb-intro-copy h3 {
	color: var(--brown)
}
#coffee-bloom-intro .cb-intro-copy p {
	font-size: 1.25rem;
	margin: 0
}
#coffee-bloom-intro .cb-kicker-word {
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #ED7723
}
#coffee-bloom-intro .cb-spec-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	list-style: none;
	padding: 0;
	margin-top: 0.5rem
}
#coffee-bloom-intro .cb-spec-row li {
	border: 1px solid #ED7723;
	padding: 0.4em 0.7em;
	font-family: 'Anton', sans-serif;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #ED7723
}

/* --- Banner de marca (logo sobre fondo café) --- */
#coffee-bloom-banner {
	position: relative;
	overflow: hidden;
	background-color: var(--brown);
	padding: 5vw 8vw
}
#coffee-bloom-banner::after {
	content: "";
	position: absolute;
	top: -20%;
	right: -8%;
	width: 45%;
	height: 140%;
	background-color: #ED7723;
	opacity: 0.18;
	clip-path: polygon(40% 0, 100% 0, 100% 100%, 10% 100%)
}
#coffee-bloom-banner .cb-banner-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	max-width: 32vw
}
#coffee-bloom-banner .cb-banner-kicker {
	margin: 0;
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.85rem;
	color: #ED7723
}
#coffee-bloom-banner img {
	display: block;
	max-width: 16vw
}
#coffee-bloom-banner .cb-arrow {
	display: inline-block;
	transition: transform 0.2s ease-out
}
#coffee-bloom-banner .egr-btn:hover .cb-arrow,
#coffee-bloom-banner .egr-btn:focus-visible .cb-arrow {
	transform: translateX(4px)
}

/* --- Productos destacados (shortcode WooCommerce) --- */
#coffee-bloom-products {
	text-align: center;
	padding: 5vw 5vw 0
}
#coffee-bloom-products h2 {
	font-size: 1.5rem !important
}
#coffee-bloom-products a.add_to_cart_button {
	display: inline-block;
	color: var(--orange-text);
	font-size: 1rem;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 46px;
	background-color: transparent;
	padding: 0 1.5em;
	border: 2px solid;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
#coffee-bloom-products a.add_to_cart_button:hover,
#coffee-bloom-products a.add_to_cart_button:focus-visible {
	color: #FFF !important;
	background-color: var(--orange-text) !important;
	border-color: var(--orange-text) !important;
}
/* Especificidad extra sobre el grid nativo de WooCommerce/Astra para permitir
   2 filas cuando el primer producto ocupa una celda 2x2 (ver :first-child abajo) */
#coffee-bloom-products ul.products {
	grid-auto-rows: auto;
	grid-template-rows: auto auto
}
#coffee-bloom-products ul.products li.product {
	border: 1px solid var(--brown);
	border-radius: 0;
	box-shadow: none;
	padding: 1rem
}
#coffee-bloom-products ul.products li.product .woocommerce-loop-product__title,
#coffee-bloom-products ul.products li.product .price {
	font-family: 'Anton', sans-serif
}
#coffee-bloom-products ul.products li.product:first-child {
	position: relative;
	grid-column: span 2;
	grid-row: span 2
}
#coffee-bloom-products ul.products li.product:first-child::before {
	content: "Destacado";
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 1;
	background-color: var(--orange-text);
	padding: 0.3em 0.6em;
	font-family: 'Anton', sans-serif;
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #FFF
}
#coffee-bloom-products .cb-products-strip {
	display: grid;
	grid-template-columns: 40fr 60fr;
	border: 1px solid var(--brown);
	margin: 2rem 0
}
#coffee-bloom-products .cb-products-strip-photo {
	min-height: 10vw
}
#coffee-bloom-products .cb-products-strip-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover
}
#coffee-bloom-products .cb-products-strip p {
	align-self: center;
	padding: 1.5vw;
	font-family: 'Anton', sans-serif;
	font-size: 1.2rem;
	text-transform: uppercase;
	color: var(--brown)
}

/* --- Por qué elegir (mosaico foto grande + texto + 2 fotos apiladas) --- */
#coffee-bloom-why {
	display: grid;
	grid-template-columns: 55fr 45fr;
	gap: 0.5vw;
	padding: 5vw 9vw
}
#coffee-bloom-why div:first-child,
#coffee-bloom-why div:nth-of-type(3),
#coffee-bloom-why div:nth-of-type(4) {
	position: relative;
	grid-column: 2;
	transition: transform 0.3s
}
#coffee-bloom-why div:first-child {
	grid-column: 1;
	grid-row: 1 / span 2;
	min-height: 24vw
}
#coffee-bloom-why div:nth-of-type(3),
#coffee-bloom-why div:nth-of-type(4) {
	min-height: 12vw
}
#coffee-bloom-why div:first-child:hover,
#coffee-bloom-why div:nth-of-type(3):hover,
#coffee-bloom-why div:nth-of-type(4):hover {
	transform: translateY(-4px)
}
#coffee-bloom-why div:first-child img,
#coffee-bloom-why div:nth-of-type(3) img,
#coffee-bloom-why div:nth-of-type(4) img {
	width: 100%;
	height: 100%;
	object-fit: cover
}
#coffee-bloom-why div:first-child p,
#coffee-bloom-why div:nth-of-type(3) p,
#coffee-bloom-why div:nth-of-type(4) p {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	background: linear-gradient(to top, rgba(43, 29, 20, 0.85), transparent);
	padding: 2rem 1.25rem 1rem;
	color: #FFF
}
#coffee-bloom-why div:nth-of-type(2) {
	display: flex;
	grid-column: 2;
	flex-direction: column;
	justify-content: center;
	gap: 0.75rem;
	background-color: var(--brown);
	padding: 1.5rem;
	color: #FFF
}
#coffee-bloom-why div:nth-of-type(2) h2 {
	font-size: 1.5rem !important
}
#coffee-bloom-why div:nth-of-type(2) ol {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	list-style: none;
	padding: 0;
	font-family: 'Anton', sans-serif;
	font-size: 0.8rem;
	color: var(--orange)
}
#coffee-bloom-why .egr-btn {
	margin: 1vw 0 0
}

/* --- Compra fácil (copy + imagen a sangre) --- */
#coffee-bloom-shop {
	display: grid;
	grid-template-columns: 55fr 45fr;
	align-items: stretch;
	background-color: var(--light-gray)
}
#coffee-bloom-shop .cb-shop-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
	padding: 5vw;
	text-align: left
}
#coffee-bloom-shop .cb-shop-facts {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	list-style: none;
	padding: 0;
	font-size: 0.9rem;
	color: var(--brown)
}
#coffee-bloom-shop .cb-shop-facts li::before {
	content: "— ";
	color: #ED7723
}
#coffee-bloom-shop .cb-shop-photo {
	min-height: 22vw
}
#coffee-bloom-shop .cb-shop-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover
}

/*
 * COFFEE BLOOM — REDISEÑO EDITORIAL (solo página 6168; Bake Sense conserva
 * el componente compartido #coffee-bloom-header/-products/-shop de arriba
 * hasta que se rediseñe en una sesión aparte, "una página a la vez")
 */
#cb-hero {
	position: relative;
	height: 82vw;
	max-height: 92vh;
	overflow: hidden;
	background-color: var(--brown)
}
#cb-hero .cb-hero-frame {
	position: absolute;
	inset: 0
}
#cb-hero .cb-hero-frame img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.6s ease
}
#cb-hero .cb-hero-frame img.active {
	opacity: 1
}
#cb-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(20,13,8,.75) 0%, rgba(20,13,8,0) 38%);
	pointer-events: none
}
#cb-hero .cb-hero-word {
	position: absolute;
	left: 3vw;
	bottom: 9vw;
	z-index: 2;
	margin: 0;
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	line-height: 0.82;
	font-size: clamp(3.5rem, 11vw, 11rem);
	color: #FFF
}
#cb-hero .cb-hero-word span {
	display: block
}
#cb-hero .cb-hero-word span:last-child {
	color: var(--orange);
	margin-left: 0.55em
}
#cb-hero .cb-hero-kicker {
	position: absolute;
	left: 3.1vw;
	top: 3vw;
	z-index: 2;
	margin: 0;
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 0.78rem;
	color: #FFF;
	opacity: 0.85
}
#cb-hero .cb-filmstrip {
	position: absolute;
	right: 3vw;
	bottom: 3vw;
	z-index: 2;
	display: flex;
	gap: 0.6vw
}
#cb-hero .cb-filmstrip button {
	display: block;
	width: 5.4vw;
	height: 5.4vw;
	background: none;
	border: 2px solid rgba(255,255,255,.55);
	padding: 0;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	transition: border-color 0.2s
}
#cb-hero .cb-filmstrip button.is-active {
	border-color: var(--orange)
}
#cb-hero .cb-filmstrip button img {
	width: 100%;
	height: 100%;
	object-fit: cover
}
#cb-hero .cb-filmstrip button:focus-visible {
	outline: 2px solid var(--orange);
	outline-offset: 2px
}

#cb-intro {
	background-color: #f7f2ea;
	padding: 7vw 6vw 8vw
}
#cb-intro .cb-intro-inner {
	max-width: 58vw;
	margin-left: 8vw
}
#cb-intro h2 {
	margin: 0 0 1.2em;
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	letter-spacing: -0.005em;
	line-height: 0.92;
	font-size: clamp(2.4rem, 6vw, 5.4rem);
	color: var(--brown)
}
#cb-intro h2 em {
	font-style: normal;
	color: #ED7723
}
#cb-intro p.cb-lead {
	max-width: 34ch;
	font-size: 1.35rem;
	line-height: 1.5;
	margin: 0 0 2rem
}
#cb-intro .cb-spec-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	list-style: none;
	padding: 0;
	margin: 0
}
#cb-intro .cb-spec-row li {
	font-family: 'Anton', sans-serif;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: 1px solid #ED7723;
	color: #ED7723;
	padding: 0.5em 0.8em
}

#cb-banner {
	position: relative;
	background-color: var(--brown);
	padding: 7vw 4vw;
	text-align: center;
	overflow: hidden
}
#cb-banner .cb-ghost-type {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	line-height: 0.82;
	font-size: clamp(3rem, 15vw, 14rem);
	color: transparent;
	-webkit-text-stroke: 1px rgba(255,255,255,.09);
	letter-spacing: -0.01em;
	pointer-events: none;
	user-select: none
}
#cb-banner .cb-banner-content {
	position: relative;
	z-index: 1;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 1.1rem
}
#cb-banner img {
	max-width: 15vw
}
#cb-banner .cb-banner-kicker {
	margin: 0;
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.82rem;
	color: #ED7723
}
#cb-banner .cb-arrow {
	display: inline-block;
	transition: transform 0.2s ease-out
}
#cb-banner .egr-btn:hover .cb-arrow,
#cb-banner .egr-btn:focus-visible .cb-arrow {
	transform: translateX(4px)
}

#cb-products {
	background-color: var(--light-gray);
	padding: 6vw 4vw
}
#cb-products .cb-products-head {
	text-align: center;
	max-width: 44ch;
	margin: 0 auto 3vw
}
#cb-products .cb-products-head h2 {
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	margin: 0 0 0.5rem
}
#cb-products ul.products {
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 11vw;
	gap: 0.6vw
}
#cb-products ul.products li.product {
	background-color: #FFF;
	border: 1px solid var(--brown);
	border-radius: 0;
	box-shadow: none;
	padding: 0.9rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	position: relative
}
#cb-products ul.products li.product .woocommerce-loop-product__title,
#cb-products ul.products li.product .price {
	font-family: 'Anton', sans-serif
}
#cb-products ul.products li.product:not(:first-child) a.woocommerce-LoopProduct-link img {
	display: none
}
#cb-products ul.products li.product:first-child {
	grid-column: span 2;
	grid-row: span 2;
	padding: 0;
	overflow: hidden
}
#cb-products ul.products li.product:first-child img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}
#cb-products ul.products li.product:first-child:has(img.woocommerce-placeholder) {
	background: linear-gradient(135deg, var(--brown), #ED7723)
}
#cb-products ul.products li.product:first-child img.woocommerce-placeholder {
	display: none
}
#cb-products ul.products li.product:first-child .woocommerce-loop-product__title,
#cb-products ul.products li.product:first-child .price {
	position: relative;
	z-index: 1;
	margin-top: auto;
	padding: 1.2rem;
	color: #FFF
}
#cb-products ul.products li.product:first-child::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(20,13,8,.82), transparent);
	pointer-events: none
}
#cb-products ul.products li.product:first-child::before {
	content: "Destacado";
	position: absolute;
	top: 0.6rem;
	left: 0.6rem;
	z-index: 2;
	background-color: var(--orange-text);
	padding: 0.3em 0.55em;
	font-family: 'Anton', sans-serif;
	font-size: 0.6rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #FFF
}
#cb-products .cb-products-foot {
	text-align: center;
	margin-top: 3vw
}

#cb-why {
	background-color: #FFF;
	padding: 8vw 6vw 9vw;
	position: relative
}
#cb-why .cb-why-head {
	text-align: center;
	max-width: 40ch;
	margin: 0 auto 5vw
}
#cb-why .cb-why-head h2 {
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	font-size: clamp(1.8rem, 3.4vw, 2.6rem);
	margin: 0 0 0.6rem
}
#cb-why .cb-collage {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 2.5vw;
	max-width: 78vw;
	margin: 0 auto;
	padding-top: 2vw
}
#cb-why .cb-collage-card {
	position: relative;
	width: 24vw;
	background-color: #FFF;
	box-shadow: 0 1.2vw 2.4vw rgba(43,29,20,.25);
	padding: 0.6vw 0.6vw 1.4vw;
	transition: transform 0.3s ease
}
#cb-why .cb-collage-card:nth-child(1) {
	transform: rotate(-4deg) translateY(1vw);
	z-index: 1
}
#cb-why .cb-collage-card:nth-child(2) {
	transform: rotate(2.5deg) translateY(-1.5vw);
	z-index: 3
}
#cb-why .cb-collage-card:nth-child(3) {
	transform: rotate(-1.5deg) translateY(1.8vw);
	z-index: 2
}
#cb-why .cb-collage-card:hover {
	transform: rotate(0deg) translateY(-.6vw) scale(1.03);
	z-index: 4
}
#cb-why .cb-collage-card .cb-frame {
	aspect-ratio: 4/5;
	overflow: hidden;
	background-color: var(--light-gray)
}
#cb-why .cb-collage-card img {
	width: 100%;
	height: 100%;
	object-fit: cover
}
#cb-why .cb-collage-card p {
	margin: 0.8vw 0.2vw 0;
	font-size: 0.92rem;
	text-align: center;
	color: var(--brown)
}
#cb-why .cb-collage-numeral {
	position: absolute;
	top: -3.4vw;
	left: -1vw;
	font-family: 'Anton', sans-serif;
	font-size: 4.6vw;
	color: #ED7723;
	opacity: 0.3;
	line-height: 1;
	z-index: 0
}
#cb-why .cb-why-foot {
	text-align: center;
	margin-top: 6vw
}
#cb-why .cb-why-foot p {
	max-width: 46ch;
	margin: 0 auto 1.5rem;
	font-size: 1.1rem;
	color: var(--brown)
}

#cb-shop {
	position: relative;
	height: 46vw;
	max-height: 70vh;
	overflow: hidden
}
#cb-shop img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%
}
#cb-shop::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgba(20,13,8,.88) 0%, rgba(20,13,8,.55) 42%, rgba(20,13,8,0) 68%)
}
#cb-shop .cb-shop-content {
	position: absolute;
	left: 5vw;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	max-width: 30vw;
	color: #FFF
}
#cb-shop h2 {
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	line-height: 0.9;
	font-size: clamp(2rem, 4.4vw, 3.4rem);
	margin: 0 0 1rem
}
#cb-shop p.cb-lead {
	font-size: 1.15rem;
	margin: 0 0 1.4rem;
	opacity: 0.92
}
#cb-shop .cb-shop-facts {
	list-style: none;
	padding: 0;
	margin: 0 0 1.6rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	font-size: 0.85rem;
	opacity: 0.85
}
#cb-shop .cb-shop-facts li::before {
	content: "— ";
	color: var(--orange)
}

.wc-block-product-filters__overlay .wp-block-heading {
	font-size: 1.5rem !important
}
.infinite-scroll .woocommerce-pagination {
	display: initial
}
div[id*="infinite-view"] {
	display: none !important
}

/* --- Bake Sense — Por qué elegir --- */
#bake-sense-why {
	text-align: center
}
#bake-sense-why .bsw-hero {
	background-color: var(--brown);
	padding: 5vw 12.5vw 0
}
#bake-sense-why .bsw-hero h2,
#bake-sense-why .bsw-hero > p {
	color: #FFF
}
#bake-sense-why .bsw-hero > p {
	font-size: 1.25rem
}
#bake-sense-why .bsw-cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5vw;
	padding: 2.5vw 0
}
#bake-sense-why .bsw-cols div {
	position: relative
}
#bake-sense-why .bsw-cols div:nth-child(2n) {
	margin-top: 2vw
}
#bake-sense-why .bsw-cols div img {
	width: 50%;
	margin: 0 0 1rem
}
#bake-sense-why .bsw-cols div p {
	margin: 0;
	color: #FFF;
	font-size: 1.25rem
}
#bake-sense-why .bsw-numeral {
	position: absolute;
	top: -0.5rem;
	left: 0;
	line-height: 1;
	font-family: 'Anton', sans-serif;
	font-size: 2.5rem;
	color: var(--orange);
	opacity: 0.25
}
#bake-sense-why .bsw-banner {
	display: grid;
	grid-template-columns: 55fr 45fr
}
#bake-sense-why .bsw-banner-copy {
	display: flex;
	align-items: center;
	background-color: var(--brown);
	padding: 5vw;
	color: #FFF
}
#bake-sense-why .bsw-banner-copy p {
	margin: 0;
	font-family: 'Anton', sans-serif;
	font-size: 1.6rem;
	text-transform: uppercase
}
#bake-sense-why .bsw-banner-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover
}
#bake-sense-why .bsw-quote {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 2.5vw 12.5vw
}
#bake-sense-why .bsw-quote-mark {
	line-height: 0.6;
	font-family: 'Anton', sans-serif;
	font-size: 3rem;
	color: #ED7723
}
#bake-sense-why .bsw-quote p {
	margin: 0;
	font-size: 1rem;
	color: var(--brown);
	text-align: left
}
#bake-sense-why > .egr-btn {
	margin: 0 0 2.5vw
}

/* --- Bake Sense — Inspírate (collage con solape) --- */
#bake-sense-inspire {
	display: grid;
	grid-template-columns: 40fr 60fr;
	align-items: start;
	gap: 2.5vw;
	padding: 5vw 10vw
}
#bake-sense-inspire .bsi-heading {
	margin-top: -3vw;
	background-color: #FFF;
	box-shadow: 6px 3px 3px 1px rgba(43, 29, 20, 0.12);
	padding: 1.5rem
}
#bake-sense-inspire .bsi-eyebrow {
	display: block;
	margin-bottom: 0.5rem;
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.8rem;
	color: #ED7723
}
#bake-sense-inspire h3 {
	margin: 0
}
#bake-sense-inspire p {
	border-left: 6px solid #ED7723;
	padding: 1rem 2.5vw;
	font-size: 1.25rem;
	margin: 0
}

.woocommerce-account-fields {
	display: none
}
#wc-stripe-upe-form {
	padding: 0;
	border: none
}
#wc-stripe-upe-form .wc-stripe-upe-element {
	margin: 0 0 1rem
}

/* category */
.archive.category .ast-container {
	display: block;
	width: 100%;
	max-width: initial;
	padding: 0 !important;
	margin: 0
}
.archive.category .ast-container #primary {
	padding: 0;
	margin: 0
}
.archive.category .ast-container .ast-archive-description {
	max-width: initial;
	text-align: center;
	padding: 0 0 2.5vw
}
.archive.category .ast-container .ast-archive-description:before {
	content: "";
	display: none;
	width: 100vw;
	height: 21vw;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain
}
.category-aprendizaje-continuo .ast-container .ast-archive-description:before {
	display: block !important;
	background-image: url(/wp-content/uploads/2025/02/categoria-aprendizaje-continuo.jpg)
}
.category-aprendizaje-sobre-panificacion .ast-container .ast-archive-description:before {
	display: block !important;
	background-image: url(/wp-content/uploads/2025/02/categoria-aprendizaje-panificacion.jpg)
}
.category-panaderia-exitosa .ast-container .ast-archive-description:before {
	display: block !important;
	background-image: url(/wp-content/uploads/2025/02/categoria-panaderia-exitosa.jpg)
}
.category-secretos-de-la-panificacion .ast-container .ast-archive-description:before {
	display: block !important;
	background-image: url(/wp-content/uploads/2025/02/categoria-secretos-panificacion.jpg)
}
.archive.category .ast-container .ast-archive-description h1 {
	margin: 2.5vw 0 0 !important
}

.archive.category article {
	padding: 0 5vw 5vw;
	border: none
}
.archive.category article .post-content {
	position: relative;
	padding-left: 40vw;
}
.archive.category article .ast-blog-featured-section {
	position: absolute;
	width: 37.5vw;
	height: 100%;
	left: 0;
	top: 0;
	margin: 0
}
.archive.category article .ast-blog-featured-section * {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover
}
.archive.category article .post-content .entry-meta {
	display: none
}
.archive.category article .post-content .read-more {
	margin: 1rem 0 0
}
.archive.category article .post-content .read-more a {
	display: inline-block;
	color: var(--orange-text);
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 46px;
	padding: 0 1.5em;
	border: 2px solid;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s
}
.archive.category article .post-content .read-more a:hover,
.archive.category article .post-content .read-more a:focus-visible {
	color: #FFF !important;
	background-color: var(--orange-text) !important;
	border-color: var(--orange-text) !important;
}

/* entry */
.single-post .site-content .ast-container {
	display: inline-block;
	width: 75%;
	max-width: initial;
	vertical-align: top;
	padding: 5vw;
	margin: 0
}
.single-post .site-content .ast-container #primary {
	margin: 0
}
.single-post .site-content .ast-container h1 {
	text-transform: uppercase;
	margin: 0 0 0.25em !important
}
.single-post .site-content .ast-container h2 {
	margin: 0 0 1rem !important
}
.single-post .site-content .ast-container .wp-block-image {
	width: 100%;
	margin: 0 0 1rem
}
.single-post .site-content .ast-container .wp-block-image img {
	width: 100% !important;
}
.single-post .site-content .ast-container p,
.single-post .site-content .ast-container li {
	font-size: 1.25rem;
	margin: 0 0 1rem
}

.single-post .site-content .wp-block-coblocks-posts {
	display: inline-block;
	width: 25%;
	vertical-align: top;
	padding: 5vw 5vw 5vw 0
}
.single-post .site-content .wp-block-coblocks-posts:before {
	content: "Últimos artículos";
	display: block;
	color: #ff5f00;
	font-size: 2.2rem;
	font-family: 'Anton',sans-serif;
  font-weight: bold;
	line-height: 1;
	margin: 3.5rem 0 0.5em
}
.single-post .site-content .wp-block-coblocks-posts a {
	color: #2b1d14;
  font-size: 1.5rem;
  font-family: 'Anton',sans-serif;
  font-weight: bold;
  line-height: 1;
	padding-top: 50%
}
.single-post .site-content .wp-block-coblocks-posts__content {
	display: block
}

.elementor-3321 .elementor-section-wrap>section:first-of-type {
	height: calc(580 * 100vw / 1920);
	padding: 0;
}


/* eventos */
.page-id-5897 {
	background-color: #FFF;
}
.page-id-5897 .ast-container {
	max-width: initial;
	padding: 0 !important;
}

#calendar-header {
	position: relative
}
#calendar-header img {
	width: 100%
}
#calendar-header h1 {
	position: absolute;
	left: 5vw;
	top: 50%;
	color: #FFF;
	font-size: 4rem !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%)
}
#calendar-header h1 big {
	display: block;
	color: #ff5f00;
	font-size: 165%;
	text-shadow: 0 0.05em 0.1em #2B1D14 !important
}

#calendar-intro {
	padding: 5vw 15vw
}
#calendar-intro p {
	font-size: 1.5rem;
	font-weight: 300;
	text-align: center;
	line-height: 1.25;
	margin: 0
}
#calendar-intro p big {
	display: block;
	color: #ff5f00;
	font-size: 150%;
	font-family: 'Anton',sans-serif;
	margin: 0 0 1rem
}

.calendar-dates {
	padding: 0 12.5vw 2.5vw
}
.calendar-dates h2 {
	color: #2B1D14;
	text-align: center;
	text-transform: uppercase
}
#calendar-mexico h2 {
	color: #ff5f00;
}
.date {
	display: inline-block;
	position: relative;
	width: 50%;
	vertical-align: top;
	padding: 2.5vw
}
.date img {
	width: 100%;
	border: 1px solid #f1f1f1
}
.date span {
	display: inline-block;
	position: absolute;
	left: 2.5vw;
	top: 2.5vw;
	color: #FFF;
	font-size: 1.5rem;
	font-family: 'Anton',sans-serif;
	line-height: 1.25;
	background-color: #2B1D14;
	padding: 1rem
}
#calendar-mexico .date span {
	background-color: #ff5f00;
}
.date span big {
	display: block;
}
.date h3 {
	color: #2B1D14;
	margin: 2rem 0 1rem !important
}
#calendar-mexico h3 {
	color: #ff5f00;
}
.date p {
	font-size: 1.25rem;
}
.date .egr-btn {
	color: #FFF !important;
	background-color: #2B1D14 !important;
	border-color: #2B1D14 !important
}
#calendar-mexico .date .egr-btn {
	background-color: var(--orange-text) !important;
	border-color: var(--orange-text) !important
}

/*
 * ACCESIBILIDAD — prefers-reduced-motion
 * Neutraliza transiciones/animaciones CSS sitewide para usuarios que piden
 * menos movimiento (botones, WhatsApp flotante, mapa animado de Home, etc.
 * cualquier transition/animation declarada en cualquier stylesheet, incluidos
 * los bloques @scope por página). No detiene animaciones dirigidas por JS
 * (ej. el zoom de entrada del mapa de Home) — eso requeriría un chequeo
 * matchMedia() en el propio script, fuera de alcance de este cambio de CSS.
 */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}

@media (max-width: 767px) {
	.ast-separate-container #primary {
		padding: 0
	}
	
	.egr-btn {
		line-height: 38px;
		border-width: 1px
	}
	
	.whatsapp {
		width: 48px;
		height: 48px;
		left: 2.5vw;
		bottom: 2.5vw
	}
	.whatsapp.hovered p {
		font-size: 2rem
	}
	.whatsapp-contact {
		left: calc(2.5vw + 24px);
  	bottom: calc(2.5vw + 24px);
	}
	.whatsapp-contact .frm_form_field input {
		line-height: 38px
	}
	.whatsapp-contact .frm_button_submit {
		line-height: 38px !important
	}
	
	#masthead div:has(> .site-header-section) {
		display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	width: 100%;  
		padding: 0 5vw !important
	}
	#masthead .ast-primary-header-bar {
		padding: 5px 0 !important
	}
	#masthead .ast-primary-header-bar .site-branding {
		margin: 0
	}
	#masthead .ast-primary-header-bar .site-logo-img img {
		width: 50px
	}
	#masthead .site-header-primary-section-right {
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: end
	}
	#masthead .ast-header-woo-cart {
		display: none
	}
	.ast-header-break-point .main-navigation ul .menu-item .menu-link {
		font-size: 1.5rem;
		padding: 0 5vw
	}
	.ast-mobile-popup-drawer .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle {
		width: 5vw;
		right: 0;
		padding: 0
	}
	.ast-header-break-point .ast-icon.icon-arrow svg {
		margin: 15px 0
	}
	
	.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close {
		width: 48px;
		font-size: 1rem;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		line-height: 48px;
		padding: 0
	}
	.ast-builder-menu-1 .menu-item > .menu-link {
		font-size: 1.5rem;
		line-height: 40px;
		padding: 0 1rem !important
	}
	
/*
 * FOOTER */
	.row-egr:nth-child(1) {
	flex-direction: column
	}
	.row-egr:nth-child(1) .column-egr:nth-child(1) {
		width: auto
	}
	.row-egr:nth-child(1) .column-egr:nth-child(2) {
		width: auto
	}
	.row-egr:nth-child(3) {
		flex-wrap: wrap;
	}
	.row-egr:nth-child(3) .column-egr:nth-child(1) {
		width: 49%;
	}
	.row-egr:nth-child(3) .column-egr:nth-child(1) {
		order 1;
	}
	.row-egr:nth-child(3) .column-egr:nth-child(2) {
		order: 2;
	}
	.row-egr:nth-child(3) .column-egr:nth-child(3) {
		order: 4;
		width: auto;
		flex-wrap: nowrap;
		padding: 4vw 0;
	}
	.row-egr:nth-child(3) .column-egr:nth-child(4) {
		order: 3;
		width: 49%;
		padding: 0 0 0 2vw; 
		align-items: end;
		justify-content: center
	}
	
	.page-id-5342 .site-content .wp-block-coblocks-posts {
		padding: 0 2.5vw
	}
	.view-all-entries a.wp-block-button__link {
		line-height: 38px;
		border-width: 1px
	}
	
	.single-courses .ast-container {
		padding: 0 !important
	}
	.single-courses .tutor-wrap {
		padding: 5vw !important
	}
	
	#coffee-bloom-header {
		grid-template-columns: 1fr;
		height: auto
	}
	#coffee-bloom-header img {
		grid-column: 1;
		grid-row: auto;
		height: 40vw
	}
	.page-id-6168 #coffee-bloom-intro,
	.page-id-7645 #coffee-bloom-intro {
		grid-template-columns: 1fr
	}
	#coffee-bloom-intro .cb-intro-copy {
		padding: 5vw
	}
	#coffee-bloom-intro .cb-intro-photo {
		min-height: 60vw
	}
	#coffee-bloom-banner {
		padding: 5vw
	}
	#coffee-bloom-banner .cb-banner-inner {
		max-width: 100%
	}
	#coffee-bloom-banner img {
		max-width: 40vw
	}
	#coffee-bloom-products .products {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	#coffee-bloom-products a.add_to_cart_button {
		line-height: 38px;
		border-width: 1px
	}
	#coffee-bloom-products ul.products li.product:first-child {
		grid-column: span 2;
		grid-row: auto
	}
	#coffee-bloom-products .cb-products-strip {
		grid-template-columns: 1fr
	}
	#coffee-bloom-products .cb-products-strip-photo {
		min-height: 40vw
	}
	#coffee-bloom-why {
		grid-template-columns: 1fr;
		padding: 5vw 4.5vw
	}
	#coffee-bloom-why div:first-child,
	#coffee-bloom-why div:nth-of-type(2),
	#coffee-bloom-why div:nth-of-type(3),
	#coffee-bloom-why div:nth-of-type(4) {
		grid-column: 1;
		grid-row: auto
	}
	#coffee-bloom-why div:first-child,
	#coffee-bloom-why div:nth-of-type(3),
	#coffee-bloom-why div:nth-of-type(4) {
		min-height: 60vw
	}
	#coffee-bloom-why div:nth-of-type(2) h2 {
		font-size: 1.5rem !important
	}
	#coffee-bloom-shop {
		grid-template-columns: 1fr
	}
	#coffee-bloom-shop .cb-shop-copy {
		padding: 5vw
	}
	#coffee-bloom-shop .cb-shop-photo {
		min-height: 60vw
	}

	#cb-hero {
		height: auto;
		max-height: none;
		aspect-ratio: 3/4
	}
	#cb-hero .cb-hero-word {
		font-size: clamp(2.4rem, 13vw, 4rem);
		bottom: 16vw;
		left: 5vw
	}
	#cb-hero .cb-filmstrip button {
		width: 12vw;
		height: 12vw
	}
	#cb-intro .cb-intro-inner {
		max-width: 100%;
		margin-left: 0
	}
	#cb-intro {
		padding: 12vw 6vw
	}
	#cb-products ul.products {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 30vw
	}
	#cb-products ul.products li.product:first-child {
		grid-column: span 2;
		grid-row: span 1
	}
	#cb-why .cb-collage {
		flex-direction: column;
		align-items: center;
		max-width: 100%;
		gap: 8vw
	}
	#cb-why .cb-collage-card {
		width: 60vw
	}
	#cb-shop {
		height: auto;
		aspect-ratio: 3/4;
		max-height: none
	}
	#cb-shop .cb-shop-content {
		max-width: 80vw;
		left: 6vw
	}

	#bake-sense-why .bsw-hero {
		padding: 5vw
	}
	#bake-sense-why .bsw-cols {
		grid-template-columns: repeat(2, 1fr);
		gap: 5vw 2.5vw
	}
	#bake-sense-why .bsw-cols div {
		margin-top: 0
	}
	#bake-sense-why .bsw-banner {
		grid-template-columns: 1fr
	}
	#bake-sense-why .bsw-banner-photo {
		min-height: 50vw
	}
	#bake-sense-why .bsw-quote {
		padding: 5vw
	}
	#bake-sense-inspire {
		grid-template-columns: 1fr;
		padding: 5vw
	}
	#bake-sense-inspire .bsi-heading {
		margin-top: 0
	}
	
	.tutor-nav {
		display: block;
		letter-spacing: -1em;
	}
	.tutor-nav-item {
		display: inline-block !important;
		width: calc(100% / 3);
		vertical-align: bottom;
		letter-spacing: initial
	}
	.tutor-nav-item a {
		display: block;
		text-align: center;
		line-height: 48px !important;
		padding: 0 !important
	}
	.tutor-nav-item:nth-of-type(1) a {
		line-height: 15px !important;
		padding: 9px 0 !important
	}
	.tutor-nav-more {
		display: none !important
	}
	.tutor-btn {
		font-size: 1.25rem;
		margin-top: 0 !important
	}
	
	.archive.category .ast-container .ast-archive-description {
		padding: 0 0 5vw
	}
	.archive.category .ast-container .ast-archive-description:before {
		height: 40vw;
		background-size: cover
	}
	.archive.category .ast-container .ast-archive-description h1 {
		margin: 5vw 0 0 !important
	}
	.archive.category article .post-content {
		padding: 0
	}
	.archive.category article .ast-blog-featured-section {
		position: relative;
		width: 100%;
		margin: 0 0 5vw
	}
	.archive.category article .post-content .read-more a {
		line-height: 38px;
		border-width: 1px
	}
	
	.single-post .ast-container {
		width: 100%
	}
	
	#calendar-header h1 {
		top: initial;
		bottom: 2.5vw;
		font-size: 2.5rem !important;
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none
	}
	#calendar-intro {
		padding: 5vw
	}
	.calendar-dates {
		padding: 0 2.5vw 2.5vw
	}
	.calendar-dates h2 {
		margin: 5vw 0 2.5vw !important
	}
	.date {
		width: 100%;
		text-align: center
	}
	
}