/*!
Theme Name: glace-cryo
 */
/* 
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&display=swap'); */


html {
    -webkit-text-size-adjust: 100%;
}

/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}


/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

/* Interactive
	========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/* Misc
	========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

/* Box sizing
--------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: #fff9c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

/* Elements
--------------------------------------------- */

hr {
    background-color: #999999;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
}

ul,
ol {
    margin: 0 0 0 1.5em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li>ul,
li>ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt {
    font-weight: 700;
}

dd {
    margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
    max-width: 100%;
}

img {
    height: auto;
    max-width: 100%;
}

figure {
    margin: 1em 0;
}

table {
    margin: 0 0 1.5em;
    width: 100%;
}

/* Global styles */


body {
    background-color: #f9fbfd;
    color: #0f172a;
    font-family: 'Quicksand', sans-serif;
    line-height: 1.6;
}


.cryo-gradient {
    background: linear-gradient(180deg, #051a33 0%, #0d2c54 100%);
}

.cryo-gradient-card {
    background: linear-gradient(135deg, #0d2c54 0%, #051a33 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.cryo-gradient-card-reverse {
    background: linear-gradient(270deg, #0d2c54 0%, #051a33 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.ice-shadow {
    box-shadow: 0 0 15px rgba(79, 195, 247, 0.5);
}

.text-shadow-frost {
    text-shadow: 0 0 10px rgba(79, 195, 247, 0.5);
}

.font-cryo {
    font-family: 'Quicksand', sans-serif;
}

.font-ice {
    font-family: 'Rajdhani', sans-serif;
}

.font-orbitron {
    font-family: 'Orbitron', sans-serif;
}

.font-montserrat {
    font-family: 'Montserrat', sans-serif;
}

.skip-link {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 50;
    background-color: #4fc3f7;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    transform: translateY(-5rem);
    transition: transform 0.3s ease;
}

.skip-link:focus {
    transform: translateY(0);
}

.container-custom {
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 80rem;
}

@media (min-width: 640px) {
    .container-custom {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .container-custom {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.parallax-bg {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.frost-card {
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(16px);
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.btn-enhanced {
    transition: all 0.2s;
    transform: scale(1);
}

.btn-enhanced:hover,
.btn-enhanced:focus {
    transform: scale(1.05);
    outline: none;
    box-shadow: 0 0 0 2px #4fc3f7, 0 0 0 4px #051a33;
}

.loading-shimmer {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media (prefers-contrast: high) {
    .text-shadow-frost {
        text-shadow: none;
    }

    .ice-shadow {
        box-shadow: 0 0 0 2px currentColor;
    }
}

@media print {
    .no-print {
        display: none !important;
    }
}


@keyframes fall {
    0% {
        transform: translateY(-20px);
    }

    100% {
        transform: translateY(100vh);
    }
}

@keyframes fade {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    80% {
        opacity: 0.8;
    }

    100% {
        opacity: 0;
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(180deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


/* Header */

.nav-menu-primary li {
    position: relative;
}

.nav-menu-primary>.menu-item>a {
    text-transform: uppercase;
}


header .sub-menu {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    padding: 12px 0 12px 16px;
    margin: 0;
}

@media screen and (min-width: 1180px) {
    header .sub-menu {
        display: flex;
        flex-direction: column;
        gap: 12px;
        position: absolute;
        left: -85px;
        top: 100%;
        width: 400px;
        padding: 1.5rem;
        background-color: rgb(5 26 51 / 95%);
        backdrop-filter: blur(12px);
        border: 1px solid rgba(34, 211, 238, 0.2);
        border-radius: 0.5rem;
        box-shadow:
            0 20px 25px -5px rgba(0, 0, 0, 0.1),
            0 8px 10px -6px rgba(0, 0, 0, 0.1);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px);
        transition: all 0.3s ease-in-out;
    }

    .nav-menu-primary>.menu-item:hover .sub-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(0);
    }
}

header .sub-menu li a {
    display: flex;
    border-radius: 8px;
    padding: 8px;
}

header .sub-menu li a:hover {
    background-color: rgb(79 195 247 / 10%);
}

header .sub-menu .menu-item {
    position: relative;
}

header .sub-menu .menu-item a::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 12px;
    border-radius: 16px;
    transition: transform .15s cubic-bezier(.4, 0, .2, 1);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

header .sub-menu .menu-item a:hover::before {
    transform: scale(1.1);
}

header .sub-menu .menu-item.whole-body-cryotherapy a::before {
    background-image: url("./images/cryotheraphy.svg");
}

header .sub-menu .menu-item.cryo-facial a::before {
    background-image: url("./images/cryo-facial.svg");
}

header .sub-menu .menu-item.local-cryotherapy a::before {
    background-image: url("./images/local-cryo.svg");
}

header .sub-menu .menu-item.mobile-cryotherapy a::before {
    background-image: url("./images/mobile-cryotherapy.svg");
}

header .sub-menu .menu-item.emerald-laser-therapy a::before {
    background-image: url("./images/emerald.svg");
}

header .sub-menu .menu-item.light-therapy a::before {
    background-image: url("./images/light-theraphy.svg");
}

header .sub-menu .menu-item.infrared-sauna a::before {
    background-image: url("./images/infrared.svg");
}

header .sub-menu .menu-item.compression-therapy a::before {
    background-image: url("./images/compression.svg");
}

header .sub-menu .menu-item.theragun-massage a::before {
    background-image: url("./images/theragun.svg");
}

header .sub-menu .menu-item.vibration-plate-therapy a::before {
    background-image: url("./images/vibration-plate.svg");
}

@media screen and (max-width: 1179px) {
    .nav-menu-primary>.menu-item {
        border-bottom: 1px solid #374151;
        padding: 12px 0;
    }

    .menu-drawer {
        display: none;
    }
}

.current-menu-item>a,
.current-menu-parent>a {
    color: #4fc3f7;
}

header .sub-menu .current-menu-item a {
    background-color: rgb(79 195 247 / 10%);
}

/* Swiper pagination */

.swiper-pagination .swiper-pagination-bullet {
    background-color: #6b7280;
    opacity: 1;
    width: 12px;
    height: 12px;
    margin: 0 6px !important;
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #4fc3f7;
    opacity: 1;
}

.swiper-slide img {
    transition: 3s all;
    transform: scale(1.2);
}

.swiper-slide-active img {
    animation: scale 5s ease forwards;
}

@keyframes scale {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.2);
    }
}

.social-profiles a.group svg {
    width: 22px !important;
    height: 22px !important;
    display: block;
    /* prevents inline spacing issues */
}


/* Error Messages Form */

.wpcf7 form .wpcf7-response-output {
    /*display: none;*/
    position: fixed;
    top: 120px;
    right: 0;
    background: #134286;
    border: 0;
    color: #FFF;
    padding: 16px;
    margin: 0;
    border-left: 5px solid transparent;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    z-index: 999;
    font-weight: 600;
    font-size: 14px;
    font-family: 'Rajdhani', sans-serif;
}

.wpcf7 form.sent .wpcf7-response-output {
    background: #46b450;
    border-color: #00a70f;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    background: #dc3232;
    border-color: #bb0a0a;
}

.wpcf7 form.spam .wpcf7-response-output {
    background: #f56e28;
    border-color: #d14f0b;
    /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    background: #ffb900;
    border-color: #d99e03;
    /* Yellow */
}


.blog-detail-inner-content p,
.blog-detail-inner-content h1,
.blog-detail-inner-content h2,
.blog-detail-inner-content h3,
.blog-detail-inner-content h4,
.blog-detail-inner-content h5,
.blog-detail-inner-content h6 {
    margin-bottom: 16px;
}

.blog-detail-inner-content ul,
.blog-detail-inner-content ol {
    margin-left: 24px;
}

.blog-detail-inner-content ul li,
.blog-detail-inner-content ol li {
    margin-bottom: 10px;
}

.blog-detail-inner-content ul {
    list-style-type: disc;
}

.blog-detail-inner-content ol {
    list-style-type: auto;
}


.blog-detail-inner-content a {
    color: #1e88e5;
    font-weight: 500;
    text-decoration: underline;
}

.blog-detail-inner-content a:hover {
    text-decoration: none;
}

/* Site map */

.sitemap h1,
.sitemap h2 {
    color: #FFF;
    margin-bottom: 20px;
}

.sitemap a {
    color: #FFF;
    font-weight: 400;
}

.sitemap a:hover {
    color: #4fc3f7;
}

.sitemap-inner {
    padding-left: 0;
}

.sitemap-inner ul {
    padding-left: 32px;
}

.sitemap-inner>ul {
    padding-left: 18px;
}

.sitemap-inner li {
    padding: 16px;
    position: relative;
    color: #FFF;
}

.sitemap-inner li::after {
    content: "";
    content: "";
    position: absolute;
    border-width: 1px;
    z-index: 0;
    top: 28px;
    left: -18px;
    width: 24px;
    border-top-style: initial;
    border-color: #153e5f;
}

.sitemap-inner li::before {
    content: "";
    content: "";
    position: absolute;
    border-width: 1px;
    z-index: 0;
    position: absolute;
    top: 0;
    left: -18px;
    height: 150%;
    border-top-style: none;
    border-left-style: initial;
    border-color: #153e5f;
}

.sitemap-inner li:last-child:before {
    border: 0;
    border-left: 1px solid #153e5f;
    height: 29px;
}

.sitemap-inner>ul {
    border-left: 1px solid #153e5f;
}

.sitemap-inner>ul:last-child>li:last-child,
.sitemap-inner>ul:last-child>li:last-child>ul>li:last-child {
    padding-bottom: 0;
}

.sitemap-inner>ul>li:before {
    content: none;
}

.blog-post-link-wrapper {
    padding-left: 0;
    list-style: decimal;
    list-style-position: inside;
}

.blog-post-link-wrapper li {
    padding: 20px 0;
}

.blog-post-link-wrapper li:not(:last-child) {
    border-bottom: 1px solid #153e5f;
}

.blog-post-link-wrapper li::marker {
    color: #FFF;
}

.blog-post-link-wrapper li:has(a:hover)::marker {
    color: #4fc3f7;
}


/* T&C and Privacy Policy */
body.page-template-default article.page .entry-header {
    margin-bottom: 32px;
}

body.page-template-default article.page p,
body.page-template-default article.page h1,
body.page-template-default article.page h2,
body.page-template-default article.page h3,
body.page-template-default article.page h4,
body.page-template-default article.page h5,
body.page-template-default article.page h6 {
    margin-bottom: 16px;
}

body.page-template-default article.page ul,
body.page-template-default article.page ol {
    margin-bottom: 16px;
    padding-left: 24px;
}

body.page-template-default article.page ol li {
    list-style-type: decimal;
}

body.page-template-default article.page ul li {
    list-style-type: disc;
}

body.page-template-default article.page ul li:not(:last-child),
body.page-template-default article.page ol li:not(:last-child) {
    margin-bottom: 14px;
}

body.page-template-default article.page a {
    text-decoration: underline;
    word-wrap: break-word;
}

/* Breadcrump Slide effects */

/* .breadcrump-slide {
    position: relative;
}

.breadcrump-slide::before,
.breadcrump-slide::after {
    content: "";
    width: 32px;
    height: 100%;
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.breadcrump-slide::before {
    left: 0;
    background: linear-gradient(90deg, #fff 20%, rgba(255, 255, 255, 0) 100%);
}

.breadcrump-slide::after {
    right: 0;
    background: linear-gradient(-90deg, #fff 20%, rgba(255, 255, 255, 0) 100%);
} */

/* Base styling for arrow toggle */
.submenu-toggle {
    position: absolute;
    right: 15px;
    top: 12px;
    transform: translateY(-50%) rotate(0deg);
    cursor: pointer;
    font-size: 22px;
    color: white; /* match your theme */
    transition: transform 0.3s ease;
    }
    
    /* Rotates arrow when submenu is open */
    .submenu-toggle.open {
    transform: translateY(-50%) rotate(180deg);
    }
    
    /* Optional hover effect */
    .submenu-toggle:hover {
    color: #ffffff;
    }