/* Fonts */
/* marcellus-regular - latin_latin-ext */
@font-face {
    font-display: fallback;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Marcellus';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/marcellus-v14-latin_latin-ext-regular.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-200 - latin_latin-ext */
@font-face {
    font-display: fallback;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 200;
    src: url('../fonts/inter-v20-latin_latin-ext-200.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-200italic - latin_latin-ext */
@font-face {
    font-display: fallback;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: italic;
    font-weight: 200;
    src: url('../fonts/inter-v20-latin_latin-ext-200italic.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-regular - latin_latin-ext */
@font-face {
    font-display: fallback;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/inter-v20-latin_latin-ext-regular.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-italic - latin_latin-ext */
@font-face {
    font-display: fallback;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/inter-v20-latin_latin-ext-italic.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-600 - latin_latin-ext */
@font-face {
    font-display: fallback;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/inter-v20-latin_latin-ext-600.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-600italic - latin_latin-ext */
@font-face {
    font-display: fallback;

    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: italic;
    font-weight: 600;
    src: url('../fonts/inter-v20-latin_latin-ext-600italic.woff2') format('woff2');

    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
    /* Colors: */
    --primary-coral: #D86C5D;
    --primary-beige: #EDE3D9;
    --secondary-beige: #F2E9DF;
    --secondary-gold: #A39267;
    --secondary-espresso: #422D2B;
    --secondary-bg: #F2EFE9;
    --unnamed-color-707070: #707070;
    --swiper-theme-color: var(--primary-coral);
    --swiper-pagination-color: rgba(255, 255, 255, 0.8);
    --swiper-pagination-bullet-inactive-color: rgba(255, 255, 255, 0.8);
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-size: 16px;
    --swiper-pagination-bottom: 40px;
    --swiper-navigation-color: var(--primary-coral);
}

h1 {
    /* font-size: 2.986rem; */
    font-size: clamp(2.0275rem, 1.7948rem + 0.9929vw, 2.98625rem);
    margin-bottom: 1.493rem;
}

h2 {
    /* font-size: 2.488rem; */
    font-size: clamp(1.801875rem, 1.6353rem + 0.7107vw, 2.488125rem);
    margin-bottom: 1.244rem;
}

h3 {
    /* font-size: 2.074rem; */
    font-size: clamp(1.601875rem, 1.4873rem + 0.4887vw, 2.07375rem);
    margin-bottom: 1.037rem;
}

h4 {
    /* font-size: 1.728rem; */
    font-size: clamp(1.42375rem, 1.3499rem + 0.3152vw, 1.728125rem);
    margin-bottom: 0.864rem;
}

h5 {
    /* font-size: 1.44rem; */
    font-size: clamp(1.265625rem, 1.2233rem + 0.1806vw, 1.44rem);
    margin-bottom: 0.72rem;
}

h6 {
    /* font-size: 1.2rem; */
    font-size: clamp(1.125rem, 1.1068rem + 0.0777vw, 1.2rem);
    margin-bottom: 0.6rem;
}

.swiper-pagination-bullet-active {
    width: 50px !important;
    border-radius: 8px !important;
}

.swiper-pagination-bullet {
    border-radius: 8px !important;
    transition: all 1s ease-out;
}

.swiper-slide {
    height: 100%;
}

html,
body {
    overflow-x: hidden;
    font-size: clamp(0.975rem, calc(0.968912rem + 0.00161812vw), 1rem);
}

.navbar-brand .logo {
    height: clamp(2rem, 1.8558rem + 0.641vw, 2.625rem);
}

.offcanvas-backdrop {
    background: rgba(0,0,0,0.2);
    backdrop-filter: blur(19px);
    -webkit-backdrop-filter: blur(19px);
}

/* Alap CSS változó és reszponzív érték */
:root {
    --wp-adminbar-height: 32px;
}

body.admin-bar {
    --wp-adminbar-height: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar {
        --wp-adminbar-height: 46px;
    }
}

/* Utility osztály, ami a változót használja */
body.admin-bar .wp-adminbar-offset {
    top: var(--wp-adminbar-height) !important;
}

/* Például gyakori sablon-fixelemek (ha nincs osztály hozzáadva) */
body.admin-bar .fixed-top,
body.admin-bar .site-header,
body.admin-bar header.site-header,
body.admin-bar .navbar-fixed-top {
    top: var(--wp-adminbar-height);
}

nav.navbar {
    backdrop-filter: blur(23px);
    -webkit-backdrop-filter: blur(23px);
    background-color: rgba(255, 255, 255, 0.7);
}

main {
    padding-top: 69px;
}

.menu-logo {
    min-height: clamp(6.25rem, 5.8029rem + 1.9872vw, 8.1875rem);
    width: auto;
}

.btn {
    text-transform: uppercase;
}

.dermart-corner {
    /* border-top-right-radius: 191px; */
    border-top-right-radius: clamp(8.875rem, 8.1317rem + 3.1715vw, 11.9375rem);
    overflow: hidden;
}

.dermart-corner-sm {
    border-top-right-radius: 142px;
    overflow: hidden;
}

.dermart-line {
    border: clamp(0.125rem, 0.0208rem + 0.463vw, 0.1875rem) solid var(--primary-coral);
    overflow: hidden;
    display: flex;
    flex-direction: column;

    /* padding: 32px; */
    padding: clamp(1rem, 0.7573rem + 1.0356vw, 2rem);

    /* border-top-right-radius: 170px; */
    border-top-right-radius: clamp(8.3125rem, 7.7512rem + 2.3948vw, 10.625rem);
    justify-content: flex-end;
    outline: 0 solid var(--primary-coral);
    transition: outline 1s ease-in-out;
}

.coral-shade .dermart-line {
    border-color: #ffffff;
}

.coral-shade {
    color: #ffffff;
}

.dermart-corner-sm .dermart-line,
.dermart-corner-sm .dermart-line-secondary {
    border-top-right-radius: 126px;
    padding: 19px;
}

.card .dermart-line {
    min-height: 100%;
}

.dermart-line-secondary {
    border: clamp(0.125rem, 0.0208rem + 0.463vw, 0.1875rem) solid var(--secondary-beige);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: clamp(1.125rem, 0.9231rem + 0.8974vw, 2rem);
    border-top-right-radius: clamp(8.3125rem, 7.7512rem + 2.3948vw, 10.625rem);
    justify-content: flex-end;
    outline: 0 solid var(--primary-coral);
    transition: outline 1s ease-in-out;
}

.white-shade {
    /* background: transparent linear-gradient(180deg, #FFFFFF00 0%, #FFFFFF00 26%, #FFFFFFD9 72%, #FFFFFFD8 100%) 0% 0% no-repeat padding-box */
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 47%, rgba(255, 255, 255, 0.9) 67%);
}

.coral-shade {
    /* background: transparent linear-gradient(180deg, #FFFFFF00 0%, #FFFFFF00 26%, #FFFFFFD9 72%, #FFFFFFD8 100%) 0% 0% no-repeat padding-box */
    background: linear-gradient(180deg, rgba(216, 108, 93, 0) 30%, rgba(216, 108, 93, 0.85) 77%, rgba(216, 108, 93, 0.9) 87%);
}

.dermart-card {
    /* height: 720px */
    /* max-height: 80vh */
}

.dermart-post {
    height: 720px;
    max-height: 65vh;
}

.dermart-card .card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dermart-menu {
    font-family: Marcellus;
    font-size: min(6vh, 38px);
}

.dermart-menu a {
    text-decoration: none;
}

.dermart-menu ul {
    list-style-type: none;
    padding-left: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

.footer-legal {
    padding: 12px;
    display: flex;
    justify-content: center;
}

.footer-content a {
    color: var(--primary-beige);
    text-decoration: none;
}

.footer-content h1,
.footer-content h2,
.footer-content h3,
.footer-content h4,
.footer-content h5,
.footer-content h6 {
    color: var(--primary-beige);
}

.footer-content ul.menu {
    list-style-type: none;
    font-size: 120%;
}

.footer-content {
    border-top-right-radius: 118px;
}

.footer-logo {
    height: 140px;
}

/* Align wide anf full */
/* Base content container (normal alignment) - Uses Bootstrap's .container max-widths implicitly */
.entry-content > *:not(.alignwide):not(.alignfull) {
    max-width: 100%;
    width: 100%;
}

/* Alignfull: Full viewport width, breaking out of container */
.alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: 100vw !important;
    width: 100vw  !important;
    position: relative;
    left: 0;
}

/* Ensure images/media in alignfull scale to full width */
/* .entry-content .alignfull img, */
.entry-content .alignfull .wp-block-cover__image-background,
.entry-content .alignfull video {
    width: 100vw;
    max-width: 100vw;
    height: auto;
}

/* Inner content in alignfull can use Bootstrap container for padding/structure */
/* .entry-content .alignfull > .container,
.entry-content .alignfull > .row {
    max-width: 100% !important;

    /* Override any theme.json contentSize 
    width: 100%;
    margin: 0 auto;
} */
/* Alignwide: Wider than content but capped (e.g., Bootstrap lg/xl equivalent), responsive */
.entry-content .alignwide {
    margin-left: calc((50% - 50vw)/2);

    /* Center and extend to viewport edges */
    margin-right: calc((50% - 50vw)/2);
    max-width: 100vw;

    /* Full viewport width as fallback */
    width: 100vw;

    /* position: relative */
    /* left: 0 */
}

/* On larger screens, cap alignwide to a "wide" size (e.g., 1140px like Bootstrap lg) and center */
@media (min-width: 768px) {
    .entry-content .alignwide {
        /* max-width: 1140px; */
        /* Bootstrap 5.3 lg default; adjust to your wideSize */
        width: auto;

        /* margin-left: auto */
        /* margin-right: auto */
    }
}

@media (min-width: 992px) {
    .entry-content .alignwide {
        /* max-width: 1320px; */
        /* Bootstrap 5.3 xl default for even wider feel */
    }
}

/* Prevent overflow/horizontal scroll on small screens (Bootstrap xs/sm) */
@media (max-width: 767.98px) {
    .entry-content .alignwide,
    .entry-content .alignfull {
        margin-left: 0;
        margin-right: 0;
        max-width: 100%;
        width: 100%;
    }
}

.wp-singular .entry-content,
.wp-singular .page_header {
    max-width: 45rem;
    margin: 0 auto;
}

.wp-block-image img {
    max-width: 100%;
}

/* Button Block */
/* Base button styles (applied to .wp-element-button and .wp-block-button__link) */
.wp-element-button,
.wp-block-button__link {
    background-color: transparent;

    /* Dark gray background for a filled look */
    /* No border by default */
    border-radius: 0.375rem;

    /* Rounded corners for pill-like shape */
    box-shadow: none;

    /* No shadow by default */
    color: var(--primary-coral);

    /* White text */
    cursor: pointer;
    display: inline-block;
    font-family: inherit;

    /* Inherit from parent */
    font-size: 1rem;

    /* Base font size (matches body text) */
    font-weight: 400;

    /* Medium weight for emphasis */
    line-height: 1.5;

    /* Matches body line height */
    padding: 0.475rem 0.75rem;

    /* Vertical: ~0.875em (calc(0.667em + 2px)), Horizontal: ~1.25em (calc(1.333em + 2px)) for balanced padding */
    text-align: center;
    text-decoration: none;

    /* No underline */
    white-space: nowrap;

    /* Prevent text wrapping */
    word-break: break-word;

    /* Allow long words to break if needed */
    transition: background-color 0.1s ease-in-out, border-color 0.1s ease-in-out, color 0.1s ease-in-out;
    border: 1px solid var(--primary-coral);

    /* Smooth transitions for states */
}

/* Hover state */
.wp-element-button:hover,
.wp-block-button__link:hover {
    background-color: var(--primary-coral);

    /* Slightly darker gray on hover */
    color: #fff;

    /* Maintain white text */
}

/* Active/Focus state */
.wp-element-button:active,
.wp-block-button__link:active,
.wp-element-button:focus,
.wp-block-button__link:focus {
    background-color: #23282d;

    /* Even darker on active/focus */
    color: #fff;
    outline: 2px solid transparent;

    /* Focus outline for accessibility */
}

/* Wrapper for layout (e.g., alignment, multiple buttons) */
.wp-block-button {
    margin-bottom: 1.5em;

    /* Space below the block */
    text-align: center;
    text-transform: uppercase;

    /* Center alignment by default */
}

.wp-block-button.alignleft {
    text-align: left;
}

.wp-block-button.alignright {
    text-align: right;
}

/* For multiple buttons in a Buttons block */
.wp-block-buttons .wp-block-button {
    display: inline-block;

    /* Inline for horizontal layout */
    margin-right: 0.5em;

    /* Space between buttons */
    margin-bottom: 0;

    /* Remove bottom margin in groups */
}

.wp-block-buttons .wp-block-button:last-child {
    margin-right: 0;

    /* No margin on last button */
}

/* Responsive adjustments */
@media (max-width: 600px) {
    .wp-block-button {
        width: 100%;

        /* Full-width on small screens */
    }

    .wp-block-buttons .wp-block-button {
        display: block;

        /* Stack vertically on mobile */
        margin-right: 0;
        margin-bottom: 0.5em;
    }

    .wp-block-buttons .wp-block-button:last-child {
        margin-bottom: 0;
    }
}

/* Idézet */
blockquote {
    position: relative;

    /* for pseudos */
    color: #e74848;
    font-weight: normal;
    font-family: Marcellus;
    font-size: 1.5rem;
    line-height: 1.35;
    border: solid 2px;
    border-radius: 0 89px 0 0;
    padding: 50px 50px 20px 50px !important;
    margin: 50px;
}

cite {
    font-size: 1.2rem;
    text-align: right;
}

table {
    margin-bottom: 35px;
}

.hero-container {
    width: 100vw;

    /* max-height: 100vh; */
    position: relative;
    height: 100%;
}

@media (max-height: 850px) {
    /* Styles for viewport height >= value */
    .hero-container {
        /* max-height: 850px !important; */
    }
}

@media (min-width: 992px) {
    .hero-container {
        max-height: 100vh;
    }
}

section.hero {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: -69px;
}

.hero-image {
    width: 100%;
    object-fit: cover;
    object-position: 50% 0%;
    margin-top: 50px;
    min-height: 40vh;
}

@media (min-width: 768px) {
    .hero-image {
        height: 100%;
        min-height: 100vh;
        margin-top: 0;
    }
}

.hero-content {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-top: -100px;
    padding-bottom: 56px;
}

@media (min-width: 768px) {
    .hero-content {
        position: absolute;
        padding-top: 70px;
        padding-bottom: 70px;
        margin-top: 0;
    }
}

.hero-card {
    width: 100%;

    /* max-height: 640px */
    max-width: 420px;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    background-color: rgba(255, 255, 255, 0.72);
    padding: 0;
}

.dermart-card .card-img-overlay {
    /* padding: 24px; */
    padding: clamp(1rem, 0.8786rem + 0.5178vw, 1.5rem);
}

.hero .dermart-card .card-img-overlay {
    position: relative;
}

.hero-card .dermart-line {
    justify-content: space-between;

    /* padding-top: 70px; */
    padding-top: clamp(2.625rem, 2.2002rem + 1.8123vw, 4.375rem);
}

.dermart-submenu ul {
    padding-left: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-top: 54px;
    padding-bottom: 16px;
    font-size: 23px;
    font-family: Marcellus;
    color: var(--primary-coral);
}

.dermart-submenu li {
    list-style-type: none;
}

body {
    background-color: var(--secondary-bg);
}

.post-hero {
}

.post-card {
    max-height: 100%;
    height: 450px;
}

#post-hero {
}

.post-hero .hero-content {
    position: relative;
}

/* Ensure the video embed block takes full width of its container for alignfull and alignwide */
/* .wp-block-embed.is-type-video.is-provider-youtube.alignfull,
.wp-block-embed.is-type-video.is-provider-youtube.alignwide {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
} */
/* Maintain aspect ratio by adjusting the wrapper */
.wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;

    /* 16:9 aspect ratio (9/16 = 0.5625) */
    height: 0;
    overflow: hidden;
}

/* Make the iframe fill the wrapper while maintaining aspect ratio */
.wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Ensure alignfull stretches to full viewport width */
.wp-block-embed.is-type-video.is-provider-youtube.alignfull {
    max-width: 100vw;
}

/* Ensure alignwide respects theme's wide width */
.wp-block-embed.is-type-video.is-provider-youtube.alignwide {
    /* max-width: var(--wp--style--global--wide-size, 1170px) */
    /* Fallback to 1170px if theme variable not set */
}

.wp-block-embed {
    padding-top: 23px;
    padding-bottom: 23px;
}

.hero-swiper {
    width: 100%;
    min-height: 100%;
    background-color: var(--primary-beige);
}

.colleauge-card .card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.open-position-link {
    text-decoration: none;
}

.card .dermart-line:hover {
    outline: 25px solid var(--primary-coral);
}

.prices {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    width: 100%;

    /* Adjust as needed */
    position: relative;
}

ul.prices li {
    display: flex;
    padding: 8px 0;
    align-items: end;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;

    /* Optional: for spacing between list items */
}

.price_title {
    /* flex-shrink: 0 */
    /* Prevents title from shrinking */
    padding-right: 10px;
    display: inline-block;

    /* Space between title and dots */
}

.price_title span,
.price span {
    background-color: var(--primary-coral);
    z-index: 1;
    position: relative;
    overflow-wrap: normal;
    word-break: normal;
    margin-left: auto;
    margin-right: 0;
}

.price_title span {
    padding-right: 4px;
}

.price span {
    padding-left: 4px;
}

.dots {
    flex-grow: 1;

    /* Stretches to fill available space */
    background: repeating-linear-gradient(
    to right,
    var(--primary-beige) 0px, /* Start of dash */
    var(--primary-beige) 6px, /* Length of dash */
    transparent 6px, /* Start of gap */
    transparent 12px /* Length of gap */
  );
    height: 2px;

    /* Thickness of the dashed line */
    align-self: end;
    margin-bottom: 10px;
    display: inline-block;

    /* Vertically centers the line */
}

.price {
    flex-shrink: 0;

    /* Prevents price from shrinking */
    padding-left: 10px;
    display: inline-block;

    /* Space between dots and price */
    margin-left: auto;
    margin-right: 0;
}

ul.prices {
    padding-left: 0;
    font-family: Marcellus;
    font-size: clamp(1rem, 0.9135rem + 0.3846vw, 1.438rem);
}

.price-list {
    background-image: linear-gradient(180deg, var(--secondary-beige) 50%, var(--secondary-bg) 50%);
    font-size: 0.88rem;
}

.full-price-list {
    background-image: none;
}

.pagination .page-link {
    padding: 10px 18px;
}

.experience {
    column-gap: 3rem;
}

@media (min-width: 1200px) {
    .experience {
        column-count: 2;
    }
}

.hero-content .colleauge-card {
}

/* input[type="text"],
input[type="email"],
input[type="search"], */
select {
    text-transform: uppercase;
}

.treatment-card {
    /* height: 628px; */
    height: 475px;
}

.popular-treatments .treatment-card {
    width: 306px !important;
    height: 475px;
    max-height: 64vh;
}

.treatment-card .white-shade {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(251, 251, 251, 0.3) 48%, rgba(255, 255, 255, 0.85) 68%, rgba(255, 255, 255, 0.9) 77%);
}

.offcanvas {
    height: 100lvh;
}

section.treatments .treatment-category {
    height: 395px;
}

@media (min-width: 768px) {
    section.treatments .treatment-category {
        height: initial;
    }
}

.dermart-corner-sm .card-img-overlay {
    padding: 18px;
}

.popular-treatments-slider,
.news-slider {
    /* margin-left: 0 !important; */
    padding-bottom: 54px;
}

.popular-treatments-swiper .treatment-card,
.popular-treatments-swiper .colleauge-card,
.news-swiper .dermart-post,
.available-treatments-swiper .treatment-card,
.available-treatments-swiper .colleauge-card,
.available-colleagues-swiper .colleauge-card,
.related-contents-swiper .dermart-post {
    width: 424px;
    max-width: calc(100vw - 23px);
}

.popular-treatments-swiper .colleauge-card,
.available-treatments-swiper .colleauge-card {
    width: 300px;
}

.popular-treatments-swiper img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
}

.popular-treatments-swiper .swiper-slide,
.treatment-category-swiper .swiper-slide,
.news-swiper .swiper-slide,
.available-treatments-swiper .swiper-slide,
.available-colleagues-swiper .swiper-slide,
.related-contents-swiper .swiper-slide {
    width: initial;
    height: auto;
}

.popular-treatments-slider .swiper,
.treatment-category-swiper,
.news-slider .swiper,
.available-treatments-swiper,
.available-colleagues-swiper,
.related-contents-swiper {
    overflow: visible !important;

    /* Allow content to extend beyond container */
    /* width: 100vw; */
    /* Ensure full viewport width */
}

.treatment-category-swiper a {
    width: 300px;
    max-width: 75vw;
    display: block;
}

.popular-swiper-pagination,
.testimonials-slider-pagination,
.news-swiper-pagination,
.available-treatments-swiper-pagination,
.available-colleagues-swiper-pagination,
.related-contents-swiper-pagination,
.treatment-category-swiper-pagination {
    bottom: -64px !important;
}

.why-us-swiper-pagination {
    bottom: -18px !important;
}

.popular-treatments-swiper .swiper-button-prev,
.testimonials-slider .swiper-button-prev,
.news-swiper .swiper-button-prev,
.available-treatments-swiper .swiper-button-prev,
.available-colleagues-swiper .swiper-button-prev,
.related-contents-swiper .swiper-button-prev,
.treatment-category-swiper .swiper-button-prev {
    margin-left: calc(50% - 50vw);
    cursor: w-resize;
}

.popular-treatments-swiper .swiper-button-next,
.testimonials-slider .swiper-button-next,
.news-swiper .swiper-button-next,
.available-treatments-swiper .swiper-button-next,
.available-colleagues-swiper .swiper-button-next,
.related-contents-swiper .swiper-button-next,
.treatment-category-swiper .swiper-button-next {
    margin-right: calc(50% - 50vw);
    cursor: e-resize;
}

.available-colleagues-swiper .swiper-slide {
    height: auto !important;
}

.available-colleagues-swiper .swiper-wrapper {
    height: auto;
}

.swiper-button-disabled {
    opacity: 0 !important;
}

.swiper-button-next,
.swiper-button-prev {
    transition: opacity 1s;
}

.wp-block-social-links .wp-social-link svg {
    height: 30px;
    width: auto;
}

.block_bg_primary {
    background-color: var(--primary-beige);
}

.block_bg_secondary {
    background-color: var(--secondary-bg);
}

.product-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    grid-template-areas: "card-1" "card-2" "card-3" "card-4";
    gap: 23px 23px;
}

.card-1,
.card-2,
.card-3,
.card-4 {
    max-height: 350px;
}

.card-1 {
    border-top-right-radius: 192px;
    overflow: hidden;
}

.card-2 {
    grid-area: card-2;
    overflow: hidden;
}

.card-3 {
    grid-area: card-3;
    overflow: hidden;
}

.card-4 {
    grid-area: card-4;
    overflow: hidden;
}

.card-1 .card-img-overlay,
.card-2 .card-img-overlay,
.card-3 .card-img-overlay,
.card-4 .card-img-overlay {
    padding: clamp(0.875rem, 0.7233rem + 0.6472vw, 1.5rem) clamp(1.75rem, 1.3252rem + 1.8123vw, 3.5rem);
}

@media (min-width: 992px) {
    .product-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 23px 23px;
        grid-template-areas: "card-1 card-2 card-2"
        "card-1 card-3 card-4";
    }

    .card-1,
    .card-2,
    .card-3,
    .card-4 {
        max-height: initial;
    }

    .card-1 {
        grid-area: card-1;
        max-height: calc(80vh +23px);
        border-radius: 0;
    }

    .card-2 {
        grid-area: card-2;
        max-height: 40vh;
        overflow: hidden;
        border-top-right-radius: 192px;
    }

    .card-3 {
        grid-area: card-3;
        max-height: 40vh;
        overflow: hidden;
    }

    .card-4 {
        grid-area: card-4;
        max-height: 40vh;
        overflow: hidden;
    }

    .card-1 .card-img-overlay {
        padding-left: 56px;
        padding-bottom: 38px;
        padding-top: 56px;
    }

    .card-2 .card-img-overlay {
        padding-top: 56px;
        padding-right: 56px;
        padding-left: 28px;
    }

    .card-3 .card-img-overlay {
        padding-bottom: 38px;
        padding-left: 28px;
        padding-right: 28px;
    }

    .card-4 .card-img-overlay {
        padding-bottom: 38px;
        padding-right: 56px;
        padding-left: 28px;
    }
}

.product-grid .product-card .card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-grid .product-card .card-body {
    position: absolute;
}

.product-grid::after {
    content: " ";
    position: absolute;
    border: 2px solid var(--primary-coral);
    width: calc(100% - clamp(1.75rem, 1.3252rem + 1.8123vw, 3.5rem));
    height: calc(100% - clamp(1.75rem, 1.3252rem + 1.8123vw, 3.5rem));
    margin: clamp(0.875rem, 0.6626rem + 0.9061vw, 1.75rem);
    border-radius: 0 175px 0 0;
    pointer-events: none;
}

.product-card .white-shade {
    /* background: transparent linear-gradient(180deg, #FFFFFF00 0%, #FFFFFF00 26%, #FFFFFFD9 72%, #FFFFFFD8 100%) 0% 0% no-repeat padding-box */
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.85) 65%, rgba(255, 255, 255, 0.9) 82%);
}

.swiper-slide {
    float: left;
    overflow: hidden;

    /* margin-right: 23px; */
}

.why-us .check-icon {
    margin-right: 12px;
    color: var(--primary-coral);
}

.why-us .dermart-card {
    max-height: 645px;
}

.block.numbers {
    font-family: 'Marcellus';
    color: var(--primary-coral);
}

.testimonials-slider .swiper-slide {
    height: auto !important;

    /* Override default; !important if needed */
    align-self: stretch;

    /* Ensures flex alignment in the wrapper */
    /* max-width: 412px; */
}

.testimonials-slider .swiper-wrapper {
    align-items: stretch;

    /* Distributes height evenly across slides */
}

.testimonial-image {
    width: 68px;
    height: 68px;
    object-fit: cover;
    z-index: 1;

    /* margin-right: 16px; */
    margin-left: 16px;
}

.testimonial-name {
    padding: 0 !important;
    margin: 0 !important;
}

.testimonial-meta {
    margin-bottom: -34px;
    height: 68px;
}

.testimonial-card {
    font-family: Marcellus;

    /* font-size: 1.2rem; */
}

.testimonial-text {
    overflow-y: auto;
    max-height: 45vh;
    position: relative;
    padding-bottom: 25px;
    padding-top: 25px;
}

.testimonial-text::after {
    content: " ";
    background: linear-gradient(to bottom, transparent 0%, var(--primary-coral) 100%);
    width: calc(100% - 54px);
    height: 55px;
    position: fixed;

    /* Changed to fixed */
    bottom: 0;
    left: 0;
    z-index: 1;

    /* Ensure it appears above other content if needed */
    margin-bottom: 27px;
    margin-left: 27px;
    margin-right: 27px;
}

.testimonial-card .dermart-line-secondary {
    border-top-right-radius: 115px;
}

.price-list .accordion-header button {
    font-size: 2.986rem;
    color: var(--primary-coral);
}

/* Explicitly override focus (ensures no ring) */
.price-list .accordion-button:focus {
    box-shadow: none;
    z-index: 3;

    /* Maintains Bootstrap's z-index for stacking */
}

/* Optional: Keep active state fully neutral (no color shift) */
.price-list .accordion-button:not(.collapsed) {
    color: inherit;
    background-color: transparent;
}

.during_pregnancy {
    position: absolute;
    top: 64px;
    color: var(--primary-beige);
    background-color: var(--primary-coral);
    padding: 7px 19px 7px 26px;
    font-family: Marcellus;
    font-size: 18px;
    border-top-right-radius: 21px;
    border-bottom-right-radius: 21px;
}

.footer-legal ul {
    padding-left: 0;
    margin-bottom: 0;
}

.footer-legal ul li {
    list-style-type: none;
    display: inline;
    white-space: nowrap;
    word-break: keep-all;
}

.footer-legal ul li:after {
    content: "";
    padding-left: 10px;
    padding-right: 10px;
}

@media (min-width: 992px) {
    .footer-legal ul li:after {
        content: "|";
    }
}

.footer-legal ul li:last-child:after {
    content: "" !important;
}

.wp-block-embed__wrapper {
    border-radius: 5px;
}

#contact_map {
    width: 100vw;
    min-height: 100vh;
    height: 100vh;
}

#contact_map .hero-content {
    pointer-events: none;
    z-index: 1;
    margin-top: 0;
}

#contact_map .hero-content .card {
    pointer-events: auto;
    z-index: 1;
    margin-top: 50px;
}

.card {
    font-size: 1rem;
}

.treatment-page-card {
    max-height: 80vh;
}

@media (min-width: 768px) {
    .treatment-page-card {
        height: 628px;
    }
}

ul.prices li::after {
    content: ' ';
    border-bottom: 1px dashed var(--primary-beige);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;

    /* margin-bottom: 17px; */
    margin-bottom: clamp(0.9375rem, 0.9087rem + 0.1282vw, 1.0625rem);
    z-index: 0;
}

ul.prices li.no_price:after {
    border-bottom: none !important;
}

ul.prices li.no_price {
    font-size: 125%;
}

.colleauge-section:nth-child(2n+2) {
    background-color: var(--secondary-beige);
}

.wp-block-heading strong,
.wp-block-heading b {
    /* font-weight: normal !important; */
}

.widget ul.menu {
    padding-left: 0;
}

footer .wp-block-social-links {
    justify-content: flex-start;
}

.map-card a {
    text-decoration: none;
}

#contact_map a {
    line-height: 1.6;
}

#back-to-top {
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    width: 3rem;
    height: 3rem;
    background: var(--primary-coral);
    color: #fff;
    border: none;
    border-radius: 0 16px 0 0;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s, background .2s;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

#back-to-top span {
    padding: 5px 7px;

    /* border: 1px solid white */
    border-radius: 0 9px 0 0;
}

#back-to-top:hover {
    background: hsl(from var(--primary-coral) h s calc(l - 10));
}

#back-to-top.show {
    opacity: 1;
    visibility: visible;
}

/* Optional: hide default focus outline, replace with custom */
#back-to-top:focus-visible {
    outline: 3px solid #ffbf47;
    outline-offset: 2px;
}

.dermart-tooltip {
    --bs-tooltip-bg: var(--primary-coral);
    --bs-tooltip-color: white;
}

.grecaptcha-badge {
    display: none;
}

.price-list .dermart-line-secondary h3 {
    padding-right: 26px;
}