/* personalny.eu - responsive css v1.0.0 */

/*
* ==========================
* Mobile
* ==========================
*/

@media (max-width: 768px) {
    .p-desktop-only {
        display: none !important;
    }
    .p-mobile-only {
        display: block !important;
    }
    .p-clear-padding-mobile {
        padding-left: 0;
        padding-right: 0;
    }

    .p-mobile-text-container {
        padding-left: 24px;
        padding-right: 24px;
    }

    body {
        padding-bottom: 56px;
    }

    /* typography */
    h1,
    .t-size-h1 {
        font-size: 36px;
    }
    h2,
    .t-size-h2 {
        font-size: 32px;
    }
    h3,
    .t-size-h3 {
        font-size: 24px;
    }
    h4,
    .t-size-h4 {
        font-size: 20px;
    }
    h5,
    .t-size-h5 {
        font-size: 18px;
    }

    .p-header {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .p-footer-main {
        margin-left: 0;
        margin-right: 0;
        border-radius: 16px;
    }

    .p-footer-row,
    .p-footer-nav-trainers-locations {
        grid-template-columns: 1fr;
        gap: 32px;
        justify-items: center;
        text-align: center;
    }
    .p-footer-col-4,
    .p-footer-col-6 {
        grid-column: span 1;
    }
    .p-footer-nav-trainers-locations {
        gap: 4px;
    }

    .p-footer-nav-list {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .p-footer-social {
        gap: 16px;
    }

    /* homepage */

    .p-homepage-hero {
        margin-top: 24px;
        margin-bottom: 24px;
    }

    .p-homepage-hero-title-tag .p-tag-item {
        padding: 6px 12px;
    }

    .p-hero-phrase {
        white-space: normal;
        display: block;
    }

    .p-homepage-hero-icon-right {
        width: 36px;
        height: 36px;
        filter: blur(2px);
        top: 12%;
    }

    .p-homepage-hero-icon-left {
        width: 128px;
        height: 128px;
        left: -48px;
        top: 24%;
    }

    .p-homepage-info-feature {
        padding: 32px;
    }

    .p-homepage-cta-inner {
        flex-direction: column;
        gap: 24px;
    }

    .p-homepage-cta-buttons-wrap {
        margin-top: 32px;
    }

    .p-homepage-cta-buttons-wrap .p-button {
        flex: 1;
        justify-content: center;
        text-align: center;
    }

    .p-homepage-cta-image-wrap {
        margin-left: -24px;
        margin-right: -24px;
        padding-left: 24px;
        padding-right: 24px;
        width: auto;
    }

    .p-homepage-cta-image {
        width: 150%;
        transform: translateX(-10%);
    }

    .p-homepage-cta-image-box {
        width: calc(100% - 48px);
        height: 75%;
        left: 24px;
        right: 24px;
        top: 15%;
    }

    .p-trainer-list {
        gap: 16px;
    }

    .p-trainer-card {
        grid-column: span 5;
    }

    .p-blog-grid-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .p-post-card-content {
        padding: 16px;
    }

    .p-blobs--newsletter {
        --blobs-size: 180%;
        --blobs-anchor-x: 95%;
        --blobs-anchor-y: 15%;
    }
    .p-blobs--static-hero {
        --blobs-size: 60%;
        --blobs-scale-y: 1.4;
        --blobs-anchor-y: 20%;
    }

    /* Newsletter */
    .p-newsletter-status-container {
        margin-top: 0;
        margin-bottom: 0;
    }

    /* Search */
    .p-search-content-grid {
        grid-template-columns: 100%;
        gap: 24px;
    }
    .p-search-top-gyms {
        flex-wrap: wrap;
    }
    .p-search-no-results {
        grid-template-columns: 1fr;
    }

    /* Trainer cards Extended */
    .p-trainer-card-extended {
        grid-template-columns: 1fr;
    }
    .p-trainer-card-extended-footer {
        flex-wrap: wrap;
    }

    /* Trainer Hero */
    .p-trainer-hero-grid {
        grid-template-columns: 100%;
        grid-template-rows: auto auto auto;
        row-gap: 0;
    }

    .p-trainer-hero-avatar {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        padding-top: 0;
        margin-bottom: -32px;
        z-index: 0;
    }

    .p-trainer-profile-photo-img {
        border-radius: 0;
    }

    .p-trainer-profile-photo .p-trainer-rating-badge {
        bottom: 48px;
    }

    .p-trainer-hero-bg {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        width: 100%;
        left: auto;
        transform: none;
        z-index: 1;
    }
    .p-trainer-hero-content {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        padding: 32px 24px;
        text-align: center;
    }
    .p-trainer-hero-meta-wrap {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
        padding: 0;
        margin-top: 32px;
    }
    .p-trainer-hero-meta {
        padding: 0 24px;
    }

    .p-trainer-location-wrap {
        padding: 0;
        margin: 0;
        padding-left: 24px;
        padding-right: 24px;
        margin-left: -24px;
        margin-right: -24px;
    }

    .p-trainer-location-wrap::before,
    .p-trainer-location-wrap::after {
        content: none;
    }

    .p-trainer-social-links {
        order: 2;
        justify-content: center;
        margin-bottom: 0;
        margin-top: 32px;
    }

    .p-blobs--trainer-hero {
        --blobs-size: 150%;
        --blobs-anchor-x: 95%;
        --blobs-anchor-y: 10%;
        --blobs-rotate: 15deg;
        --blobs-scale-y: 0.8;
        --blobs-scale-x: 1;
    }

    .p-trainer-title {
        margin-top: 8px;
        font-size: 48px;
        word-spacing: 100vw;
    }
    .p-trainer-subdomain {
        font-size: 40px;
    }

    /* Trainer page - other */
    .p-trainer-services-loop {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .p-trainer-services-item-icon {
        width: 70px;
        height: 70px;
    }

    .p-trainer-services-item {
        padding: 24px;
    }
    .p-trainer-services-item p {
        font-size: 14px;
        line-height: 1.3em;
    }

    .p-trainer-page-main-wrap h3 {
        font-size: 36px;
    }

    .p-trainer-page-main-wrap .grid-12 {
        display: block;
        grid-template-columns: 1fr;
    }
    .p-trainer-page-main-wrap .grid-c-10-o-1 {
        grid-column: auto;
    }

    .p-trainer-gallery-swiper {
        margin-left: -24px;
        margin-right: -24px;
        padding-left: 24px;
        padding-right: 24px;
    }

    .p-trainer-transformation {
        flex-wrap: wrap;
        justify-content: center;
        gap: 48px 8px;
    }
    .p-trainer-transformations {
        flex: 0 0 100%;
        order: 1;
    }
    .p-trainer-transformation .p-swiper-nav-prev {
        order: 2;
    }
    .p-trainer-transformation .p-swiper-nav-next {
        order: 3;
    }
    .p-trainer-transformation-item {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .p-trainer-transformation-photos {
        gap: 8px;
    }
    .p-trainer-transformation-content {
        padding: 0 16px;
    }

    .p-trainer-reviews-box {
        margin-top: 80px;
    }

    .p-trainer-reviews-box-content {
        margin-left: -24px;
        margin-right: -24px;
        padding-left: 24px;
        padding-right: 24px;
    }

    .p-trainer-pricing-wrap {
        padding-top: 32px;
        padding-bottom: 32px;
        margin-left: 0;
        margin-right: 0;
    }
    .p-trainer-page-main-wrap h3,
    .p-trainer-pricing .p-tabs-nav-wrap {
        margin-bottom: 24px;
    }
    .p-trainer-pricing-swiper-nav {
        margin-top: 24px;
    }
    .p-blobs--trainer-pricing {
        --blobs-size: 120%;
        --blobs-anchor-x: 100%;
        --blobs-anchor-y: 90%;
        --blobs-rotate: 180deg;
        --blobs-scale-y: 0.9;
        --blobs-scale-x: 1;
    }

    .p-trainer-transformation-content-title {
        font-size: 24px;
    }

    .p-trainer-simple-contact .p-trainer-contact-details-wrap {
        flex-direction: column;
        gap: 16px;
    }

    .p-trainer-simple-contact .p-gym-short-card,
    .p-trainer-contact .p-gym-short-card {
        width: 100%;
        flex: 1;
    }

    .p-trainer-contact-details:not(:first-child) {
        margin-top: 16px;
    }

    .p-trainer-contact-form {
        margin-top: 24px;
    }

    /* Demo */
    .p-demo-plan-bar {
        padding: 16px;
        bottom: 64px;
    }

    /* Dashboard */
    .p-dashboard-main-wrap {
        margin-top: 24px;
    }
    .p-dashboard-main-wrap .container {
        padding-left: 0;
        padding-right: 0;
    }
    .p-dashboard-header-nav-title {
        gap: 16px;
    }

    .p-dashboard-nav-wrap {
        padding-right: 0;
    }

    .p-dashboard-plan-change-grid {
        grid-template-columns: 100%;
    }

    .p-dashboard-section-title {
        margin-bottom: 24px;
    }

    .p-blobs--dashboard {
        --blobs-size: 100%;
        --blobs-anchor-x: 70%;
        --blobs-anchor-y: 300px;
        --blobs-scale-y: 0.9;
    }

    /* .p-dashboard-header-nav-title p {
        word-spacing: 100vw;
    } */
    .p-dashboard-main-wrap .grid-12 {
        display: block;
    }
    .p-dashboard-main-content {
        padding: 48px 24px;
    }
    .form-container form,
    .p-dashboard-form-wrapper {
        display: flex;
        flex-direction: column;
    }
    .p-dashboard-header-account-details {
        grid-template-columns: 1fr;
        display: flex;
        margin-top: 0;
    }
    .p-dashboard-header-account-details-type {
        grid-column: auto;
    }
    .p-dashboard-header-account-details-register-date {
        grid-column: auto;
    }

    /* Dashboard subscription */
    .p-dashboard-current-plan {
        padding: 24px;
    }
    .p-dashboard-current-plan-inner {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }
    .p-dashboard-action-button-item {
        padding: 16px 24px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }
    .p-dashboard-action-button-item-action-paymentcard {
        grid-column: span 2;
    }

    .p-dashboard-current-plan-footer {
        padding-left: 16px;
    }
    .p-dashboard-current-plan-footer-item {
        display: grid;
        gap: 8px;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .p-table-wrap {
        padding: 16px;
    }

    /* Plan cards */
    .p-plan-cards {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    /* Auth layout */
    .p-auth-main {
        padding: 32px 24px;
    }

    /* Faq */
    .p-faq-question {
        padding: 24px 32px;
    }
    .p-faq-answer-inner {
        padding: 0 32px 24px;
    }

    /* Static */
    .p-static-hero {
        margin-left: 0;
        margin-right: 0;
    }
    .p-contact-page-details {
        grid-template-columns: 1fr;
    }

    /* Blog */
    .p-blog-hero {
        margin-left: 0;
        margin-right: 0;
    }
    .p-blog-hero-item-content {
        padding-top: 32px;
        padding-bottom: 32px;
        position: relative;
    }
    .p-blog-hero-item-content-inner {
        max-width: 100%;
    }
    .p-blog-hero-item {
        display: flex;
        flex-direction: column-reverse;
    }
    .p-blog-hero-item-media {
        grid-template-columns: 1fr;
    }
    .p-blog-hero-post-swiper-pagination-wrap {
        position: relative;
        bottom: auto;
        margin-bottom: 32px;
    }
    .p-blog-hero-item-image {
        height: auto;
    }
    .p-blog-hero-item-read-more {
        pointer-events: all;
        width: 100%;
        justify-content: center;
    }
    .p-blog-categories-list {
        justify-content: flex-start;
    }
    .p-blog-categories-swiper {
        margin-left: -24px;
        margin-right: -24px;
        padding-left: 24px;
        padding-right: 24px;
    }

    /* Post single */
    .p-post-single-featured-image {
        aspect-ratio: 2 / 1;
    }
    .p-post-single-meta-wrap {
        flex-direction: column;
        gap: 8px;
    }

    .p-post-single-meta-wrap {
        align-items: flex-start;
    }

    .p-breadcrumbs {
        gap: 4px;
    }
    .p-breadcrumbs-item {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 20ch;
    }

    .p-breadcrumbs-current {
        max-width: 20ch;
    }

    /* Search page */
    .p-search-component-inline {
        flex-wrap: wrap;
    }
    .p-search-component-separator {
        width: 100%;
        height: 1px;
        margin-left: 24px;
        margin-right: 24px;
    }
    .p-search-component-gym-field {
        flex: 1 1 0;
    }
    .p-search-suggest-inner {
        grid-template-columns: 1fr;
    }
    .p-search-content-wrap {
        margin-right: 0;
        margin-left: 0;
    }
    .p-search-top-gyms .swiper-slide {
        max-width: 320px;
    }
    .p-search-top-gyms .p-search-top-gyms-all {
        max-width: 160px;
        font-size: 36px;
    }
    .p-search-hero {
        margin-top: 0;
    }
    .p-search-content-sidebar {
        gap: 16px;
    }
    .p-search-content-top-bar {
        margin-bottom: 24px;
    }
    .p-search-content-index {
        grid-template-columns: 100%;
    }

    /* Search Gym */
    .p-search-top-gym-selected {
        grid-template-columns: 100%;
    }
    .p-search-top-gym-selected-content {
        flex-direction: column;
    }
    .p-search-top-gym-selected-map {
        display: none;
    }
    .p-search-top-gym-selected-actions {
        margin-left: 0;
    }
    .p-search-top-gym-selected-content {
        gap: 16px;
    }

    /* Filters */
    .p-filters-box {
        padding: 12px 24px;
    }
    .p-filters-toggle .p-icon {
        display: block;
        transition: transform 0.15s ease;
    }
    .p-filters-box.is-open .p-filters-toggle .p-icon {
        transform: rotate(180deg);
    }
    .p-filters-body {
        display: none;
    }

    /* Search no results */
    .p-search-no-results {
        grid-template-columns: 1fr;
    }
    .p-search-no-results-content {
        grid-column: auto;
        grid-row: 1;
    }
    .p-search-no-results-image {
        grid-column: auto;
        grid-row: 2;
        height: 240px;
        width: 180%;
        margin-left: -80%;
        max-width: unset;
    }
}

/** ==========================
* Tablets - small desktops
* ==========================
*/
@media (min-width: 769px) and (max-width: 1280px) {
    .p-trainer-hero-avatar {
        align-self: center;
    }
    .p-search-top-gyms .swiper-slide {
        max-width: 320px;
    }
    .p-search-top-gyms .p-search-top-gyms-all {
        max-width: 160px;
        font-size: 36px;
    }
    .p-trainer-card-extended-footer {
        flex-wrap: wrap;
    }
    .p-trainer-card-extended .p-trainer-card {
        height: 100%;
    }
    .p-trainer-card-extended .p-trainer-card,
    .p-trainer-card-extended .p-trainer-card-photo-img {
        aspect-ratio: auto;
        height: 100%;
    }
    .p-trainer-card-extended .p-trainer-card-photo,
    .p-trainer-card-extended .p-trainer-card-photo picture,
    .p-trainer-card-extended .p-trainer-card-photo a {
        height: 100%;
    }

    /* Search no results */
    .p-search-no-results {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .p-search-no-results-content {
        grid-column: 1 / 3;
    }
    .p-search-no-results-image {
        grid-column: 1 / 4;
    }

    /* Dashboard */
    .p-dashboard-main-content {
        grid-column: span 8;
    }
    .p-dashboard-side-menu {
        grid-column: span 4;
    }
    .p-blobs--dashboard {
        --blobs-size: 80%;
        --blobs-anchor-x: 60%;
        --blobs-anchor-y: 580px;
    }
}

/** ==========================
* Tablets only (filters collapse)
* ==========================
*/
@media (min-width: 769px) and (max-width: 1024px) {
    /* Search */
    .p-search-content-grid {
        grid-template-columns: 100%;
    }

    /* Filters */
    .p-filters-box {
        padding: 12px 24px;
    }
    .p-filters-toggle .p-icon {
        display: block;
        transition: transform 0.15s ease;
    }
    .p-filters-box.is-open .p-filters-toggle .p-icon {
        transform: rotate(180deg);
    }
    .p-filters-body {
        display: none;
    }
}
