/*
 * Caldo mobile portrait overrides.
 * Design base: 390px wide. All fixed measurements are expressed in vw.
 */

@media (max-width: 760px) and (orientation: portrait) {
    :root {
        --m-small-text: 3.333vw;       /* 13px */
        --m-button-text: 3.59vw;       /* 14px */
        --m-large-text: 4.103vw;       /* 16px */
        --m-menu-text: 5.128vw;        /* 20px */
        --m-spaced-text: 5.128vw;      /* 20px */
        --m-spaced-track: 3.128vw;     /* 20px */
        --m-menu-line: 12.051vw;       /* 47px */
        --m-menu-track: -0.103vw;      /* -0.4px */
        --m-gutter: 5.128vw;           /* 20px */
        --m-header-height: 30.769vw;   /* 120px */
        --m-content-top: 51.282vw;     /* 200px */
        --m-button-height: 7.1795vw;    /* 34px */
        --m-field-height: 8.718vw;     /* 34px */
        --site-gutter: var(--m-gutter);
        --site-header-height: var(--m-header-height);
        --mobile-content-top: var(--m-content-top);
    }

    html {
        height: 100%;
        min-height: 100%;
        overflow: hidden;
        font-size: var(--m-small-text);
    }

    body {
        position: relative;
        width: 100%;
        height: 100%;
        min-height: 100%;
        overflow: hidden;
    }

    body,
    button,
    input,
    select,
    textarea {
        font-size: var(--m-small-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    .site-shell {
        height: 100svh;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
    }

    .site-shell::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    html.is-scroll-locked .site-shell,
    body.is-scroll-locked .site-shell {
        overflow: hidden;
        touch-action: none;
    }

    .caldo-cursor {
        display: none !important;
    }

    .site-header {
        height: var(--m-header-height);
        min-height: var(--m-header-height);
    }

    .site-header::before {
        background: linear-gradient(180deg, rgba(172, 172, 172, 0.004) 0%, rgba(245, 243, 237, 0.003) 58%, rgba(245, 243, 237, 0) 100%);
    }

    .site-header__blur-layer {
        display: block;
        background: rgba(245, 243, 237, var(--header-blur-alpha));
        mask-image: linear-gradient(180deg, transparent 0%, #000 10%, #000 88%, transparent 100%);
        -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 10%, #000 88%, transparent 100%);
    }

    .site-header__blur-layer--1 {
        --header-blur-top: -4.103vw;   /* -16px */
        --header-blur-height: 11.795vw; /* 46px */
        --header-blur-radius: 2.051vw;  /* 8px */
        --header-blur-alpha: 0.006;
    }

    .site-header__blur-layer--2 {
        --header-blur-top: 3.59vw;      /* 14px */
        --header-blur-height: 12.821vw; /* 50px */
        --header-blur-radius: 1.641vw;  /* 6.4px */
        --header-blur-alpha: 0.005;
    }

    .site-header__blur-layer--3 {
        --header-blur-top: 10.256vw;    /* 40px */
        --header-blur-height: 12.308vw; /* 48px */
        --header-blur-radius: 1.231vw;  /* 4.8px */
        --header-blur-alpha: 0.004;
    }

    .site-header__blur-layer--4 {
        --header-blur-top: 15.385vw;    /* 60px */
        --header-blur-height: 12.821vw; /* 50px */
        --header-blur-radius: 0.615vw;  /* 2.4px */
        --header-blur-alpha: 0.0024;
    }

    .site-header__blur-layer--5 {
        --header-blur-top: 20vw;        /* 78px */
        --header-blur-height: 13.333vw; /* 52px */
        --header-blur-radius: 0.359vw;  /* 1.4px */
        --header-blur-alpha: 0.0035;
    }

    .site-header__blur-layer--6 {
        --header-blur-top: 25.128vw;    /* 98px */
        --header-blur-height: 10.769vw; /* 42px */
        --header-blur-radius: 0.154vw;  /* 0.6px */
        --header-blur-alpha: 0.0028;
    }

    .site-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        top: 3.59vw;
        left: 50%;
        z-index: 9;
        width: 13.59vw;
        height: 5.385vw;       /* 21px */
        min-height: 5.385vw;   /* 21px */
        border-radius: 999px;
        background: rgba(138, 140, 137, 0.5);
        transform: translateX(-50%);
    }

    .site-menu-toggle:focus,
    .site-menu-toggle:focus-visible {
        outline: 0;
    }

    .site-menu-toggle::before,
    .site-menu-toggle::after {
        left: 50%;
        width: 6.154vw;        /* 24px */
        height: 0.256vw;
        transform: translateX(-50%);
    }

    .site-menu-toggle::before {
        top: 2.051vw;
    }

    .site-menu-toggle::after {
        top: 3.077vw;
    }

    body.is-mobile-menu-open .site-menu-toggle::before {
        transform: translateX(-50%) translateY(0.513vw) rotate(16deg);
    }

    body.is-mobile-menu-open .site-menu-toggle::after {
        transform: translateX(-50%) translateY(-0.513vw) rotate(-16deg);
    }

    .site-brand {
        top: auto;
        bottom: 2.564vw;
        z-index: 8;
        width: 39.1267vw;
    }

    .site-brand__svg {
        width: 39.1267vw;
        max-width: 39.1267vw;
    }

    .caldo-home-intro-page .site-header {
        display: block;
        color: var(--theme-color-text);
        mix-blend-mode: normal;
    }

    .caldo-home-intro-page .site-footer,
    .caldo-home-intro-page .site-brand {
        display: none;
    }

    body.is-mobile-menu-open .site-header > .site-brand,
    body.is-about-overlay-open .site-brand {
        display: grid;
    }

    .site-nav,
    .site-bag {
        display: none;
    }

    .site-mobile-menu {
        display: block;
        position: fixed;
        inset: 0;
        gap: 0;
        padding: 0 var(--m-gutter);
        color: var(--theme-color-text);
        font-size: var(--m-menu-text);
        font-style: normal;
        font-weight: 350;
        line-height: var(--m-menu-line);
        letter-spacing: var(--m-menu-track);
        text-align: center;
        background: rgba(245, 243, 237, 0.90);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .site-mobile-menu__brand {
        display: none;
    }

    .site-mobile-menu > a:not(.site-mobile-menu__policy) {
        position: absolute;
        top: calc(50svh - (var(--m-menu-line) * 2.5));
        right: var(--m-gutter);
        left: var(--m-gutter);
        display: block;
        margin: 0;
    }

    .site-mobile-menu > a:nth-of-type(2):not(.site-mobile-menu__policy) {
        top: calc(50svh - (var(--m-menu-line) * 1.5));
    }

    .site-mobile-menu > a:nth-of-type(3):not(.site-mobile-menu__policy) {
        top: calc(50svh - (var(--m-menu-line) * 0.5));
    }

    .site-mobile-menu > a:nth-of-type(4):not(.site-mobile-menu__policy) {
        top: calc(50svh + (var(--m-menu-line) * 0.5));
    }

    .site-mobile-menu > a:nth-of-type(5):not(.site-mobile-menu__policy) {
        top: calc(50svh + (var(--m-menu-line) * 1.5));
    }

    .site-mobile-menu__policy,
    .site-mobile-menu__rights {
        color: var(--theme-color-muted);
        font-size: var(--m-small-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0;
    }

    .site-mobile-menu__policy {
        position: absolute;
        top: 78svh;
        right: var(--m-gutter);
        left: var(--m-gutter);
        margin: 0;
        transform: translateY(-50%);
    }

    .site-mobile-menu__rights {
        position: absolute;
        right: var(--m-gutter);
        bottom: 2.564vw;
        left: var(--m-gutter);
        margin: 0;
    }

    .intro-hero,
    .intro-hero__link {
        min-height: 100svh;
    }

    .intro-hero__text,
    .checkout-page__title,
    .product-hero__title,
    .product-specs__title,
    .thank-you-page p,
    .shop-product__name {
        font-size: var(--m-spaced-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: var(--m-spaced-track);
        text-transform: uppercase;
    }

    .shop-archive {
        min-height: auto;
        padding: 0 0 15.385vw;
    }

    .shop-archive__list,
    .shop-archive--single .shop-archive__list,
    .shop-archive--grid .shop-archive__list {
        display: grid;
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        justify-items: center;
        gap: 15.385vw;
        width: 100%;
        padding: 46.923vw 0 0;
    }

    .shop-archive--single {
        align-items: start;
    }

    .shop-archive--single .shop-product,
    .shop-archive--grid .shop-product {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        justify-content: flex-start;
        min-height: 0;
        width: 100%;
        text-align: center;
    }

    .shop-product__copy {
        display: grid;
        gap: 0;
        width: auto;
        max-width: 74.359vw;
        margin-top: 2.564vw; /* 10px */
    }

    .shop-product__summary {
        display: none;
    }

    .shop-product__preview {
        position: static;
        display: block;
        width: 75.385vw; /* 294px on 390px design base */
        max-width: 294px;
        opacity: 1;
        pointer-events: none;
        transform: none;
        transition: none;
    }

    .shop-product__preview-asset {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: auto;
        object-fit: contain;
    }

    .shop-product:hover .shop-product__preview,
    .shop-product:focus-visible .shop-product__preview,
    .shop-product.is-focused .shop-product__preview {
        transform: none;
    }

    .shop-archive-about {
        display: grid;
        gap: 11.282vw;
        padding: 0 5.1282vw 4.872vw;
        color: var(--theme-color-text);
        font-size: var(--m-small-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0;
        text-align: left;
    }

    .shop-archive-about__address,
    .shop-archive-about__hours,
    .shop-archive-about__body {
        display: block;
    }

    .shop-archive-about p {
        margin: 0;
    }

    .shop-archive-about__body {
        margin-top: 2.051vw;
    }

    .shop-archive-about__top {
        justify-self: center;
        margin: 9.231vw 0 8.205vw;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: inherit;
        font: inherit;
        line-height: normal;
        text-align: center;
        cursor: pointer;
    }

    .product-hero {
        display: grid;
        grid-template-rows: calc((100svh - var(--m-header-height)) * 0.33) auto calc((100svh - var(--m-header-height)) * 0.33) 1fr;
        justify-items: center;
        align-items: center;
        min-height: 100svh;
        padding: var(--m-header-height) 0 0;
        overflow: hidden;
    }

    .product-hero__illustration {
        top: var(--m-header-height);
        bottom: 8.718vw;
        width: 100vw;
        max-width: 100vw;
        height: calc(100svh - var(--m-header-height) - 8.718vw);
        /* opacity: 0.22; */
        object-fit: contain;
    }

    .product-hero__summary,
    .about-page__top,
    .about-page__body {
        font-size: var(--m-large-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    .product-hero__summary {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0 var(--m-gutter);
    }

    .product-hero__kicker,
    .product-hero__price,
    .product-module--text,
    .product-specs,
    .simple-content-page,
    .legal-section__body,
    .checkout-page__woocommerce {
        font-size: var(--m-small-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    .product-hero__kicker {
        align-self: center;
        margin: 0;
    }

    .product-hero__price {
        align-self: start;
        margin-top: 2.051vw;
    }

    .product-hero__actions {
        position: fixed;
        --product-actions-bottom: 3.846vw;
        bottom: 0;
        left: 50%;
        z-index: 20;
        display: flex;
        gap: 1.538vw;
        justify-content: center;
        margin-top: 0;
        transform: translateX(-50%);
        padding-bottom: 3.846vw;
    }

    .product-pill,
    .checkout-page__woocommerce #place_order,
    .checkout-page__woocommerce .button,
    .caldo-checkout__button,
    .caldo-checkout-coupon button,
    .thank-you-page a {
        min-height: var(--m-button-height);
        padding: 0 3.59vw;
        font-size: var(--m-button-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        border-radius: 999px;
    }

    .site-notice {
        top: calc(var(--m-header-height) + 2.564vw);
        max-width: calc(100vw - (var(--m-gutter) * 2));
        min-height: var(--m-button-height);
        padding: 0 3.59vw;
        border-radius: 999px;
        font-size: var(--m-button-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        transform: translate(-50%, -2.051vw);
    }

    .site-notice.is-visible {
        transform: translate(-50%, 0);
    }

    .product-hero-media,
    .product-modules,
    .product-module--media-grid {
        gap: 0;
    }

    .product-module--media-grid,
    .product-specs,
    .product-specs__tables {
        grid-template-columns: 1fr !important;
    }

    .product-media--full .product-media__asset,
    .product-module--media-grid .product-media__asset {
        min-height: 0;
    }

    .product-module--text {
        --product-text-gutter: var(--m-gutter);
        height: 0;
        min-height: 0;
        padding: 0;
    }

    .product-specs {
        gap: 5.641vw;
        min-height: 0;
        padding: 5.128vw var(--m-gutter) 13.846vw;
    }

    .product-specs__title,
    .product-specs__price,
    .product-specs__summary,
    .product-specs__archive,
    .product-specs__tables {
        grid-column: 1;
        grid-row: auto;
    }

    .product-specs__price {
        position: static;
        width: auto;
        justify-self: center;
        margin-top: 0;
        line-height: normal;
        text-align: center;
    }

    .product-specs__archive {
        justify-self: center;
        order: 10;
        margin-top: 22.231vw;
    }
.product-media{
       margin: 6.25vw 0;
}
    .product-specs__tables {
        gap: 5.641vw;
    }

    .product-specs th {
        width: 18.462vw;
    }

    .about-page {
        --about-top-padding: var(--m-content-top);
        --about-bottom-padding: 4.872vw;
        --about-body-gap: 12.821vw;
        --about-links-gap: 6.667vw;
        --about-image-gap: 7.949vw;
        --about-footer-gap: 8.462vw;
        padding-right: var(--m-gutter);
        padding-left: var(--m-gutter);
        text-align: left;
    }

    .about-overlay .about-page {
        --about-top-padding: var(--m-content-top);
    }

    .about-page__top {
        grid-template-columns: 1fr;
        gap: 12.051vw;
        order: 1;
        width: 100%;
        text-align: left;
    }

    .about-page__top > div:last-child {
        justify-self: start;
    }

    .about-page__body {
        order: 2;
        max-width: none;
        margin-top: var(--about-body-gap);
        text-align: left;
    }

    .about-page__image {
        order: 4;
        flex: 1 1 auto;
        display: grid;
        place-items: center;
        width: 100%;
        max-width: none;
        margin-top: 0;
        margin-right: 0;
        margin-left: 0;
        padding: var(--about-image-gap) 0;
    }

    .about-page__links {
        order: 3;
        justify-items: start;
        margin-top: 7.179vw;
        font-size: var(--m-button-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    .about-page__links a {
        justify-self: start;
        width: fit-content;
        max-width: 100%;
    }

    .about-page__footer {
        order: 5;
        justify-items: start;
        font-size: 2.564vw; /* 10px */
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        text-align: left;
        gap: 0;
    }

    .simple-content-page {
        padding: var(--m-content-top) 5.1282vw 16.41vw;
    }

    .simple-content-page--legal {
        padding: var(--m-content-top) 5.1282vw 16.41vw;
    }

    .simple-content-page__title {
        margin-bottom: 13.846vw;
        letter-spacing: 2.051vw;
    }

    .simple-content-page--legal .simple-content-page__title {
        max-width: none;
        margin-bottom: 13.846vw;
    }

    .legal-section {
        grid-template-columns: 1fr;
        gap: 3.59vw;
    }

    .simple-content-page--legal .legal-section {
        grid-template-columns: 1fr;
    }

    .legal-section + .legal-section {
        margin-top: 10.769vw;
    }

    .simple-content-page--legal .legal-section + .legal-section {
        margin-top: 10.769vw;
    }

    .legal-section h2,
    .legal-section__body {
        grid-column: 1;
    }

    .simple-content-page--legal .legal-section h2,
    .simple-content-page--legal .legal-section__body {
        grid-column: 1;
    }

    .legal-section__body {
        max-width: none;
    }

    .simple-content-page--legal .legal-section__body {
        max-width: none;
    }

    .checkout-page {
        display: block;
        min-height: auto;
        padding: var(--m-content-top) var(--m-gutter) 14.359vw;
    }

    .checkout-page__title {
        margin-bottom: 15.385vw;
    }

    .checkout-page__woocommerce form.checkout.caldo-checkout {
        display: flex;
        flex-direction: column;
        gap: 15.385vw;
        align-items: stretch;
    }

    .checkout-page__woocommerce form.checkout.caldo-checkout::before,
    .checkout-page__woocommerce form.checkout.caldo-checkout::after {
        display: none;
    }

    .caldo-checkout__progress {
        display: none;
    }

    .caldo-checkout__progress-item {
        grid-template-columns: 1fr;
        gap: 0;
        border: 0;
        padding: 0;
        text-align: center;
    }

    .caldo-checkout__progress-item span:last-child {
        display: none;
    }

    .caldo-checkout__step {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 7.692vw;
        min-height: 0;
        opacity: 1 !important;
        pointer-events: auto !important;
        visibility: visible !important;
        transform: none !important;
    }

    .caldo-checkout__step + .caldo-checkout__step {
        border-top: 1px solid var(--theme-color-text);
        padding-top: 9.385vw;
        padding-left: 0;
    }

    .caldo-checkout__step.is-active {
        display: grid;
        grid-template-columns: 1fr;
    }

    .caldo-checkout__step .caldo-checkout__number {
        display: block;
        margin: 0;
        text-align: left;
    }

    .caldo-checkout__step[data-caldo-checkout-step="1"] .caldo-checkout__panel,
    .caldo-checkout__step[data-caldo-checkout-step="2"] .caldo-checkout__panel,
    .caldo-checkout__step[data-caldo-checkout-step="3"] .caldo-checkout__panel {
        width: 100%;
        margin-left: 0;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .caldo-checkout__actions,
    .checkout-page__woocommerce .caldo-checkout__payment-back {
        display: none !important;
    }

    .checkout-page__woocommerce .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr;
        gap: 3.846vw;
    }

    .checkout-page__woocommerce #billing_postcode_field,
    .checkout-page__woocommerce #billing_city_field,
    .checkout-page__woocommerce #billing_state_field {
        grid-column: 1;
    }

    .checkout-page__woocommerce input.input-text,
    .checkout-page__woocommerce textarea,
    .checkout-page__woocommerce select,
    .checkout-page__woocommerce .select2-container,
    .caldo-checkout-coupon input {
        max-width: calc(100vw - (var(--m-gutter) * 2)) !important;
    }

    .checkout-page__woocommerce input.input-text, .checkout-page__woocommerce textarea, .checkout-page__woocommerce select, .checkout-page__woocommerce .select2-container .select2-selection--single, .caldo-checkout-coupon input, .checkout-page__woocommerce .wc-stripe-elements-field, .checkout-page__woocommerce .wc-stripe-iban-element-field {
        min-height: var(--m-field-height);
        padding-right: 3.59vw;
        padding-left: 3.59vw;
        font-size: var(--m-button-text);
        line-height: normal;
    }

    .caldo-delivery-options {
        align-items: flex-start;
        gap: 5.641vw;
    }

    .caldo-review-product {
        grid-template-columns: 10.769vw minmax(0, 1fr);
    }

    .caldo-review-product__media {
        width: 10.769vw;
    }

    .caldo-review-product__image {
        width: 10.769vw;
        height: 8.205vw;
    }

    .caldo-checkout-coupon__row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 2.564vw;
    }

    .checkout-page__woocommerce .place-order {
        margin-top: 7.179vw;
    }

    .site-footer {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: minmax(17vw, 1fr) auto 15.385vw auto auto;
        justify-items: start;
        align-items: start;
        /* min-height: 80vw; */
        padding: 0 5.1282vw 4.872vw;
        text-align: left;
    }

    .site-footer__nav {
        display: contents;
    }

    .site-footer__brand {
        display: none;
    }

    .site-footer__instagram,
    .site-footer__contact {
        grid-column: 1;
        justify-self: start;
        color: inherit;
        font-size: var(--m-button-text);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0;
        text-align: left;
    }

    .site-footer__instagram {
        grid-row: 1;
    }

    .site-footer__contact {
        grid-row: 2;
    }

    .site-footer__policy,
    .site-footer__rights {
        grid-column: 1;
        justify-self: start;
        color: inherit;
        font-size: 2.564vw; /* 10px */
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0;
        text-align: left;
    }

    .site-footer__policy {
        grid-row: 4;
    }

    .site-footer__rights {
        grid-row: 5;
    }

    body .about-overlay[hidden] > .about-page,
    body .about-overlay[aria-hidden="true"]:not(.is-open) > .about-page,
    body.post-type-archive-product .site-footer .about-page,
    body.woocommerce-shop .site-footer .about-page,
    body.post-type-archive-product .site-main + .about-page,
    body.woocommerce-shop .site-main + .about-page {
        display: none !important;
        visibility: hidden !important;
    }

    .thank-you-page {
        min-height: calc(100svh );
        align-content: center;
        gap: 6.59vw;
        padding: 0 var(--m-gutter) 34vw;
        padding-top: 34vw;
    }

    .thank-you-page p {
        max-width: 82.051vw;
    }
}
