/* Optimized responsive.css */

/* Tablet & Small Desktop (Max 1100px) */
@media only screen and (max-width: 1100px) {
	.alignfull {
		border-radius: 0 !important;
	}

	.wp-block-columns.tres-columnas-home,
	.calls-mv {
		grid-template-columns: 1fr !important;
		display: grid !important;
		width: 100%;
	}

	/* Typography */
	h1 {
		font-size: 40px !important;
	}

	h2 {
		font-size: 35px !important;
	}

	p {
		font-size: 18px !important;
	}

	/* Header */
	#header {
		width: 100%;
		top: 0;
	}

	.logo-menu {
		display: flex;
		flex-direction: unset;
		gap: 0;
		padding: 0;
		align-items: start;
	}

	.mobile-menu {
		width: 100%;
		height: 90vh;
		opacity: 0;
		transform: translateY(-50px);
		transition: all 500ms ease;
		pointer-events: none;
		position: fixed;
		top: 95px;
		left: 0;
		right: 0;
		bottom: 15px;
		z-index: 9;
	}

	.menu li a {
		font-size: 60px;
	}

	#menu-principal {
		display: flex;
		flex-direction: column;
		gap: 45px;
		font-size: 18px;
		margin: 0;
		padding: 0;
		justify-content: end;
		align-items: end;
		list-style: none;
	}

	.mobile-menu>div {
		justify-content: center;
		align-items: end;
		position: absolute;
		right: 20px;
		top: 20px;
	}

	.wp-container-core-group-is-layout-5c4e9ce4 {
		gap: 5px;
		flex-direction: column;
		align-items: flex-start !important;
		justify-content: flex-start;
	}

	.hero-mv {
		min-height: 95vh !important;
		aspect-ratio: unset;
		gap: 5px;
	}

}

/* Mobile (Max 768px) */
@media only screen and (max-width: 768px) {
	:root {
		--wp--preset--font-size--small: 14px;
		--wp--preset--font-size--medium: 16px;
	}

	:root :where(.is-layout-flow)>h1,
	:root :where(.is-layout-flow)>h2,
	:root :where(.is-layout-flow)>h3,
	:root :where(.is-layout-flow)>h4,
	:root :where(.is-layout-flow)>h5,
	:root :where(.is-layout-flow)>h6 {
		margin-block-end: 2rem;
	}

	img {
		max-width: 100%;
	}

	.wp-site-blocks {
		width: 100%;
		overflow-x: hidden;
		padding-top: 100px;
	}

	#header #logo {
		padding-left: 0;
		margin-top: 0;
		width: 350px;
	}

	.wpcf7 {
		max-width: 100% !important;
		position: relative;
	}

	.hero-section {
		flex-direction: column;
		padding: 20px;
		height: 50vh;
		overflow: auto;
	}

	.hero-column {
		width: 100%;
		height: auto;
		margin-bottom: 20px;
	}

	.hero-column:hover {
		width: 100%;
	}

	.hero-section:hover .hero-column:not(:hover),
	.hero-section:hover .hero-column:not(:hover) .hero-title,
	.hero-section:hover .hero-column:not(:hover) .hero-content {
		width: 100%;
		opacity: 1;
		visibility: visible;
		transition: none;
	}

	/* Footer */
	#footer div.wp-block-columns {
		gap: 2vh !important;
	}

	.footer,
	.footer .wp-block-column,
	.footer .wp-block-heading,
	.footer p,
	.footer .wp-block-group,
	.footer .wp-block-navigation,
	.footer .wp-block-navigation__container,
	.footer .wp-block-navigation-item,
	.footer .wp-block-navigation-link,
	.footer .wp-block-navigation-item__content {
		text-align: left !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
	}

	.footer-container {
		grid-template-columns: repeat(1, minmax(150px, 1fr));
		padding: 0 20px;
	}

	.coach-grid-container-home {
		grid-template-columns: repeat(1, 1fr);
		padding: 25px;
	}

	.coach-grid-container {
		grid-template-columns: repeat(1, 1fr);
		padding: 25px 20px;
	}

	.steel-grid-2 {
		grid-template-columns: 1fr;
	}

	/* 1RM Calculator Mobile Fixes */
	.rm-calculator-wrapper {
		padding-top: 100px;
		padding-left: 15px;
		padding-right: 15px;
		width: 100%;
		max-width: 100vw;
		overflow-x: hidden;
		box-sizing: border-box;
	}

	.rm-calculator-wrapper * {
		box-sizing: border-box;
	}

	.rm-calc-grid {
		display: flex;
		flex-direction: column;
		width: 100% !important;
		max-width: 100%;
		gap: 20px;
	}

	.rm-calc-col-left,
	.rm-calc-col-right {
		display: block;
		width: 100% !important;
		max-width: 100%;
		margin: 0;
	}

	.rm-calc-panel {
		padding: 1rem;
		position: relative;
		box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
	}

	.rm-calc-input,
	.rm-calc-stepper,
	.rm-calc-select {
		width: 100% !important;
		max-width: 100%;
	}

	.escribe-container,
	.container {
		padding: 0 20px;
		width: 100%;
	}

	.escribe-benefits__grid {
		grid-template-columns: 1fr;
		display: grid;
		gap: 20px;
	}

	.has-text-align-right {
		text-align: left !important;
	}

	.is-content-justification-right,
	.items-justified-right {
		justify-content: flex-start !important;
	}

	.titulo-boton {
		padding-left: 25px;
	}

	.alturamovil {
		min-height: 25vh;
	}

	.titulo-dos {
		margin-top: 0px;
		margin-bottom: 0px;
		padding-top: 9px;
		padding-right: 5px;
		padding-bottom: 5px;
		padding-left: 5px;
	}

	.profile-header {
		align-items: center;
		flex-direction: column;

	}

	.profile-contact {
		display: flex;
		flex-direction: column;
		gap: 15px;
		background-color: var(--steel-gray-card);
		padding: 30px;
		border: 1px solid var(--steel-border);
		height: fit-content;
		width: 95%;
	}

	.profile-content {
		display: grid;
		grid-template-columns: 1fr;
		gap: 50px;
		padding: 20px;
	}

}

/* Small Mobile (Max 480px) */
@media only screen and (max-width: 480px) {
	#header #logo {
		width: 250px;
		padding-left: 0;
		margin-top: 0;
		margin-left: 20px;
	}

	.main-navigation {
		width: 90%;
		left: 30px;
	}

	.close-bars {
		position: initial;
	}

	.wp-site-blocks {
		padding-top: 0;
	}

	h1 {
		font-size: 30px !important;
	}

	h2 {
		font-size: 25px !important;
	}

	p {
		font-size: 18px !important;
	}

	.alturamovil {
		min-height: 300px !important;
	}

	.carousel-dos .swiper-button-next,
	.carousel-dos .swiper-button-prev {
		position: absolute;
		top: calc(100%);
		width: 50px;
		height: 50px;
		background-color: var(--white);
		margin: 0 25px;
		z-index: 0;
		display: flex;
		justify-content: center;
	}

	.bottom-bar {
		padding: 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
		gap: 20px;
		margin: 0 5%;
	}

	.cta {
		gap: 25px;
		flex-direction: column;
	}

	.columna-boton {
		margin-left: 0 !important;
	}

	.contacto {
		flex-direction: column;
		align-items: start;
	}

	.metodo {
		display: flex;
		gap: 15px;
		margin: 0;
		padding: 15px;
		border-right: 0;
	}

	.metodo img {
		width: 25px;
	}

	.social .icon-social {
		width: 30px;
	}

	.icon-info {
		display: flex;
		gap: 10px;
		align-items: center;
		margin-top: 20px;
	}

	.services figure {
		width: 300px !important;
		height: 250px !important;
	}
}

/* =========================================
   Moved from style.css (Mobile First Queries)
   ========================================= */

@media (min-width: 768px) {
	.footer-bottom-container {
		flex-direction: row;
	}

	/* Blog Page & Shared Header */
	.blog-header__title,
	.page-header__title {
		font-size: 6rem;
	}

	.blog-hero__title {
		font-size: 3.5rem;
	}

	.blog-hero__content {
		padding: 4rem;
	}

	.blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.blog-newsletter__form {
		flex-direction: row;
	}
}

@media (min-width: 1024px) {

	/* Single Post Layout */
	.single-layout {
		flex-direction: row;
	}

	.single-content {
		width: 66.666667%;
	}

	.single-sidebar {
		width: 33.333333%;
	}

	/* Blog Page & Shared Header */
	.blog-header__title,
	.page-header__title {
		font-size: 5rem;
	}

	.blog-hero__title {
		font-size: 4rem;
	}

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

	.blog-newsletter__container {
		flex-direction: row;
		align-items: center;
	}

	.blog-newsletter__text {
		width: 50%;
	}

	.blog-newsletter__form-wrap {
		width: 50%;
	}

	.blog-newsletter__title {
		font-size: 3rem;
	}

	/* Escribe Page */
	.escribe-benefits__grid {
		grid-template-columns: 1fr 1fr;
	}

	.escribe-benefits__col--give {
		border-bottom: none;
		border-right: 1px solid var(--steel-border);
	}

	.escribe-content-header {
		flex-direction: row;
		align-items: center;
	}

	.escribe-content-header__left {
		width: 33.333%;
	}

	.escribe-content-header__right {
		width: 66.666%;
	}

	.escribe-grid-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* Mobile Adjustments for Escribe Page */
@media only screen and (max-width: 768px) {
	.escribe-hero__title {
		font-size: 2.5rem;
	}

	.escribe-hero__container {
		padding-top: 2rem;
	}

	.escribe-benefits__col {
		padding: 2rem 1.5rem;
	}

	.escribe-content-header {
		gap: 1.5rem;
	}

	.escribe-content-header__right {
		border-left: none;
		padding-left: 0;
		border-top: 2px solid var(--steel-border);
		padding-top: 1.5rem;
	}

	.escribe-cta__title {
		font-size: 2rem;
	}
}