/*

Theme Name: PharmacyMentor Child

Description: Child theme for the PharmacyMentor theme

Template: Pharmacy Mentor - WooPW Theme

Version: 1.0.0

Text Domain: pharmacymentor-child

*/



/* ---------------------------------------

   Global / Layout

--------------------------------------- */



.page-flexible-content section {

    padding: 80px 0;

}



.page-flexible-content section.section-odd {

    background: var(--theme-third-color);

}



.page-flexible-content section.section-even {

    background: var(--theme-secondary-color);

}



.page-flexible-content section.section-odd .faq-question {

    background-color: var(--theme-secondary-color);

}



.page-flexible-content section.section-even .faq-question {

    background-color: var(--theme-third-color);

}



.page-flexible-content .faqs-list {

    margin-bottom: 30px;

}



.section-even {

    background-color: var(--theme-secondary-color) !important;

}



.bg-sections {

    background-color: var(--theme-secondary-color);

    padding: 30px 0 100px 0 !important;

}



.orange {

    color: var(--theme-primary-color);

}



.swiper-pagination-bullet-active {

    background-color: var(--theme-primary-color);

}



.f-content-sm,

.column-1 p {

    text-align: left;

}



.f-content-sm {

    font-size: 12px;

}



/* ---------------------------------------

   Team

--------------------------------------- */



section.clinical-team {

    padding: 80px 0;

    background: var(--theme-third-color);

}



.team-member-card {

    padding: 30px;

    background: var(--theme-secondary-color);

    border-radius: var(--card-radius);

    text-align: left;

    transition: all 0.2s;

    min-height: 655px;

}



.team-member-card:hover {

    background: #ffff;

    scale: 1.02;

}



.team-member-card__content {

    margin-top: 30px;

}



.team-member-card__content h3 {

    font-size: 36px;

}



.team-member-card__image img {

    border-radius: var(--card-radius);

}



/* ---------------------------------------

   Woocommerce

--------------------------------------- */



section.page-banner-section.woo-myaccount-banner-section,

.shop-page-top-section {

    background: var(--aluna-hero-bg, #d9e1d5) !important;

    padding: 40px 0 !important;

    padding-top: 40px;

    padding-bottom: 40px;

}



.woocommerce form .variation-input-wrapper {

    width: auto !important;

}



.faq-accordion .card:not(.collapsed, .collapse) * {

    color: var(--theme-text-color);

}



.faq-accordion .btn.btn-link.btn-block {

    font-family: Playfair Display !important;

    font-size: 22px;

}



.page-banner-section.woo-myaccount-banner-section a {

    color: var(--theme-text-color);

}



.woocommerce-dashboard-page .woocommerce-MyAccount-navigation .nav-card-wrapper .nav-card,

.woocommerce .practitioner-order-under-review-wrapper {

    background: var(--theme-third-color);

}



.woocommerce .woo-order-number {

    color: var(--theme-text-color);

}



.page-banner-section,

.form-sidebar .sidebar-back {

    background: var(--theme-third-color);

}



/* ---------------------------------------

   Flexible Content: Icon Cards Grid

--------------------------------------- */



.fc-icon-cards-grid__subheading {

    display: inline-block;

    padding: 8px 18px;

    margin-bottom: 24px;

    background-color: var(--theme-primary-color);

    color: #fff;

    font-size: 12px;

    font-weight: 700;

    line-height: 1;

    text-transform: uppercase;

    letter-spacing: 0.08em;

    border-radius: 6px;

}



.fc-icon-cards-grid__heading {

    margin-bottom: 16px;

    color: var(--theme-text-color);

    font-size: 46px;

    line-height: 1.05;

}



.fc-icon-cards-grid__intro {

    max-width: 720px;

    margin: 0 auto;

    font-size: 14px;

    line-height: 1.6;

}



.fc-icon-cards-grid__card {

    height: 100%;

    padding: 32px;

    background-color: #fff;

    border-radius: 10px;

}



.fc-icon-cards-grid__icon-wrap {

    margin-bottom: 32px;

}



.fc-icon-cards-grid__icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 98px;

    height: 98px;

    background-color: var(--theme-primary-color);

    border-radius: 8px;

    color: #fff;

}



.fc-icon-cards-grid__icon i,

.fc-icon-cards-grid__icon svg {

    font-size: 44px;

    line-height: 1;

}



.fc-icon-cards-grid__icon svg {

    width: 44px;

    height: 44px;

}



.fc-icon-cards-grid__card-heading {

    margin-bottom: 16px;

    color: var(--theme-text-color);

    font-size: 22px;

    line-height: 1.1;

}



.fc-icon-cards-grid__card-content {

    color: rgba(35, 31, 32, 0.8);

    font-size: 14px;

    line-height: 1.6;

}



.fc-icon-cards-grid ul,

.fc-content-with-content ul,

.ticket-list {

    padding: 0;

    margin: 0 0 30px;

}



.fc-icon-cards-grid li,

.fc-image-with-content__text li,

.fc-content-with-content li,

.ticket-list li {

    position: relative;

    list-style: none;

    padding-left: 28px;

    margin-bottom: 10px;

}



.fc-icon-cards-grid li,

.fc-image-with-content__text li,

.fc-content-with-content li {

    font-size: 14px;

}



.fc-icon-cards-grid li::before,

.fc-image-with-content__text li::before,

.fc-content-with-content li::before,

.ticket-list li::before {

    content: "\f00c";

    position: absolute;

    top: 2px;

    left: 0;

    font: var(--fa-font-solid);

    font-size: 16px;

    line-height: 1;

    color: var(--theme-primary-color);

}



/* ---------------------------------------

   Flexible Content: Image With Content

--------------------------------------- */



.fc-image-with-content {

    padding: 80px 0;

}



.fc-image-with-content__image img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius: var(--card-radius);

}



.fc-image-with-content__subheading {

    margin-bottom: 16px;

    color: var(--theme-primary-color);

    font-size: 14px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.04em;

}



.fc-image-with-content__heading,

.fc-content-with-content__heading {

    margin-top: 15px;

    margin-bottom: 24px;

    font-size: 50px;

    line-height: 1.1;

}



.fc-image-with-content__list {

    list-style: none;

    padding: 0;

    margin: 0 0 24px;

}



.fc-image-with-content__list li {

    position: relative;

    padding-left: 28px;

    margin-bottom: 12px;

}



.fc-image-with-content__list li::before {

    content: "\f00c";

    position: absolute;

    top: 2px;

    left: 0;

    font: var(--fa-font-solid);

    font-size: 16px;

    line-height: 1;

    color: var(--theme-primary-color);

}



/* ---------------------------------------

   Flexible Content: Full Width Text

--------------------------------------- */



.fc-full-width-text .tagline-slider {

    padding: 0;

}



/* ---------------------------------------

   Pricing

--------------------------------------- */



section.pricing-plans {

    background-color: var(--theme-third-color);

    padding: 80px 0;

}



.pricing-plans .wrapper {

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: last baseline;

    height: 100%;

}



.pricing-card {

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    min-height: 345px;

    margin-bottom: 16px;

    padding: 28px 34px 30px;

    background: var(--theme-secondary-color);

    border: 1px solid #d4ddd6;

    border-radius: 18px;

}



.pricing-card__top {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

    gap: 20px;

}



.pricing-card__logo img {

    display: block;

    width: 100%;

    max-width: 170px;

    height: auto;

}



.pricing-card__top-text {

    max-width: 180px;

    text-align: right;

    font-size: 30px;

    line-height: 1.12;

    color: var(--theme-text-color);

    font-family: Playfair Display !important;

}



.pricing-card__body {

    margin-top: 42px;

}



.pricing-card__label {

    font-family: Playfair Display !important;

    font-size: 30px;

    line-height: 1.08;

    color: var(--theme-text-color);

}



.pricing-card__strength {

    margin-top: 4px;

    font-size: 20px;

    line-height: 1.1;

    color: var(--theme-primary-color);

    font-weight: 500;

}



.pricing-card__price-wrap {

    display: flex;

    align-items: baseline;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: 28px;

}



.pricing-card__price-main {

    font-size: 36px;

    line-height: 1;

    color: var(--theme-text-color);

    font-weight: 400;

    letter-spacing: -0.03em;

}



.pricing-card__price-suffix {

    font-size: 22px;

    line-height: 1.1;

    color: var(--theme-primary-color);

    font-weight: 500;

}



/* ---------------------------------------

   Split Feature / Content Header

--------------------------------------- */



.split-feature {

    background: var(--theme-secondary-color);

}



.split-feature__panel,

.split-feature__media {

    border-radius: var(--card-radius);

    overflow: hidden;

}



.split-feature__media {

    height: 100%;

    width: 100%;

    overflow: hidden;

}



.split-feature__media img {

    border-radius: var(--card-radius);

    height: 100%;

    width: auto;

    object-fit: cover;

}



.content-header {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 88px 62px 72px;

}



.content-header--accent {

    background: var(--theme-primary-color);

    color: #fff8f1;

}



.content-header__title {

    margin-top: 15px;

    color: #fff;

    font-size: 50px;

}



.content-header__text {

    margin: 0 0 38px;

    line-height: 1.55;

    color: #fff;

}



.content-header .theme-btn-primary.btnChevron {

    align-self: flex-start;

}



/* ---------------------------------------

   Generic Content Blocks

--------------------------------------- */



.above-footer .content-wrapper {

    background: var(--bg-theme-primary);

    padding: 50px;

    border-radius: var(--card-radius);

}



.above-footer .content-wrapper h3,

.above-footer .content-wrapper p {

    color: #fff;

}



.above-footer .content-wrapper h3 {

    font-size: 36px;

}



/* ---------------------------------------

   Buttons

--------------------------------------- */



.theme-btn-primary,

.theme-btn-outline,

.theme-btn-primary-2,

.prev.page-numbers,

.next.page-numbers,

.cf7mls-btns .cf7mls_next.action-button,

.cf7mls-btns .cf7mls_back.action-button {

    font-weight: 500 !important;

    border-radius: 50px;

    color: #fff;

}



.theme-btn-primary.btnChevron {

    color: #fff !important;

}



.theme-btn-primary.btnChevron.mn-btn {

    min-width: 190px;

    margin-left: 15px;

}



.theme-btn-outline,

.btn-chevron,

.home-header .theme-btn-primary {

    border-radius: 100px !important;

}



.split-feature a.theme-btn-primary.btnChevron,

.above-footer a.theme-btn-primary.btnChevron {

    background: var(--theme-text-color);

    font-size: 13px;

    color: var(--theme-primary-btn-txt-color) !important;

}



.split-feature a.theme-btn-primary.btnChevron:hover,

.above-footer a.theme-btn-primary.btnChevron:hover {

    background: var(--theme-text-color) !important;

}



.above-footer a.theme-btn-primary.btnChevron {

    position: absolute;

    right: 0;

    bottom: 0;

}



.theme-btn-secondary.w-100.text-center.mt-2.btnChevron {

    width: max-content !important;

    border-radius: 50px;

    font-weight: 500;

}



.btn-chevron a::after,

.btnChevron::after {

    content: "\f105";

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 26px;

    height: 26px;

    margin-left: 10px;

    border: 2px solid #fff;

    border-radius: 50%;

    background-color: transparent;

    color: #fff;

    font-family: "Font Awesome 5 Free";

    font-size: 12px;

    font-weight: 900;

    transition: ease-in-out 0.2s;

}



.btn-chevron a:hover::after,

.btnChevron:hover::after {

    transform: translateX(5px);

}



/* ---------------------------------------

   Header / Navigation

--------------------------------------- */



header nav.navbar {

    padding: 0;

}



.site-header {

    background: var(--theme-bg-gradient);

}



.sticky-navbar {

    position: fixed !important;

    background: var(--theme-secondary-color);

}



.navbar-nav {

    gap: 10px;

}



.close-navbar {

    position: relative;

    width: 32px;

    height: 32px;

    padding: 0;

    border: none;

    background: transparent;

}



.close-navbar .bar {

    position: absolute;

    top: 50%;

    left: 50%;

    width: 20px;

    height: 2px;

    background: var(--theme-text-color);

    transform-origin: center;

}



.close-navbar .bar:nth-child(1) {

    transform: translate(-50%, -50%) rotate(45deg);

}



.close-navbar .bar:nth-child(2) {

    transform: translate(-50%, -50%) rotate(-45deg);

}



.open-btn .icon-bar {

    position: absolute;

    width: 20px;

    height: 2px;

    background: #111;

    transition: transform 0.3s ease, opacity 0.2s ease;

}



.open-btn .icon-bar:nth-of-type(2) {

    transform: rotate(0deg);

}



.open-btn .icon-bar:nth-of-type(3) {

    transform: rotate(90deg);

}



.open-btn .icon-bar:nth-of-type(4) {

    opacity: 0;

}



.header-style-1 .navbar-brand img,

.header-style-2 .navbar-brand img,

.header-style-3 .navbar-brand img {

    max-width: 100px;

    height: auto;

}



.mn-btn {

    background-color: var(--theme-primary-color);

}



.mn-btn a {

    padding: 10px 25px !important;

    color: #fff !important;

    font-size: 14px !important;

}



.panel-menu .theme-third-light-btn {

    color: #fff !important;

}



.site-header #navbar>ul li.menu-btn:hover,

.site-header #navbar #mega-menu-wrap-main-menu ul#mega-menu-main-menu li.menu-btn:hover {

    background-color: transparent !important;

}



.site-header #navbar>ul .menu-item-has-children> :is(a, span)::before {

    display: none !important;

}



.site-header #navbar>ul .menu-item-has-children> :is(a, span)::after {

    content: "\e64b";

    padding-left: 5px;

    color: var(--theme-primary-btn-hover-color);

    font-family: "themify";

    font-size: 11px;

    transition: all ease 0.2s;

}



.site-header #navbar>ul li.menu-btn:hover>a,

.site-header #navbar #mega-menu-wrap-main-menu ul#mega-menu-main-menu li.menu-btn:hover>a {
    background: var(--theme-primary-color);
    color: #fff !important;
    border-radius: 50px;
}

.header-patient-actions {
    display: inline-flex !important;
    align-items: center;
    flex-direction: row !important;
    gap: 10px;
    margin-left: 16px;
    flex-shrink: 0;
}

.header-patient-actions__link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    min-width: 42px;
    height: 42px !important;
    min-height: 42px;
    padding: 0 !important;
    border: 1px solid rgba(35, 31, 32, 0.16) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--theme-text-color) !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.header-patient-actions__link i {
    font-size: 16px;
    line-height: 1;
}

.header-patient-actions__link:hover,
.header-patient-actions__link:focus {
    border-color: var(--theme-primary-color) !important;
    background: var(--theme-primary-color) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

@media (max-width: 991.98px) {

    .header-patient-actions {
        width: auto;
        margin: 18px 0 0;
        justify-content: flex-start;
    }

    .header-patient-actions__link {
        width: 44px !important;
        min-width: 44px;
        height: 44px !important;
        min-height: 44px;
    }

}

@media (min-width: 992px) {


    .mega-menu-item:hover>.mega-menu-panel,

    .mega-menu-item:focus-within>.mega-menu-panel,

    .mega-menu-trigger-wrap:hover+.mega-menu-panel,

    .mega-menu-trigger-wrap:focus-within+.mega-menu-panel,

    .mega-menu-panel:hover,

    .mega-menu-panel:focus-within {

        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        transform: translateY(0);

    }

    .single-product.woocommerce div.product:not(.product-page__product) form.cart .variations {

        align-items: end !important;

    }



    .single-product.woocommerce .product-page .product-page__cart .variations {

        align-items: flex-start !important;

    }

}



@media screen and (min-width: 992px) {

    .aluna-journey-prev {

        display: none;

    }



    .mega-menu-left {

        justify-content: end;

    }



    .site-header .navbar-header {

        width: 100%;

    }



    .site-header .navbar-header .navbar-nav,

    .site-header #navbar #mega-menu-wrap-main-menu #mega-menu-main-menu {

        justify-content: center;

    }



    .site-header #navbar>ul>li,

    .site-header #navbar #mega-menu-wrap-main-menu ul#mega-menu-main-menu>li.full-width-mega-menu ul.mega-sub-menu li {

        justify-content: center;

        align-items: center;

    }



    .header-style-1 #navbar>ul>li>a,

    .header-style-2 #navbar>ul>li>a,

    .header-style-3 #navbar>ul>li>a,

    .site-header #navbar #mega-menu-wrap-main-menu ul>li>a {

        color: var(--theme-text-color);

    }



    .header-style-2,

    .header-style-3 {

        background-color: var(--theme-secondary-color);

    }



    .site-header #navbar>ul>li,

    .site-header #navbar #mega-menu-wrap-main-menu #mega-menu-main-menu>li {

        margin-right: 0;

    }



    .left-wrapper {

        padding: 40px 160px 5px 40px;

    }

}



/* ---------------------------------------

   Banner

--------------------------------------- */



.page-banner .banner-content {

    max-width: 350px;

    border-bottom: 1px solid lightgray;

}



h1.page-title {

    width: max-content;

    padding: 6px 18px;

    background: var(--theme-btn-secondary-color);

    border-radius: var(--btn-radius);

    color: #fff !important;

    font-family: Open Sans !important;

    font-size: 13px;

    font-weight: 500;

    text-transform: uppercase;

}



h1.page-title::before {

    opacity: 0;

}



.banner-section-icon-list ul li {

    padding-left: 0;

}



.banner-section-icon-list ul li a {

    font-family: Droid Serif !important;

    font-size: 26px;

    text-transform: capitalize;

}



.banner-section-icon-list ul li a:hover {

    color: var(--theme-btn-primary-color) !important;

}



.banner-section-icon-list li::before {

    display: none;

}



/* ---------------------------------------

   Home Header

--------------------------------------- */



.home-header {

    background-color: var(--theme-secondary-color);

}



.tagline-content p {

    color: var(--theme-text-color);

}



.pull-top {

    transform: none;

    padding: 30px 0;

}



.left-wrapper {

    height: 100%;

    padding: 45px;

    background-color: var(--theme-primary-color);

    border-radius: var(--card-radius);

}



.left-wrapper h1,

.left-wrapper p {

    color: #fff;

}



.left-wrapper h1 {

    font-size: 55px;

    line-height: 55px;

}



.left-wrapper p {

    font-size: 14px;

}



.left-wrapper p:last-of-type {

    font-size: 14px;

}



.left-wrapper .theme-btn-primary {

    background-color: var(--theme-text-color);

    color: #fff;

}



.left-wrapper .theme-btn-primary:hover {

    background-color: var(--theme-text-color) !important;

    color: #fff;

}



.right-wrapper {

    height: 100%;

    overflow: hidden;

    border-radius: var(--card-radius);

}



.right-wrapper img {

    width: auto;

    height: 100%;

    object-fit: cover;

}



/* ---------------------------------------

   Benefits

--------------------------------------- */



.pm-benefits {

    color: #fff;

}



.pm-benefits-list {

    list-style: none;

    margin: 0;

    padding: 0;

}



.pm-benefits-list li {

    position: relative;

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 8px;

    font-size: 14px;

    line-height: 1.5;

}



.pm-benefits-list li::before {

    content: "\f00c";

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 22px;

    width: 22px;

    height: 22px;

    color: #fff;

    font: var(--fa-font-solid);

    line-height: 1;

}



/* ---------------------------------------

   FAQs

--------------------------------------- */



.faqs-section {

    background-color: var(--theme-third-color);

    padding: 80px 0;

}



.faqs-left {

    max-width: 420px;

}



.faqs-tag {

    display: inline-block;

    margin-bottom: 18px;

    padding: 6px 18px;

    border-radius: 999px;

    background-color: var(--theme-primary-color);

    color: #fff;

    font-size: 13px;

    letter-spacing: 0.08em;

    text-transform: uppercase;

}



.faqs-title {

    margin-bottom: 16px;

    font-size: 40px;

    line-height: 1.2;

}



.faqs-intro {

    margin-bottom: 32px;

    font-size: 16px;

    color: var(--theme-text-color);

}



.faqs-cta {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    border-radius: 50px;

}



.faqs-list {

    display: flex;

    flex-direction: column;

    gap: 12px;

}



.faq-item {

    overflow: hidden;

    border-radius: 0;

}



.faq-question {

    display: flex;

    align-items: center;

    justify-content: space-between;

    width: 100%;

    padding: 18px 24px;

    border: none;

    background-color: var(--theme-secondary-color);

    text-align: left;

    cursor: pointer;

}



.faq-question-text {

    font-size: 20px;

    line-height: 1.4;

}



.faq-question-text h4 {

    margin: 0;

    font-size: 22px;

}



.faq-question-title {

    font-family: Playfair Display !important;

}



.faq-toggle {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    width: 32px;

    height: 32px;

    border-radius: 50%;

    background-color: var(--theme-primary-color);

}



.faq-toggle i {

    font-size: 14px;

    line-height: 1;

    color: #fff;

}



/* Plus when closed, minus when open (Bootstrap aria-expanded + is-open) */

.faq-question[aria-expanded="true"] .faq-toggle i.fa-plus::before,

.faq-question.is-open .faq-toggle i.fa-plus::before {

    content: "\f068";

}



.faq-question[aria-expanded="false"] .faq-toggle i.fa-plus::before {

    content: "\f067";

}



.faq-question.is-open .faq-toggle-line--v {

    opacity: 0;

}



.faq-answer-inner {

    padding: 15px;

    font-size: 14px;

    color: var(--theme-text-color);

}



/* ---------------------------------------

   Testimonials

--------------------------------------- */



.aluna-testimonials {

    background-color: var(--theme-secondary-color);

    padding: 80px 0;

}



.aluna-testimonials-tag {

    display: inline-block;

    margin-bottom: 16px;

    padding: 6px 18px;

    border-radius: var(--card-radius);

    background-color: var(--theme-primary-color);

    color: #fff;

    font-size: 13px;

    letter-spacing: 0.08em;

    text-transform: uppercase;

}



.aluna-testimonials-title {

    margin-bottom: 8px;

    font-size: 40px;

}



.aluna-testimonials-intro {

    margin-bottom: 40px;

    font-size: 16px;

    color: var(--theme-text-color);

}



.testimonial-card {

    padding: 40px 48px;

    background-color: #fff;

    border-radius: var(--card-radius);

}



.testimonial-photo-wrap {

    padding-right: 24px;

}



.testimonial-photo {

    display: block;

    width: 100%;

    height: auto;

    object-fit: cover;

    border-radius: var(--card-radius);

}



.testimonial-copy {

    position: relative;

}



.testimonial-quote-mark,

.testimonial-quote-icon,

.testimonial-quote-icon svg path {

    color: #d4e3da;

    fill: #d4e3da;

}



.testimonial-quote-mark {

    font-size: 56px;

    line-height: 1;

    font-weight: 700;

}



.testimonial-quote-icon--open {

    margin-bottom: 12px;

    text-align: left;

}



.testimonial-quote-icon--close {

    margin-top: 12px;

    text-align: left;

    transform: rotate(180deg);

    transform-origin: center;

}



.testimonial-text {

    width: 80%;

    margin: auto;

    font-size: 22px;

    line-height: 1.5;

    color: var(--theme-text-color);

    text-align: left;

}



.testimonial-name {

    width: 80%;

    margin: auto;

    padding: 15px 0 0;

    font-size: 40px;

    font-weight: 600;

    text-align: left;

}



.testimonial-meta {

    width: 80%;

    margin: auto;

    font-size: 14px;

    color: var(--theme-primary-color);

    text-align: left;

}



.aluna-testimonials-swiper {

    position: relative;

}



.aluna-testimonials-prev,

.aluna-testimonials-next {

    position: absolute;

    top: 50%;

    z-index: 99;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 44px;

    height: 44px;

    border: none;

    border-radius: 50%;

    background-color: var(--theme-primary-color);

    color: #fff;

    font-size: 28px;

    transform: translateY(-50%);

}



.aluna-testimonials-prev {

    left: 0;

}



.aluna-testimonials-next {

    right: 0;

}



.aluna-testimonials-prev.is-disabled,

.aluna-testimonials-next.is-disabled,

.aluna-testimonials-prev:disabled,

.aluna-testimonials-next:disabled {

    opacity: 0.35;

    cursor: not-allowed;

    pointer-events: none;

}



.aluna-testimonials-pagination {

    margin-top: 16px;

    text-align: center;

}



/* ---------------------------------------

   Explanation

--------------------------------------- */



.aluna-explanation {

    background-color: #e5f0ea;

    padding: 80px 0 72px;

}



.aluna-explanation-tag {

    display: inline-block;

    margin-bottom: 16px;

    padding: 6px 18px;

    border-radius: var(--card-radius);

    background-color: var(--theme-primary-color);

    color: #fff;

    font-size: 13px;

    letter-spacing: 0.08em;

    text-transform: uppercase;

}



.aluna-explanation-title {

    margin-bottom: 8px;

    font-size: 40px;

}



.aluna-explanation-intro {

    margin-bottom: 40px;

    font-size: 16px;

    color: var(--theme-text-color);

}



.explanation-card {

    padding: 32px 40px;

    background-color: #f7faf8;

    border-radius: 8px;

    text-align: left;

}



.explanation-card-title {

    margin-bottom: 20px;

    font-size: 28px;

}



.explanation-list {

    list-style: none;

    padding: 0;

    margin: 0;

}



.explanation-list li {

    position: relative;

    list-style-type: none;

    padding-left: 32px;

    margin-bottom: 10px;

    font-size: 14px;

    line-height: 1.4;

}



.explanation-list li::before {

    content: "";

    position: absolute;

    top: 0.4em;

    left: 0;

    width: 16px;

    height: 16px;

    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='%23f15a24' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M4 12.5l5 5L20 6'/%3E%3C/svg%3E") no-repeat center center / contain;

}



.aluna-explanation-disclaimer {

    max-width: 720px;

    margin: 0 auto 24px;

    font-size: 13px;

    color: var(--theme-text-color);

}



.aluna-explanation-btn {

    margin-top: 8px;

}



/* ---------------------------------------

   Journey

--------------------------------------- */



.aluna-journey {

    background-color: var(--theme-secondary-color);

    padding: 80px 0;

}



.aluna-journey-tag {

    display: inline-block;

    margin-bottom: 16px;

    padding: 6px 18px;

    border-radius: var(--card-radius);

    background-color: var(--theme-primary-color);

    color: #fff;

    font-size: 13px;

    letter-spacing: 0.08em;

    text-transform: uppercase;

}



.aluna-journey-title {

    margin-bottom: 8px;

    font-size: 40px;

}



.aluna-journey-intro {

    margin-bottom: 40px;

    font-size: 16px;

    color: var(--theme-text-color);

}



.aluna-journey-swiper {

    position: relative;

    padding-bottom: 80px;

}



.journey-card {

    height: 100%;

    min-height: 400px;

    padding: 28px 28px 32px;

    background-color: #f8faf9;

    border-radius: 8px;

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.03);

    text-align: left;

}



.journey-card-track {

    display: flex;

    align-items: center;

    margin-bottom: 18px;

}



.journey-card-track-dot {

    width: 10px;

    height: 10px;

    border-radius: 50%;

    background-color: #d4e3da;

}



.journey-card-track-line {

    flex: 1;

    height: 2px;

    margin: 0;

    background-color: #d4e3da;

}



.journey-card-badge {

    display: inline-block;

    margin-bottom: 20px;

    padding: 8px 20px;

    border-radius: var(--card-radius);

    background-color: var(--theme-primary-color);

    color: #fff;

    font-size: 12px;

    letter-spacing: 0.08em;

    text-transform: uppercase;

}



.journey-card-title {

    margin-bottom: 14px;

    font-size: 26px;

    line-height: 1.25;

}



.journey-card-text {

    margin-bottom: 18px;

    font-size: 14px;

    color: var(--theme-text-color);

}



.journey-card-note {

    margin: 0;

    font-size: 14px;

    color: var(--theme-primary-color);

}



.aluna-journey-pagination {

    position: absolute;

    left: 0;

    bottom: 0;

}



.aluna-journey-prev,

.aluna-journey-next {

    position: absolute;

    bottom: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 44px;

    height: 44px;

    border: none;

    border-radius: 50%;

    background-color: var(--theme-primary-color);

    color: #fff;

}



.aluna-journey-prev {

    left: 0;

    right: auto;

    display: block;

}



.aluna-journey-next {

    right: 0;

    left: auto;

}



.aluna-journey-prev i,

.aluna-journey-next i {

    font-size: 16px;

    line-height: 1;

}



.aluna-journey-prev.is-disabled,

.aluna-journey-next.is-disabled,

.aluna-journey-prev:disabled,

.aluna-journey-next:disabled {

    opacity: 0.35;

    cursor: not-allowed;

    pointer-events: none;

}



/* ---------------------------------------

   Image Band

--------------------------------------- */



.fullwidth-image {

    background: linear-gradient(to bottom,

            var(--theme-third-color) 0,

            var(--theme-third-color) 50%,

            var(--theme-secondary-color) 50%,

            var(--theme-secondary-color) 100%);

}



.img-wrapper {

    overflow: hidden;

    border-radius: 10px;

}



.img-wrapper img {

    width: 100%;

    object-fit: cover;

}



/* ---------------------------------------

   Why Aluna / Above Footer

--------------------------------------- */



.why-aluna-section {

    background-color: var(--theme-third-color);

    padding: 80px 0;

}



.above-footer {

    position: relative;

    background-color: var(--theme-secondary-color);

    padding: 80px 0;

}



.why-aluna-tag,

.why-aluna-tag-white {

    display: inline-block;

    max-width: max-content;

    padding: 6px 18px;

    border-radius: var(--card-radius);

    font-family: Open Sans !important;

    font-size: 13px;

    letter-spacing: 0.08em;

    text-transform: uppercase;

}



.why-aluna-tag {

    background-color: var(--theme-primary-color);

    color: #fff;

}



.why-aluna-tag-white {

    background-color: #fff;

    color: var(--theme-primary-color);

}



.why-aluna-title {

    margin-bottom: 8px;

    font-size: 40px;

    line-height: 1.2;

}



.why-aluna-intro {

    max-width: 720px;

    margin: 0 auto 40px;

    font-size: 16px;

    color: var(--theme-text-color);

}



.why-aluna-card {

    padding: 32px 32px 36px;

    background-color: var(--theme-secondary-color);

    border-radius: 8px;

    text-align: left;

    transition: ease-in-out 0.2s;

}



.why-aluna-card:hover {

    background-color: #fff;

    scale: 1.025;

}



.why-aluna-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 96px;

    height: 96px;

    margin-bottom: 24px;

    background-color: var(--theme-primary-color);

    border-radius: 8px;

}



.why-aluna-icon i {

    color: #fff;

    font-size: 40px;

}



.why-aluna-card-title {

    margin-bottom: 16px;

    font-size: 28px;

}



.why-aluna-card-text {

    margin: 0;

    font-size: 14px;

    color: var(--theme-text-color);

}



/* ---------------------------------------

   Footer

--------------------------------------- */



ul.social-links li a {

    border-radius: 50px;

    background: var(--theme-text-color);

}



.site-footer .upper-footer .column-1>.row {

    max-width: 80%;

}



.footer-social-info p,

.footer-social-info p {

    line-height: 29px;

}



.footer-navs h4,

.footer-social-info h4 {

    font-size: 19px;

    color: var(--theme-primary-color);

}



.gphc-link img {

    display: block;

    max-width: 150px;

    margin-bottom: 15px;

}



.lower-footer img {

    width: 100%;

}



.site-footer p,

.site-footer li,

.footer-navs .nav-list li,

.footer-social-info .social-list li,

.footer-navs .nav-list li a,

.footer-social-info .social-list li a,

.site-footer .lower-footer .copyright,

.site-footer .lower-footer .extra-link ul a {

    color: var(--theme-text-color) !important;

}



/* ---------------------------------------

   Contact Form 7 Application Form

--------------------------------------- */



.cf7-application-form {

    max-width: 100%;

    font-family: Open Sans !important;

    color: var(--theme-text-color);

}



.cf7-application-form .cf7-row {

    margin-bottom: 18px;

}



.cf7-application-form .cf7-row-2 {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;

}



.cf7-application-form .cf7-field label {

    display: block;

    margin-bottom: 8px;

    font-family: Playfair Display !important;

    font-size: 16px;

    line-height: 1.2;

    color: var(--theme-text-color);

}



.cf7-application-form .cf7-field-no-label label {

    visibility: hidden;

}



.cf7-application-form .cf7-required {

    margin-left: 6px;

    font-family: Open Sans !important;

    font-size: 12px;

    font-weight: 400;

    color: var(--theme-primary-color);

}



.cf7-application-form input[type="text"],

.cf7-application-form input[type="email"],

.cf7-application-form input[type="tel"],

.cf7-application-form input[type="date"],

.cf7-application-form select,

.cf7-application-form textarea {

    width: 100%;

    height: 36px;

    padding: 8px 12px;

    border: 1px solid #dedede;

    border-radius: 0;

    background: transparent;

    box-shadow: none;

    font-size: 13px;

    color: var(--theme-text-color);

}



.cf7-application-form input::placeholder,

.cf7-application-form textarea::placeholder {

    color: #a8a8a8;

}



.cf7-application-form select {

    appearance: none;

    -webkit-appearance: none;

    -moz-appearance: none;

    padding-right: 42px;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='12' viewBox='0 0 20 12'%3E%3Cpath d='M2 2l8 8 8-8' fill='none' stroke='%23d86f2d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: right 14px center;

    background-size: 18px 10px;

}



.cf7-application-form .wpcf7-form-control-wrap,

.cf7-application-form .wpcf7-acceptance {

    display: block;

}



.cf7-application-form .wpcf7-acceptance .wpcf7-list-item {

    display: block;

    margin-left: 0;

}



.cf7-application-form .wpcf7-acceptance .wpcf7-list-item-label {

    font-family: Arial, sans-serif;

    font-size: 12px;

    line-height: 1.5;

    color: var(--theme-text-color);

}



.cf7-application-form input[type="checkbox"] {

    margin-right: 8px;

    transform: translateY(1px);

}



.cf7-application-form .cf7-submit-row {

    margin-top: 18px;

}



.cf7-application-form input[type="submit"] {

    width: 100%;

    height: 48px;

    border: 0;

    border-radius: 999px;

    background: var(--theme-primary-color);

    color: #fff;

    font-size: 14px;

    font-weight: 400;

    cursor: pointer;

    transition: opacity 0.2s ease;

}



.cf7-application-form input[type="submit"]:hover {

    opacity: 0.92;

}



.cf7-application-form input:focus,

.cf7-application-form select:focus,

.cf7-application-form textarea:focus {

    outline: none;

    border-color: #cfcfcf;

}



.cf7-application-form .wpcf7-not-valid-tip {

    margin-top: 6px;

    font-size: 12px;

}



.contact-form-block__form {

    padding: 90px 45px;

    background: var(--theme-light-background);

    border-radius: var(--card-radius);

}



.quick-contact p,

.quick-contact a,

.quick-contact i {

    color: var(--theme-text-color);

}



/* ---------------------------------------

   Responsive

--------------------------------------- */



@media (max-width: 1199.98px) {

    .fc-icon-cards-grid__heading {

        font-size: 56px;

    }



    .split-feature__panel,

    .split-feature__media {

        min-height: auto;

    }



    .split-feature__media {

        min-height: 500px;

    }



    .content-header {

        padding: 64px 36px;

    }



    .content-header__text {

        font-size: 19px;

    }

}



@media (min-width: 992px) {

    .container {

        opacity: 0;

        transform: translateY(40px);

        transition: opacity 600ms ease-out, transform 600ms ease-out;

    }



    .container.is-visible {

        opacity: 1;

        transform: translateY(0);

    }



}



@media (max-width: 991.98px) {

    .fc-icon-cards-grid {

        padding: 80px 0;

    }



    .fc-icon-cards-grid__heading {

        font-size: 44px;

    }



    .fc-image-with-content {

        padding: 56px 0;

    }



    .fc-image-with-content__heading {

        font-size: 32px;

    }



    section.pricing-plans {

        padding: 48px 0 56px;

    }



    .pricing-plans .wrapper {

        align-items: flex-start;

        margin-bottom: 32px;

    }



    .pricing-plans .wrapper > .theme-btn-primary.btnChevron {

        margin-top: 4px;

    }



    .pricing-card {

        min-height: auto;

        padding: 24px 22px 24px;

    }



    .pricing-card__top {

        gap: 16px;

    }



    .pricing-card__logo img {

        max-width: 130px;

    }



    .pricing-card__top-text {

        max-width: 130px;

        font-size: 24px;

    }



    .pricing-card__body {

        margin-top: 32px;

    }



    .pricing-card__label {

        font-size: 24px;

    }



    .pricing-card__strength {

        font-size: 16px;

    }



    .pricing-card__price-wrap {

        margin-top: 20px;

    }



    .pricing-card__price-main,

    .pricing-card__price-dose {

        font-size: 34px;

    }



    .pricing-card__price-suffix {

        font-size: 16px;

    }



    .mega-menu-chevron i {

        display: none;

    }



    .mega-menu-chevron::before {

        content: "›";

        display: inline-block;

        font-size: 28px;

        transform: translateY(-20px);

    }



    .mega-menu-chevron-btn span.mega-menu-chevron,

    .mega-menu-mobile-back span {

        height: 0 !important;

        background-color: transparent !important;

    }



    .mega-menu-links-link {

        font-family: Playfair Display !important;

    }



    .btn-chevron a {

        font-size: 14px !important;

    }



    .site-header #navbar>ul>li>.mega-menu-trigger-wrap>a.nav-link.mega-menu-link-text,

    .site-header #navbar>ul>li.mega-menu-item .mega-menu-panel .mega-menu-links-link {

        font-size: 24px !important;

    }



    .mega-menu-actions {

        flex-direction: column;

    }



    .mega-menu-actions .theme-btn-primary.btnChevron {

        width: max-content;

    }



    .mega-menu-item.is-open>.mega-menu-panel {

        margin-top: 60px;

    }



    .mega-menu-mobile-back {

        font-size: 20px !important;

    }



    .mega-menu-mobile-back span {

        height: 40px !important;

    }



    .site-header #navbar>ul>li :is(a, span):not(.pm-d-flex, .menu_icon) {

        font-size: 34px;

    }

}



@media (max-width: 992px) {

    .container {

        padding-left: 15px;

        padding-right: 15px;

    }



    .mobile-visible {

        display: flex !important;

        width: 100%;

        justify-content: space-between;

    }



    .mobile-visible a img {

        max-width: 140px;

        padding: 15px;

    }



    .logo-container {

        width: 100%;

    }



    .site-header .navigtaion-toggle-wrapper {

        padding-right: 15px;

    }



    .site-header .navbar-header button {

        width: 30px;

        height: 30px;

        background-color: transparent;

    }



    .site-header #navbar .close-navbar .ti-close {

        color: var(--theme-text-color) !important;

    }



    .site-header #navbar .close-navbar {

        background-color: transparent;

    }



    .site-header .navbar-logo {

        padding: 0;

    }



    .navbar-nav {

        padding: 15px;

    }



    .site-footer {

        text-align: left;

    }

}



@media (max-width: 991px) {

    .site-header #navbar {

        top: 0;

        right: 0;

        width: 100%;

        visibility: hidden;

        opacity: 0;

        background: var(--theme-secondary-color);

        transition: ease-in-out 0.4s;

    }



    .site-header #navbar.slideInn {

        width: 100%;

        visibility: visible;

        opacity: 1;

    }



    .site-header #navbar .navbar-nav {

        display: flex;

        flex-direction: column;

        justify-content: center;

        height: 90%;

    }



    .site-header #navbar>ul>li {

        border: none;

    }



    .site-header #navbar>ul>li :is(a, span.title-only) {

        padding: 15px 0;

    }



    .site-header .navbar-header button span {

        height: 3px;

        background-color: var(--theme-text-color);

    }



    .btn-chevron.mn-btn.menu-item.menu-item-type-post_type.menu-item-object-page {

        position: absolute;

        bottom: 15px;

        max-width: max-content;

    }



    #navbar .mobile-visible {

        position: absolute;

        width: 100%;

    }



    .site-header #navbar .close-navbar {

        position: absolute;

        top: 15px;

        right: 10px;

        left: auto;

    }

}



@media (max-width: 767.98px) {

    .fc-icon-cards-grid {

        padding: 64px 0;

    }



    .fc-icon-cards-grid__heading {

        font-size: 36px;

    }



    .fc-icon-cards-grid__card {

        padding: 24px;

    }



    .fc-icon-cards-grid__icon {

        width: 84px;

        height: 84px;

    }



    .fc-icon-cards-grid__icon i,

    .fc-icon-cards-grid__icon svg {

        width: 36px;

        height: 36px;

        font-size: 36px;

    }



    .fc-icon-cards-grid__card-heading {

        font-size: 24px;

    }



    .fc-icon-cards-grid__card-content {

        font-size: 14px;

    }



    .content-header {

        padding: 42px 24px;

    }



    .content-header__eyebrow {

        margin-bottom: 24px;

        font-size: 14px;

    }



    .content-header__title {

        max-width: 100%;

        font-size: clamp(42px, 11vw, 64px);

    }



    .content-header__text {

        margin-bottom: 28px;

        font-size: 14px;

    }



    .split-feature__media {

        min-height: 320px;

    }

}



@media screen and (max-width: 768px) {

    .left-wrapper h1 {

        font-size: 32px;

        line-height: normal;

    }



    .why-aluna-title,

    .aluna-journey-title,

    .aluna-explanation-title,

    .aluna-testimonials-title,

    .testimonial-name,

    .faqs-title {

        font-size: 30px;

    }



    .why-aluna-intro,

    .why-aluna-card-text,

    .aluna-journey-intro,

    .aluna-explanation-intro,

    .explanation-list li,

    .aluna-testimonials-intro,

    .testimonial-text,

    .faqs-intro,

    .faq-answer-inner p {

        font-size: 14px;

    }



    .aluna-journey-next {

        left: 60px;

    }



    .testimonial-card {

        padding: 30px 15px;

    }



    .testimonial-quote-icon--open,

    .testimonial-quote-icon--close {

        display: none;

    }



    .testimonial-text {

        width: 100%;

        margin: 10px 0 0;

    }



    .testimonial-photo-wrap {

        padding: 0;

    }



    .testimonial-meta {

        margin: 0;

        padding: 0;

    }



    .testimonial-name {

        margin: 0;

        padding-top: 15px;

    }



    .aluna-testimonials-prev,

    .aluna-testimonials-next {

        display: none;

    }



    .aluna-testimonials-swiper {

        padding: 10px 10px 50px 10px;

    }



    .aluna-testimonials-pagination.swiper-pagination {

        display: block !important;

        bottom: 20px;

    }



    .site-footer .upper-footer .column-1>.row {

        max-width: 100% !important;

    }



    .column-1 h4,

    .column-2 h4,

    .column-3 h4,

    .column-4 h4 {

        text-align: left;

    }

}



@media (max-width: 767px) {

    .cf7-application-form .cf7-row-2 {

        grid-template-columns: 1fr;

        gap: 18px;

    }



    .cf7-application-form .cf7-field-small {

        max-width: 100%;

    }

}



@media (max-width: 575px) {

    .site-header .navbar-header button span {

        height: 3px;

    }



    .mega-menu-trigger-wrap {

        justify-content: left;

    }



    .contact-form-block__form {

        padding: 30px;

    }



    .above-footer a.theme-btn-primary.btnChevron {

        position: relative;

    }

    .why-aluna-tag {

        margin-top: 30px;

    }

}



/* =======================================

   NEW TEMPLATES: Contact Us, Shop, Product, Treatment, Consultation

   ======================================= */



/* Hero Sections - Common Styling */

.page-hero-section,

.shop-hero-section,

.treatment-hero {

    background-color: var(--theme-third-color);

    padding: 60px 0;

}



.page-hero-section h1,

.shop-hero-section h1,

.treatment-hero h1 {

    font-size: 48px;

    font-weight: 400;

    color: var(--theme-text-color);

    margin-bottom: 15px;

}



.page-hero-section p,

.shop-hero-section p,

.treatment-hero p {

    font-size: 14px;

    color: rgba(51, 51, 51, 0.8);

    margin-bottom: 0;

}



/* Badge/Label Styling */

.badge-label {

    display: inline-block;

    background-color: var(--theme-primary-color);

    color: #fff;

    padding: 8px 16px;

    border-radius: 20px;

    font-size: 12px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.5px;

    margin-bottom: 20px;

}



/* =======================================

   ALUNA PAGE LAYOUT — Shop & Contact (matches PDP)

   Reference: aluna_mockups_-_frame_cdjxs2

   ======================================= */



.shop-page,

.cart-page,

.checkout-page,

.order-received-page,

.my-account-page,

.my-account-login-page,

.contact-us-page,

.consultation-page,

.condition-page {

    --aluna-orange: var(--theme-primary-color, #f44706);

    --cf-number-bg-color: var(--aluna-orange);

    --cf-number-text-color: #fff;

    --aluna-hero-bg: #d9e1d5;

    --aluna-page-bg: #e8ede4;

    --aluna-text: #2c3338;

    --aluna-body: #5a6268;

    --aluna-muted: #7a8288;

    --aluna-border: #d4dad0;

    --aluna-border-soft: #c5cebd;

    --aluna-callout-bg: #eff3ec;

    --aluna-outer-space: #414a4c;

    --aluna-font: "DM Sans", "Open Sans", sans-serif;

    --aluna-container-max: 1180px;

    --aluna-gutter: clamp(20px, 4vw, 48px);

    background-color: var(--aluna-page-bg);

}



.shop-page .container,

.cart-page .container,

.checkout-page .container,

.order-received-page .container,

.my-account-page .container,

.my-account-login-page .container,

.contact-us-page .container,

.consultation-page .container,

.condition-page .container {

    width: 100%;

    max-width: var(--aluna-container-max);

    margin-left: auto;

    margin-right: auto;

    padding-left: var(--aluna-gutter);

    padding-right: var(--aluna-gutter);

}



/* =======================================

   CONTACT US PAGE TEMPLATE

   ======================================= */



/* Hero + map */

.contact-us-hero {

    background-color: var(--aluna-hero-bg);

    padding: 56px 0 0;

}



.contact-us-hero__content {

    max-width: 720px;

    margin: 0 auto 32px;

}



.contact-us-hero__badge {

    display: inline-block;

    margin-bottom: 20px;

    padding: 6px 16px;

    border-radius: 20px;

    background-color: var(--aluna-orange);

    color: #fff;

    font-family: var(--aluna-font) !important;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 1.5px;

    text-transform: uppercase;

}



.contact-us-hero__title {

    margin-bottom: 16px;

    font-family: "Playfair Display", serif !important;

    font-size: 44px;

    font-weight: 400;

    line-height: 1.12;

    color: var(--aluna-text);

}



.contact-us-hero__intro {

    margin: 0 auto;

    max-width: 520px;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.7;

    color: var(--aluna-body);

}



.contact-us-map {

    width: 100%;

    overflow: hidden;

    margin-top: 8px;

}



.contact-us-map iframe {

    display: block;

    width: 100%;

    height: 420px;

    border: 0;

}



/* Main two-column area */

.contact-us-main {

    padding: 48px 0 72px;

    background-color: var(--aluna-hero-bg);

}



.contact-us-main .contact-us-main__row {

    --bs-gutter-x: 32px;

    --bs-gutter-y: 32px;

}



.contact-us-form-card {

    padding: 48px 48px 52px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

}



.contact-us-form-card__heading {

    margin: 0 0 var(--contact-heading-gap);

    font-family: "Playfair Display", serif !important;

    font-size: 28px;

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text);

}



.contact-us-form-card__intro,

.contact-us-form-card__phone {

    margin: 0 0 var(--contact-text-gap);

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body);

}



.contact-us-page .contact-us-form-card__phone {

    margin-bottom: var(--contact-phone-gap);

}



.contact-us-form-card__phone strong,

.contact-us-form-card__phone a {

    font-weight: 700;

    color: var(--theme-text-color);

}



.contact-us-form-card__phone a {

    text-decoration: none;

}



.contact-us-form-card__phone a:hover {

    color: var(--theme-primary-color);

}



.contact-us-sidebar {

    display: flex;

    flex-direction: column;

    gap: 28px;

}



/* Figma: SIDEBAR > Info card */

.contact-us-sidebar .info-card {

    position: relative;

    padding: 36px 36px 32px;

    border-radius: 16px;

    background-color: #e8f0ea;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

    overflow: visible;

}



.contact-us-sidebar .info-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    height: 4px;

    background-color: var(--aluna-orange);

}



.info-card-logo {

    margin-bottom: 24px;

}



.info-card-logo img {

    max-width: 120px;

    height: auto;

}



.info-card-intro {

    margin-bottom: 28px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.65;

    color: rgba(51, 51, 51, 0.8);

}



.info-card-intro p:last-child {

    margin-bottom: 0;

}



.info-items {

    display: flex;

    flex-direction: column;

    gap: 24px;

}



.info-item {

    display: flex;

    gap: 14px;

    align-items: flex-start;

}



.info-item__content {

    flex: 1;

    min-width: 0;

}



.info-item__icon {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    width: 44px;

    height: 44px;

    border-radius: 50%;

    background-color: rgba(244, 71, 6, 0.14);

    color: var(--aluna-orange);

}



.info-item__icon .contact-icon {

    display: block;

    width: 20px;

    height: 20px;

}



.info-item__label {

    margin: 0 0 6px;

    font-family: Open Sans, sans-serif !important;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    color: rgba(51, 51, 51, 0.55);

}



.info-item__value {

    margin: 0;

    font-size: 14px;

    font-weight: 500;

    line-height: 1.5;

    color: var(--theme-text-color);

    overflow-wrap: anywhere;

    word-break: break-word;

}



.info-item__value a {

    color: var(--theme-text-color);

    text-decoration: none;

    overflow-wrap: anywhere;

    word-break: break-word;

}



.info-item__value a:hover {

    color: var(--theme-primary-color);

}



/* Figma: SIDEBAR > Opening hours */

.contact-us-sidebar .opening-hours {

    padding: 32px 36px 30px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

}



.opening-hours__title {

    display: flex;

    align-items: center;

    gap: 12px;

    margin: 0 0 22px;

    font-family: "Playfair Display", serif !important;

    font-size: 20px;

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text);

}



.opening-hours__icon {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    width: auto;

    height: auto;

    color: var(--aluna-orange);

}



.opening-hours__icon .contact-icon--clock {

    width: 22px;

    height: 22px;

}



.opening-hours__schedule {

    margin: 0;

}



.opening-hours__row {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 16px;

    padding: 16px 0;

    border-bottom: 1px solid #ebebeb;

    font-size: 14px;

    line-height: 1.4;

}



.opening-hours__row:first-child {

    padding-top: 0;

}



.opening-hours__row:last-child {

    padding-bottom: 0;

    border-bottom: none;

}



.opening-hours__row dt {

    margin: 0;

    font-family: Open Sans, sans-serif !important;

    font-weight: 400;

    color: rgba(51, 51, 51, 0.65);

}



.opening-hours__row dd {

    margin: 0;

    font-family: Open Sans, sans-serif !important;

    font-weight: 600;

    color: var(--theme-text-color);

    text-align: right;

    white-space: nowrap;

}



/* Figma: SIDEBAR > Trust card */

.contact-us-sidebar .trust-card {

    padding: 32px 36px 36px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

}



.trust-card__list {

    margin: 0;

    padding: 0;

    list-style: none;

}



.trust-card__item {

    display: flex;

    align-items: flex-start;

    gap: 12px;

    margin-bottom: 14px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.5;

    color: rgba(51, 51, 51, 0.85);

}



.trust-card__item:last-child {

    margin-bottom: 0;

}



.trust-card__item i {

    margin-top: 3px;

    color: var(--aluna-orange);

    font-size: 12px;

}



/* Shared trust strip (Contact Us footer, Shop footer & hero bar) – Figma */

.aluna-trust-strip {

    --aluna-trust-bullet: #f44706;

    padding: 18px 0 22px;

    background-color: var(--theme-third-color);

    border-top: 1px solid rgba(0, 0, 0, 0.06);

}



.aluna-trust-strip--bar {

    margin-top: 0;

    background-color: #fff;

    border-top: 1px solid rgba(0, 0, 0, 0.08);

    border-bottom: 1px solid rgba(0, 0, 0, 0.08);

    padding: 14px 0 16px;

}



.aluna-trust-strip__list {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    align-items: center;

    gap: 12px 32px;

    margin: 0;

    padding: 0;

    list-style: none;

}



/* Beat parent theme: section ul { list-style: disc; padding-left: 15px } */

.contact-us-page .aluna-trust-strip ul.aluna-trust-strip__list,

.contact-us-page .aluna-trust-strip ul.aluna-trust-strip__list li,

.shop-page .aluna-trust-strip ul.aluna-trust-strip__list,

.shop-page .aluna-trust-strip ul.aluna-trust-strip__list li,

section.aluna-trust-strip ul.aluna-trust-strip__list,

section.aluna-trust-strip ul.aluna-trust-strip__list li,

.aluna-trust-strip ul.aluna-trust-strip__list,

.aluna-trust-strip ul.aluna-trust-strip__list li {

    list-style: none !important;

    list-style-type: none !important;

    margin-left: 0 !important;

    padding-left: 0 !important;

}



.aluna-trust-strip__list li {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    font-family: Open Sans, sans-serif;

    font-size: 14px;

    font-weight: 400;

    line-height: 16px;

    color: rgba(51, 51, 51, 0.82);

    list-style: none;

}



.aluna-trust-strip__list li::marker {

    display: none !important;

    content: none !important;

}



.contact-us-page .aluna-trust-strip__list li::before,

.shop-page .aluna-trust-strip__list li::before,

.aluna-trust-strip__list li::before {

    display: block !important;

    content: "" !important;

    flex-shrink: 0;

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background-color: var(--aluna-trust-bullet);

}



.aluna-trust-strip__list li:not(:last-child)::after {

    display: none;

    content: none;

}



/* Contact form (CF7) – Figma spacing + Aluna orange #f44706 */

.contact-us-page {

    --contact-field-bg: #f5f6f4;

    --contact-field-border: var(--aluna-border);

    --contact-field-radius: 12px;

    --contact-field-height: 50px;

    --contact-field-padding-y: 14px;

    --contact-field-padding-x: 18px;

    --contact-btn-bg: #f44706;

    --contact-btn-height: 52px;

    --contact-btn-radius: 100px;

    --contact-btn-padding: 16px;

    --contact-form-gap: 16px;

    --contact-form-row-pad-top: 24px;

    --contact-heading-gap: 20px;

    --contact-text-gap: 16px;

    --contact-phone-gap: 28px;

}



.contact-us-page .contact-us-form-card__form,

.contact-us-page .cf7-application-form {

    margin-top: 0;

}



/* Form area: flush with heading/intro — no extra inset panel */

.contact-us-page .contact-us-form-card__form {

    max-width: 100%;

    min-width: 0;

    margin: 0;

    padding: 0;

    border: 0;

    border-radius: 0;

    background: transparent;

    overflow-x: clip;

    box-sizing: border-box;

}



/* CF7 wrappers: no extra box */

.contact-us-page .contact-us-form-card__form .wpcf7,

.contact-us-page .contact-us-form-card__form .wpcf7-form,

.contact-us-page .contact-us-form-card__form .cf7-application-form,

.contact-us-page .contact-us-form-card__form > form,

.contact-us-page .contact-us-form-card__form form {

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 0;

    background: transparent !important;

    box-shadow: none !important;

    overflow: visible;

    max-width: 100%;

    width: 100%;

    box-sizing: border-box;

}



/* Parent theme .contact-form hooks (if class remains in CF7 markup) */

.contact-us-page .contact-us-form-card__form .contact-form form,

.contact-us-page .contact-us-form-card__form.contact-form form {

    margin: 0 !important;

    padding: 0 !important;

    overflow: visible;

}



.contact-us-page .contact-form form > div,

.contact-us-page .contact-form form p,

.contact-us-page .contact-form form .half-col,

.contact-us-page .wpcf7-form > p,

.contact-us-page .wpcf7-form .wpcf7-form-control-wrap {

    padding: 0 !important;

    margin-left: 0 !important;

    margin-right: 0 !important;

    max-width: 100%;

    min-width: 0;

    box-sizing: border-box;

}



.contact-us-page .contact-form form .half-col {

    width: auto;

    float: none;

}



/* CF7: one .row — Figma grid (2 cols desktop, full-width message + submit) */

.contact-us-page .contact-us-form-card__form .wpcf7-form > .row {

    display: grid;

    width: 100%;

    max-width: 100%;

    margin: 0 !important;

    padding-top: var(--contact-form-row-pad-top);

    column-gap: var(--contact-form-gap);

    row-gap: var(--contact-form-gap);

    grid-template-columns: minmax(0, 1fr);

}



.contact-us-page .contact-us-form-card__form .wpcf7-form > .row > [class*="col-"] {

    width: auto !important;

    max-width: none !important;

    flex: none !important;

    padding: 0 !important;

    margin: 0 !important;

    min-width: 0;

    box-sizing: border-box;

}



.contact-us-page .contact-us-form-card__form .wpcf7-form > .row > [class*="col-"].mb-3 {

    margin-bottom: 0 !important;

}



@media (min-width: 768px) {

    .contact-us-page .contact-us-form-card__form .wpcf7-form > .row {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }



    .contact-us-page .contact-us-form-card__form .wpcf7-form > .row > .col-lg-12,

    .contact-us-page .contact-us-form-card__form .wpcf7-form > .row > .col-md-12 {

        grid-column: 1 / -1;

    }

}



@media (max-width: 767.98px) {

    .contact-us-page .contact-us-form-card__form .wpcf7-form > .row {

        padding-top: 20px;

    }

}



.contact-us-page .cf7-application-form .cf7-submit-row {

    margin-top: 8px;

    margin-bottom: 0;

}



.contact-us-page .wpcf7-form .wpcf7-form-control-wrap {

    display: block;

}



.contact-us-page .wpcf7-form .form-control {

    width: 100%;

}



/* Hide leftover page-editor copy; template ACF fields own the heading/intro */

.contact-us-page .contact-us-form-card__form > *:not(.wpcf7):not(script):not(style):not(link) {

    display: none;

}



/* Hide intro copy baked into the CF7 form template (legacy .contact-content markup) */

.contact-us-page .contact-us-form-card__form .wpcf7-form > h2,

.contact-us-page .contact-us-form-card__form .wpcf7-form > h3,

.contact-us-page .contact-us-form-card__form .wpcf7-form > p:not([class]),

.contact-us-page .contact-us-form-card__form .contact-content {

    display: none;

}



/* Placeholder-only fields (no visible labels) */

.contact-us-page .cf7-application-form .cf7-field label,

.contact-us-page .wpcf7-form label {

    position: absolute;

    width: 1px;

    height: 1px;

    padding: 0;

    margin: -1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    white-space: nowrap;

    border: 0;

}



.contact-us-page .cf7-application-form .cf7-row-2 .cf7-field,

.contact-us-page .cf7-application-form .cf7-row:not(.cf7-row-2) .cf7-field {

    margin-bottom: 0;

}



/* Figma: Snow Drift fill, Tasman border, 50px height, 14px/18px padding */

.contact-us-page .contact-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),

.contact-us-page .contact-form textarea,

.contact-us-page .contact-form select,

.contact-us-page .wpcf7-form input[type="text"],

.contact-us-page .wpcf7-form input[type="email"],

.contact-us-page .wpcf7-form input[type="tel"],

.contact-us-page .wpcf7-form select,

.contact-us-page .wpcf7-form textarea,

.contact-us-page .wpcf7-form .form-control,

.contact-us-page .cf7-application-form input[type="text"],

.contact-us-page .cf7-application-form input[type="email"],

.contact-us-page .cf7-application-form input[type="tel"],

.contact-us-page .cf7-application-form select,

.contact-us-page .cf7-application-form textarea {

    width: 100%;

    height: var(--contact-field-height);

    margin: 0;

    padding: var(--contact-field-padding-y) var(--contact-field-padding-x);

    border: 1px solid var(--contact-field-border);

    border-radius: var(--contact-field-radius);

    background-color: var(--contact-field-bg);

    box-shadow: none;

    font-family: Open Sans, sans-serif !important;

    font-size: 14px;

    line-height: 1.4;

    color: var(--theme-text-color);

    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;

}



.contact-us-page .contact-form input::placeholder,

.contact-us-page .contact-form textarea::placeholder,

.contact-us-page .wpcf7-form input::placeholder,

.contact-us-page .wpcf7-form textarea::placeholder,

.contact-us-page .cf7-application-form input::placeholder,

.contact-us-page .cf7-application-form textarea::placeholder {

    color: rgba(51, 51, 51, 0.45);

    font-family: Open Sans, sans-serif !important;

    font-weight: 400;

}



.contact-us-page .contact-form textarea,

.contact-us-page .wpcf7-form textarea,

.contact-us-page .cf7-application-form textarea {

    height: auto;

    min-height: 160px;

    padding: var(--contact-field-padding-y) var(--contact-field-padding-x);

    resize: vertical;

}



.contact-us-page .contact-form input:not([type="submit"]):focus,

.contact-us-page .contact-form textarea:focus,

.contact-us-page .wpcf7-form input:not([type="submit"]):focus,

.contact-us-page .wpcf7-form textarea:focus,

.contact-us-page .cf7-application-form input:focus,

.contact-us-page .cf7-application-form textarea:focus {

    outline: none;

    border-color: #c5ccc0;

    background-color: var(--contact-field-bg);

}



.contact-us-page .contact-form input:not([type="submit"]):focus-visible,

.contact-us-page .contact-form textarea:focus-visible,

.contact-us-page .wpcf7-form input:not([type="submit"]):focus-visible,

.contact-us-page .wpcf7-form textarea:focus-visible {

    box-shadow: 0 0 0 2px rgba(244, 71, 6, 0.15);

}



.contact-us-page .cf7-application-form .cf7-submit-row,

.contact-us-page .wpcf7-form p:has(input[type="submit"]),

.contact-us-page .wpcf7-form [class*="col-"]:has(input[type="submit"]),

.contact-us-page .wpcf7-form .wpcf7-submit {

    position: relative;

    margin: 0;

    width: 100%;

    max-width: 100%;

}



/* Submit: #f44706, 16px padding, pill radius (Figma 100px) */

.contact-us-page .contact-form input[type="submit"],

.contact-us-page .contact-form button[type="submit"],

.contact-us-page .wpcf7-form input[type="submit"],

.contact-us-page .cf7-application-form input[type="submit"],

.contact-us-page .wpcf7-form .theme-btn-gradient {

    display: block;

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

    min-height: var(--contact-btn-height);

    height: auto;

    margin: 0;

    padding: var(--contact-btn-padding);

    border: 0 !important;

    border-radius: var(--contact-btn-radius) !important;

    box-sizing: border-box;

    background-color: var(--contact-btn-bg) !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m22 2-11 13M22 2 15 22l-4-9-9-4 20-7Z' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;

    background-position: calc(50% + 4.85rem) center !important;

    background-size: 18px 18px !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: Open Sans, sans-serif !important;

    font-size: 14px;

    font-weight: 600;

    letter-spacing: 0.01em;

    line-height: 1.25;

    text-align: center;

    text-transform: none;

    cursor: pointer;

    box-shadow: none;

    transition: background-color 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;

}



.contact-us-page .contact-form input[type="submit"]:hover,

.contact-us-page .contact-form button[type="submit"]:hover,

.contact-us-page .wpcf7-form input[type="submit"]:hover,

.contact-us-page .cf7-application-form input[type="submit"]:hover,

.contact-us-page .wpcf7-form .theme-btn-gradient:hover,

.contact-us-page .wpcf7-form .theme-btn-gradient:focus {

    background-color: var(--contact-btn-bg) !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m22 2-11 13M22 2 15 22l-4-9-9-4 20-7Z' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

    filter: brightness(0.96);

    box-shadow: 0 4px 14px rgba(244, 71, 6, 0.28);

    opacity: 1;

}



.contact-us-page .wpcf7-not-valid-tip {

    margin-top: 6px;

    font-size: 12px;

}



.contact-us-page .wpcf7-response-output {

    margin: 16px 0 0;

    border-radius: 8px;

}



/* Legacy contact classes (consultation sidebar still uses these) */

.contact-map-section {

    padding: 40px 0;

}



.contact-map-section iframe {

    width: 100%;

    height: 400px;

    border: none;

    border-radius: 8px;

}



.contact-content-section {

    padding: 60px 0;

    background-color: #fff;

}



/* =======================================

   SHOP PAGE TEMPLATE (Figma)

   ======================================= */



.shop-page {

    --shop-btn-bg: var(--theme-primary-color, #f44706);

    --shop-media-bg: var(--aluna-page-bg, #e8ede4);

    --shop-media-bg-end: #dfe6da;

    --shop-card-body-bg: #fff;

    --shop-card-radius: 18px;

}



/* Hero + white trust bar (Figma) */

.shop-page .shop-page-header {

    background-color: var(--aluna-hero-bg);

}



.shop-page .shop-hero {

    padding: 56px 0 32px;

    background-color: transparent;

}



.shop-page .shop-hero__content {

    max-width: 720px;

    margin: 0 auto;

}



.shop-page .shop-hero__badge {

    display: inline-block;

    margin-bottom: 20px;

    padding: 6px 16px;

    border-radius: 20px;

    background-color: var(--shop-btn-bg);

    color: #fff;

    font-family: var(--aluna-font) !important;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 1.5px;

    text-transform: uppercase;

}



.shop-page .shop-hero__title {

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: 44px;

    font-weight: 400;

    line-height: 1.12;

    color: var(--aluna-text);

}



.shop-page .shop-hero__intro {

    max-width: 520px;

    margin: 0 auto;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.7;

    color: var(--aluna-body);

}



.shop-page .shop-page-header .aluna-trust-strip--bar {

    background-color: #fff !important;

    border-top: 1px solid rgba(197, 206, 189, 0.5);

    border-bottom: 1px solid rgba(197, 206, 189, 0.5);

    padding: 22px 0 24px;

}



/* Hero trust row: balanced 2×2 / 4-column grid (avoids lone wrapped item) */

.shop-page .shop-page-header .aluna-trust-strip--bar .aluna-trust-strip__list {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, max-content));

    justify-content: center;

    justify-items: start;

    gap: 14px 40px;

    max-width: 720px;

    margin-left: auto;

    margin-right: auto;

}



@media (min-width: 992px) {

    .shop-page .shop-page-header .aluna-trust-strip--bar .aluna-trust-strip__list {

        grid-template-columns: repeat(4, minmax(0, max-content));

        gap: 16px 36px;

        max-width: none;

        justify-items: center;

    }



    .shop-page .shop-page-header .aluna-trust-strip--bar .aluna-trust-strip__list li {

        white-space: nowrap;

    }

}



@media (max-width: 575px) {

    .shop-page .shop-page-header .aluna-trust-strip--bar .aluna-trust-strip__list {

        grid-template-columns: 1fr;

        justify-items: center;

        gap: 12px;

    }

}



.shop-page .shop-page-header .aluna-trust-strip--bar .container,

.contact-us-page .aluna-trust-strip .container {

    max-width: var(--aluna-container-max);

    padding-left: var(--aluna-gutter);

    padding-right: var(--aluna-gutter);

}



/* Contact footer trust row — balanced grid (matches shop hero strip) */

.contact-us-page > .aluna-trust-strip,

.contact-us-page section.aluna-trust-strip {

    padding: 28px 0 36px;

    background-color: var(--aluna-hero-bg);

    border-top: 1px solid rgba(197, 206, 189, 0.5);

}



.contact-us-page > .aluna-trust-strip .aluna-trust-strip__list,

.contact-us-page section.aluna-trust-strip .aluna-trust-strip__list {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, max-content));

    justify-content: center;

    justify-items: center;

    gap: 14px 40px;

    max-width: 720px;

    margin-left: auto;

    margin-right: auto;

}



@media (min-width: 992px) {

    .contact-us-page > .aluna-trust-strip .aluna-trust-strip__list,

    .contact-us-page section.aluna-trust-strip .aluna-trust-strip__list {

        grid-template-columns: repeat(4, minmax(0, max-content));

        gap: 16px 36px;

        max-width: none;

    }



    .contact-us-page > .aluna-trust-strip .aluna-trust-strip__list li,

    .contact-us-page section.aluna-trust-strip .aluna-trust-strip__list li {

        white-space: nowrap;

    }

}



@media (max-width: 575px) {

    .contact-us-page > .aluna-trust-strip .aluna-trust-strip__list,

    .contact-us-page section.aluna-trust-strip .aluna-trust-strip__list {

        grid-template-columns: 1fr;

        gap: 12px;

    }

}



/* Product grid – Figma cards */

.shop-page .shop-products {

    padding: 48px 0 72px;

    background-color: var(--aluna-hero-bg);

}



.shop-page .shop-products__grid {

    --bs-gutter-x: 32px;

    --bs-gutter-y: 32px;

}



.shop-page .shop-products__empty {

    margin: 0;

    font-size: 14px;

    color: rgba(51, 51, 51, 0.7);

}



.shop-page .shop-product-card {

    display: flex;

    flex-direction: column;

    height: 100%;

    border-radius: var(--shop-card-radius);

    overflow: hidden;

    background-color: var(--shop-card-body-bg);

    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);

    transition: box-shadow 0.2s ease;

}



.shop-page .shop-product-card:hover {

    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.08);

}



/* Top: sage image panel */

.shop-page .shop-product-card__media {

    position: relative;

    min-height: 260px;

    padding: 32px 28px 28px;

    border-radius: var(--shop-card-radius) var(--shop-card-radius) 0 0;

    background: linear-gradient(180deg, #eef2eb 0%, var(--shop-media-bg) 45%, var(--shop-media-bg-end) 100%);

    display: flex;

    align-items: center;

    justify-content: center;

}



.shop-page .shop-product-card__badge {

    position: absolute;

    top: 14px;

    right: 14px;

    z-index: 2;

    padding: 7px 14px;

    border-radius: 100px;

    background-color: #fff;

    font-family: Open Sans, sans-serif !important;

    font-size: 12px;

    font-weight: 600;

    line-height: 1;

    color: rgba(51, 51, 51, 0.85);

    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);

}



.shop-product-card__image-link {

    display: flex;

    align-items: center;

    justify-content: center;

    width: calc(100% - 8px);

    max-width: 280px;

    height: 236px;

    margin: 0 auto;

    padding: 24px 28px;

    border-radius: 8px;

    background-color: #fff;

    text-decoration: none;

    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);

}



/* Uniform height across shop, condition, treatment, and related product cards */

.shop-product-card__image {

    width: 100%;

    height: 180px;

    object-fit: contain;

    object-position: center;

}



/* Dashed placeholder (Figma) */

.shop-page .shop-product-card__placeholder {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 12px;

    width: 100%;

}



.shop-page .shop-product-card__placeholder-frame {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 120px;

    height: 120px;

    border: 1.5px dashed rgba(51, 51, 51, 0.22);

    border-radius: 4px;

    color: rgba(51, 51, 51, 0.28);

}



.shop-page .shop-product-card__placeholder-label {

    font-family: Open Sans, sans-serif !important;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: rgba(51, 51, 51, 0.35);

}



/* Bottom: white content panel (Figma) */

.shop-page .shop-product-card__body {

    display: flex;

    flex-direction: column;

    flex-grow: 1;

    padding: 36px 36px 40px;

    text-align: left;

    background-color: #fff;

}



.shop-page .shop-product-card__category {

    margin: 0 0 10px;

    font-family: Open Sans, sans-serif !important;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.1em;

    line-height: 1.4;

    text-transform: uppercase;

    color: var(--shop-btn-bg);

}



.shop-page .shop-product-card__title {

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: 22px;

    font-weight: 400;

    line-height: 1.2;

    letter-spacing: -0.01em;

}



.shop-page .shop-product-card__title a {

    color: var(--theme-text-color);

    text-decoration: none;

}



.shop-page .shop-product-card__title a:hover {

    color: var(--shop-btn-bg);

}



/* Product card excerpt & price — shop, condition, consultation, related products */

.shop-product-card__excerpt {

    margin: 0;

    font-family: Open Sans, sans-serif !important;

    font-size: 14px;

    line-height: 1.65;

    color: rgba(51, 51, 51, 0.72);

    display: -webkit-box;

    -webkit-box-orient: vertical;

    -webkit-line-clamp: 4;

    line-clamp: 4;

    overflow: hidden;

    flex: 1 1 auto;

    min-height: 0;

    max-height: calc(1.65em * 4);

}



.shop-product-card__footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    margin-top: auto;

    padding-top: 24px;

    border-top: 1px solid #e6e6e6;

}



.shop-product-card__price {

    flex: 1 1 auto;

    min-width: 0;

    font-family: Open Sans, sans-serif !important;

    font-size: 13px;

    font-weight: 700;

    line-height: 1.25;

    color: var(--theme-text-color);

}



.shop-product-card__price-value {

    display: block;

    max-width: 100%;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

    font-size: 13px;

}



.shop-product-card__price-value .price,

.shop-product-card__price-value > span.price,

.shop-product-card__price-range {

    width: auto !important;

    max-width: none;

    display: inline !important;

    white-space: nowrap;

}



.shop-product-card__price-value .woocommerce-Price-amount,

.shop-product-card__price-value ins,

.shop-product-card__price-value del,

.shop-product-card__price-value bdi,

.shop-product-card__price-value .amount {

    display: inline !important;

    white-space: nowrap;

}



.shop-product-card__price-value .woocommerce-Price-amount,

.shop-product-card__price-value ins,

.shop-product-card__price-value bdi {

    font-weight: 700;

    text-decoration: none;

}



.shop-product-card__price-value del {

    opacity: 0.55;

    font-weight: 400;

}



.shop-product-card__cta {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    flex-shrink: 0;

    font-family: Open Sans, sans-serif !important;

    font-size: 12px;

    font-weight: 600;

    line-height: 1.2;

    color: var(--shop-btn-bg);

    text-decoration: none;

    white-space: nowrap;

}



.shop-product-card__cta:hover {

    color: var(--theme-primary-color);

}



.shop-product-card__cta:hover .shop-product-card__cta-icon {

    box-shadow: 0 2px 10px rgba(44, 51, 56, 0.18);

    transform: translateX(2px);

    color: #fff;

}



.shop-product-card__cta-text {

    display: inline-block;

}



.shop-product-card__cta-icon {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    width: 24px;

    height: 24px;

    border: 1px solid var(--shop-btn-bg);

    border-radius: 50%;

    background-color: var(--shop-btn-bg);

    color: #fff;

    transition: box-shadow 0.2s ease, transform 0.2s ease;

}



.shop-product-card__cta-icon svg {

    display: block;

    width: 10px;

    height: 10px;

}



/* Explanation (same markup/styles as home .aluna-explanation) */

.shop-page section.aluna-explanation ul.explanation-list,

.shop-page section.aluna-explanation ul.explanation-list li {

    list-style: none !important;

    list-style-type: none !important;

}



.shop-page section.aluna-explanation ul.explanation-list li {

    padding-left: 32px !important;

}



/* Explanation block on shop (white section like PDP tabs) */

.shop-page .aluna-explanation {

    padding: 72px 0 80px;

    background-color: #fff;

}



/* Bottom CTA */

.shop-page .shop-bottom-cta {

    padding: 32px 0 48px;

    background-color: var(--aluna-hero-bg);

}



.shop-page .shop-bottom-cta__disclaimer {

    max-width: 720px;

    margin: 0 auto 24px;

    font-family: Open Sans, sans-serif !important;

    font-size: 13px;

    line-height: 1.6;

    color: rgba(51, 51, 51, 0.7);

}



.shop-page .shop-bottom-cta__btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 52px;

    padding: 16px 32px;

    border-radius: 100px;

    background-color: var(--shop-btn-bg) !important;

    border: 0;

    color: #fff !important;

    font-family: Open Sans, sans-serif !important;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;

    transition: background-color 0.2s ease, opacity 0.2s ease;

}



.shop-page .shop-bottom-cta__btn:hover {

    filter: brightness(0.96);

    box-shadow: 0 4px 14px rgba(44, 51, 56, 0.12);

    color: #fff !important;

    opacity: 1;

}



/* Legacy shop selectors (other pages) */

.explanation-section {

    background-color: #fff;

    padding: 80px 0;

}



/* =======================================

   PRODUCT — Single product page (PDP)

   Reference: aluna_mockups_-_frame_cdjxs2

   ======================================= */



/* --- Variables --- */

.product-page {

    --aluna-orange: #f44706;

    --aluna-hero-bg: #d9e1d5;

    --aluna-page-bg: #e8ede4;

    --aluna-text: #2c3338;

    --aluna-body: #5a6268;

    --aluna-muted: #7a8288;

    --aluna-border: #d4dad0;

    --aluna-border-soft: #c5cebd;

    --aluna-callout-bg: #eff3ec;

    --product-btn-bg: var(--aluna-orange);

    --product-btn-radius: 9999px;

    --product-media-bg: var(--aluna-page-bg);

    --product-font: "DM Sans", "Open Sans", sans-serif;

    background-color: var(--aluna-page-bg);

}



/* --- Breadcrumb --- */

.product-page__breadcrumb {

    padding: 18px 0;

    background-color: var(--aluna-hero-bg);

}



.product-page__layout-container,

.product-page__breadcrumb .container,

.product-page__related .container,

.product-page__disclaimer .container {

    --aluna-container-max: 1180px;

    --aluna-gutter: clamp(20px, 4vw, 48px);

    width: 100%;

    max-width: var(--aluna-container-max);

    margin-left: auto;

    margin-right: auto;

    padding-left: var(--aluna-gutter);

    padding-right: var(--aluna-gutter);

    box-sizing: border-box;

}



.product-page__breadcrumb-nav {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 8px;

    font-family: var(--product-font) !important;

    font-size: 13px;

}



.product-page__breadcrumb-nav a {

    font-weight: 500;

    color: var(--aluna-orange) !important;

    text-decoration: none;

}



.product-page__breadcrumb-nav a:hover {

    color: var(--theme-primary-color) !important;

    text-decoration: underline;

}



.product-page__breadcrumb-sep {

    color: var(--aluna-border-soft);

    font-weight: 400;

}



.product-page__breadcrumb-current {

    color: var(--aluna-muted);

}



/* --- Hero / gallery --- */

.product-page__hero {

    padding: 0 0 72px;

    background-color: var(--aluna-hero-bg);

}



.product-page__hero-grid {

    display: grid;

    grid-template-columns: 1fr;

    gap: 32px;

    padding-top: 32px;

}



@media (min-width: 992px) {

    .product-page__hero-grid {

        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

        gap: 64px;

        align-items: start;

    }

}



.product-page__gallery-col {

    display: flex;

    flex-direction: column;

    gap: 14px;

}



.product-page__gallery {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 420px;

    padding: 40px 32px 48px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

}



.product-page__dose-badge {

    position: absolute;

    top: 16px;

    left: 16px;

    z-index: 2;

    padding: 6px 12px;

    border-radius: 100px;

    background-color: #fff;

    font-family: var(--product-font);

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 0.04em;

    text-transform: uppercase;

    color: var(--aluna-text);

}



.product-page__image-wrap {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 100%;

    min-height: 320px;

    padding: 0;

}



.product-page__image {

    max-width: 100%;

    max-height: 360px;

    width: auto;

    height: auto;

    object-fit: contain;

}



.product-page__image-placeholder {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 10px;

    width: 280px;

    min-height: 300px;

    padding: 24px;

    border-radius: 14px;

    border: 2px dashed var(--aluna-border-soft);

    background: transparent;

}



.product-page__image-placeholder-icon {

    width: 44px;

    height: 44px;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' stroke='%23c5cebd' stroke-width='1.5'/%3E%3Ccircle cx='8.5' cy='10' r='1.5' fill='%23c5cebd'/%3E%3Cpath d='M3 16l5-5 4 4 3-3 6 6' stroke='%23c5cebd' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: center;

    background-size: contain;

}



.product-page__image-placeholder-label {

    font-family: var(--product-font);

    font-size: 13px;

    font-weight: 500;

    letter-spacing: 0.5px;

    text-transform: uppercase;

    color: var(--aluna-border-soft);

}



.product-page__image-disclaimer {

    margin: 0;

    padding: 0 8px;

    text-align: center;

    font-family: var(--product-font) !important;

    font-size: 12px;

    font-style: italic;

    line-height: 1.55;

    color: var(--aluna-muted);

}



/* --- Product details --- */

.product-page__details {

    display: flex;

    flex-direction: column;

    gap: 0;

    padding-top: 4px;

}



.product-page__category {

    margin: 0 0 12px;

    font-family: var(--product-font) !important;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 1.4px;

    text-transform: uppercase;

    color: var(--aluna-orange);

}



.product-page__title {

    margin: 0 0 20px;

    font-family: "Playfair Display", serif !important;

    font-size: 44px;

    font-weight: 400;

    line-height: 1.12;

    color: var(--aluna-text);

}



.product-page__excerpt {

    margin-bottom: 12px;

}



.product-page__excerpt,

.product-page__excerpt p {

    max-width: none;

    font-family: var(--product-font) !important;

    font-size: 15px;

    line-height: 1.7;

    color: var(--aluna-body);

}



.product-page__excerpt p:last-child {

    margin-bottom: 0;

}



.product-page__details-disclaimer {

    margin: 0 0 24px;

    font-family: var(--product-font) !important;

    font-size: 13px;

    font-style: italic;

    line-height: 1.5;

    color: var(--aluna-muted);

}



.product-page__price {

    margin: 0 0 28px;

    padding-top: 0;

    border-bottom: 0;

    font-family: var(--product-font) !important;

    font-size: 36px;

    font-weight: 700;

    letter-spacing: -0.5px;

    color: var(--aluna-orange);

}



.product-page__price .woocommerce-Price-amount,

.product-page__price ins,

.product-page__price bdi {

    color: var(--aluna-orange) !important;

    text-decoration: none;

}



.product-page__price del,

.product-page__price del .woocommerce-Price-amount {

    color: var(--aluna-muted) !important;

    font-size: 16px;

}



/* --- Cart & variations --- */

.product-page__cart {

    margin-bottom: 0;

}



.product-page__cart form.cart {

    margin: 0;

}



.product-page__cart .single_variation_wrap .woocommerce-variation-price,

.product-page__cart .single_variation_wrap .woocommerce-variation-description {

    display: none !important;

}



/* WC still injects a hidden add-to-cart block inside the variation wrap — hide it; we render our own row below. */

.product-page__cart .single_variation_wrap .woocommerce-variation-add-to-cart {

    display: none !important;

}



.product-page__cart .product-page__cart-actions--visible {

    display: flex !important;

    flex-direction: column !important;

    flex-wrap: nowrap !important;

    align-items: stretch;

    gap: 20px;

    visibility: visible !important;

    opacity: 1 !important;

    margin-top: 24px !important;

    width: 100%;

}



/* Subscription / choose-option block — stacked above buttons */

.product-page__cart .product-page__subscription-options {

    display: block;

    flex: 0 0 auto;

    width: 100%;

}



.product-page__cart .product-page__subscription-options:empty {

    display: none;

}



.product-page__cart .product-page__subscription-options .woo-cart-form-meta-wrapper {

    display: block !important;

    flex: none !important;

    width: 100% !important;

    max-width: 100% !important;

    text-align: left !important;

}



.product-page__cart .product-page__subscription-panel,

.product-page__cart .product-page__subscription-options .wcsatt-options-wrapper {

    display: flex;

    flex-direction: column;

    gap: 16px;

    width: 100%;

    margin: 0;

}



.product-page__cart .product-page__subscription-prompt,

.product-page__cart .product-page__subscription-options .wcsatt-options-prompt,

.product-page__cart .product-page__subscription-options .wcsatt-options-wrapper > h3,

.product-page__cart .product-page__subscription-options .wcsatt-options-wrapper > label:not(.product-page__subscription-option label),

.product-page__cart .product-page__subscription-options .wcsatt-options-wrapper > p {

    display: block;

    margin: 0 !important;

    padding: 0;

    color: #1a1f23 !important;

    font-family: var(--product-font) !important;

    font-size: 12px !important;

    font-weight: 700 !important;

    letter-spacing: 0.8px;

    line-height: 1.3;

    text-align: left !important;

    text-transform: uppercase;

}



.product-page__cart .product-page__subscription-prompt *,

.product-page__cart .product-page__subscription-options .wcsatt-options-prompt * {

    color: inherit !important;

    font-weight: inherit !important;

    font-size: inherit !important;

    letter-spacing: inherit;

    text-transform: inherit;

}



.product-page__cart .product-page__subscription-list,

.product-page__cart .product-page__subscription-options .wcsatt-options-product,

.product-page__cart .product-page__subscription-options ul:has(input[type="radio"]) {

    display: flex;

    flex-direction: column;

    gap: 8px;

    margin: 0 !important;

    padding: 0 !important;

    list-style: none !important;

}



.product-page__cart .product-page__subscription-option,

.product-page__cart .product-page__subscription-options .wcsatt-options-product > li,

.product-page__cart .product-page__subscription-options ul:has(input[type="radio"]) > li {

    margin: 0 !important;

    padding: 0 !important;

    list-style: none !important;

    border: 1px solid var(--aluna-border);

    border-radius: 14px;

    background-color: #fff;

    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;

}



.product-page__cart .product-page__subscription-option::marker,

.product-page__cart .product-page__subscription-options .wcsatt-options-product > li::marker,

.product-page__cart .product-page__subscription-options ul:has(input[type="radio"]) > li::marker {

    content: none;

}



.product-page__cart .product-page__subscription-option.is-selected,

.product-page__cart .product-page__subscription-option:has(input:checked),

.product-page__cart .product-page__subscription-options .wcsatt-options-product > li:has(input:checked),

.product-page__cart .product-page__subscription-options ul:has(input[type="radio"]) > li:has(input:checked) {

    border: 2px solid var(--aluna-orange);

    background-color: rgba(212, 98, 43, 0.1);

    box-shadow: 0 0 0 1px rgba(212, 98, 43, 0.08);

}



.product-page__cart .product-page__subscription-option label,

.product-page__cart .product-page__subscription-options .wcsatt-options-product > li > label,

.product-page__cart .product-page__subscription-options ul:has(input[type="radio"]) > li > label {

    display: flex;

    align-items: center;

    gap: 12px;

    width: 100%;

    margin: 0 !important;

    padding: 14px 18px;

    color: var(--aluna-text);

    font-family: var(--product-font);

    font-size: 14px;

    font-weight: 500;

    line-height: 1.4;

    cursor: pointer;

}



.product-page__cart .product-page__subscription-option.is-selected label,

.product-page__cart .product-page__subscription-option:has(input:checked) label,

.product-page__cart .product-page__subscription-options .wcsatt-options-product > li:has(input:checked) > label {

    font-weight: 600;

}



.product-page__cart .product-page__subscription-option-text,

.product-page__cart .product-page__subscription-options .subscription-details,

.product-page__cart .product-page__subscription-options .subscription-price {

    color: var(--aluna-text);

    font-size: 14px;

    line-height: 1.4;

}



.product-page__cart .product-page__subscription-option input[type="radio"],

.product-page__cart .product-page__subscription-options .wcsatt-options-product input[type="radio"],

.product-page__cart .product-page__subscription-options ul input[type="radio"] {

    flex-shrink: 0;

    width: 18px;

    height: 18px;

    margin: 0 !important;

    accent-color: var(--aluna-orange);

    cursor: pointer;

}



/* Buy Once or Subscribe (BOS4W) */

.product-page__cart .bos4w-display-wrap,

.product-page__cart .product-page__subscription-options .bos4w-display-wrap {

    display: flex;

    flex-direction: column;

    gap: 20px;

    width: 100%;

    margin: 0;

    text-align: left !important;

}



.product-page__cart .bos4w-display-plan-text,

.product-page__cart .product-page__subscription-options .bos4w-display-plan-text,

.product-page__cart .bos4w-display-plan-text.product-page__subscription-prompt {

    display: block;

    margin: 0 !important;

    padding: 0;

    color: #1a1f23 !important;

    font-family: var(--product-font) !important;

    font-size: 12px !important;

    font-weight: 700 !important;

    letter-spacing: 0.8px !important;

    line-height: 1.3;

    text-align: left !important;

    text-transform: uppercase !important;

}



.product-page__cart .bos4w-display-options {

    display: flex;

    flex-direction: column;

    gap: 8px;

    margin: 0 !important;

    padding: 0 !important;

}



.product-page__cart .bos4w-display-options > label,

.product-page__cart .bos4w-display-options .product-page__subscription-option {

    display: flex;

    align-items: center;

    gap: 12px;

    width: 100%;

    margin: 0 !important;

    padding: 14px 18px;

    border: 1px solid var(--aluna-border);

    border-radius: 14px;

    background-color: #fff;

    color: var(--aluna-text);

    font-family: var(--product-font);

    font-size: 14px;

    font-weight: 500;

    line-height: 1.4;

    cursor: pointer;

    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;

}



.product-page__cart .bos4w-display-options > label:has(input:checked),

.product-page__cart .bos4w-display-options .product-page__subscription-option.is-selected,

.product-page__cart .bos4w-display-options .product-page__subscription-option:has(input:checked) {

    border: 2px solid var(--aluna-orange);

    background-color: rgba(212, 98, 43, 0.1);

    box-shadow: 0 0 0 1px rgba(212, 98, 43, 0.08);

    font-weight: 600;

}



.product-page__cart .bos4w-display-options input[type="radio"] {

    flex-shrink: 0;

    width: 18px;

    height: 18px;

    margin: 0 !important;

    accent-color: var(--aluna-orange);

    cursor: pointer;

}



.product-page__cart .bos4w-display-dropdown {

    width: 100%;

    margin: 0;

}



.product-page__cart .bos4w-display-dropdown select {

    width: 100%;

    max-width: 100%;

    min-height: 48px;

    padding: 14px 44px 14px 18px;

    border: 1px solid var(--aluna-border);

    border-radius: 14px;

    background-color: #fff;

    color: var(--aluna-text) !important;

    font-family: var(--product-font) !important;

    font-size: 14px;

    font-weight: 500;

}



.product-page__cart .product-page__cart-buttons {

    display: flex;

    flex: 0 0 auto;

    align-items: stretch;

    gap: 12px;

    width: 100%;

}



.product-page__cart .product-page__cart-buttons .single_add_to_cart_button,

.product-page__cart .product-page__cart-buttons .product-page__clear-btn {

    flex: 1 1 0;

    min-width: 0;

    white-space: nowrap;

}



.product-page__cart .product-page__cart-actions--visible .single_add_to_cart_button {

    display: inline-flex !important;

    visibility: visible !important;

    min-height: 52px;

    border-radius: var(--product-btn-radius) !important;

}



.product-page__cart .product-page__cart-actions--visible .single_add_to_cart_button.disabled {

    background-color: var(--aluna-orange) !important;

    color: #fff !important;

    opacity: 0.55;

    cursor: not-allowed;

}



.product-page__cart .variations {

    width: 100%;

    margin-bottom: 0;

    align-items: flex-start !important;

}



.product-page__cart .variations td,

.product-page__cart .variations th {

    display: block;

    width: 100%;

    padding: 0;

    border: 0;

}



.product-page__cart .variations tr {

    display: block;

    margin-bottom: 26px;

}



.product-page__cart .variations tr:last-child {

    margin-bottom: 20px;

}



.product-page__cart .variations .variation-input-label,

.product-page__cart .variations label.variation-input-label,

.single-product .product-page .product-page__cart .variations .variation-input-label,

.single-product .product-page div.product form.cart .variations label.variation-input-label {

    display: block;

    width: 100%;

    margin: 0 !important;

    padding: 0;

    color: #1a1f23 !important;

    font-family: var(--product-font) !important;

    font-size: 12px !important;

    font-weight: 700 !important;

    letter-spacing: 0.8px !important;

    line-height: 1.3;

    text-align: left !important;

    text-transform: uppercase;

}



.product-page__cart .product-page__variation-row--select select,

.product-page__cart .product-page__variation-row--select .variation-input-wrapper select {

    width: 100%;

    max-width: 100%;

    min-height: 48px;

    padding: 14px 44px 14px 18px;

    border: 1px solid var(--aluna-border);

    border-radius: 14px;

    background-color: #fff;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%235a6268' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: right 14px center;

    background-size: 18px;

    appearance: none;

    color: var(--aluna-text) !important;

    font-family: var(--product-font) !important;

    font-size: 14px;

    font-weight: 500;

}



.product-page__cart .product-variation-pills__select {

    position: absolute;

    width: 1px;

    height: 1px;

    padding: 0;

    margin: -1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    white-space: nowrap;

    border: 0;

}



.product-variation-pills {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

}



.product-variation-pill {

    padding: 11px 20px;

    border-radius: 26px;

    border: 1px solid var(--aluna-border);

    background-color: #fff;

    color: var(--aluna-text);

    font-family: var(--product-font);

    font-size: 14px;

    font-weight: 500;

    cursor: pointer;

    transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;

}



.product-variation-pill:hover {

    color: var(--aluna-orange);

}



.product-variation-pill.is-selected {

    padding: 10px 20px;

    border: 2px solid var(--aluna-orange);

    background-color: rgba(212, 98, 43, 0.1);

    color: var(--aluna-text);

    font-weight: 600;

}



.product-page__cart .product-page__variation-row--pills td.value,

.product-page__cart .product-page__variation-row--select td.value {

    display: flex;

    flex-direction: column;

    align-items: flex-start !important;

    gap: 20px;

    width: 100%;

    text-align: left !important;

}



.product-page__cart .product-page__variation-row--select td.value > .variation-input-wrapper {

    width: 100% !important;

    max-width: 100% !important;

    margin: 0;

    padding: 0;

    text-align: left !important;

}



.product-page__cart .product-page__variation-row--pills .variation-input-label,

.product-page__cart .product-page__variation-row--select .variation-input-label {

    margin-bottom: 0 !important;

    min-width: 0 !important;

}



/* Beat parent theme zero margin on variation labels */

.woocommerce.single-product .product-page .product-page__cart form.cart .variations .variation-input-label {

    margin-bottom: 0 !important;

    min-width: 0 !important;

    color: #1a1f23 !important;

    font-weight: 700 !important;

}



.product-page__cart .clear-variations:not(.product-page__clear-variations) {

    display: none !important;

}



.product-page__cart-actions--visible .product-page__clear-btn {

    display: inline-flex !important;

    visibility: visible !important;

}



.product-page__cart-actions {

    display: flex;

    flex-direction: row;

    flex-wrap: nowrap;

    align-items: stretch;

    gap: 12px;

    margin-top: 4px;

    padding-top: 0;

    width: 100%;

}



.product-page__cart-actions--simple .quantity {

    display: none !important;

}



.product-page__cart-actions--assessment a.product-page__add-btn {

    text-decoration: none;

}



.product-page__cart .product-page__add-btn,

.product-page__cart .single_add_to_cart_button,

.product-page__cart a.single_add_to_cart_button.theme-btn,

.product-page__cart a.button.single_add_to_cart_button,

.product-page__cart button[type="submit"].product-page__add-btn,

.product-page__cart .woocommerce button.single_add_to_cart_button.product-page__add-btn,

.product-page__cart .theme-btn-primary.single_add_to_cart_button {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    gap: 12px;

    flex: 1 1 0;

    min-width: 0;

    width: 100%;

    max-width: none;

    box-sizing: border-box;

    min-height: 52px;

    margin: 0 !important;

    padding: 14px 40px !important;

    border: 0 !important;

    border-radius: var(--product-btn-radius) !important;

    background-color: var(--aluna-orange) !important;

    background-image: none !important;

    color: #fff !important;

    font-family: var(--product-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    text-transform: none !important;

    box-shadow: none !important;

    cursor: pointer;

    overflow: visible;

    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;

}



.product-page__cart .product-page__add-btn:hover,

.product-page__cart .product-page__add-btn:focus,

.product-page__cart .product-page__add-btn:focus-visible {

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    background-color: #b84f1f !important;

    background-image: none !important;

    border-color: transparent !important;

    transform: translateY(-1px);

    box-shadow: 0 6px 16px rgba(184, 79, 31, 0.35);

    opacity: 1 !important;

}



.product-page__cart .product-page__add-btn.disabled:hover,

.product-page__cart .product-page__add-btn:disabled:hover {

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    background-color: var(--aluna-orange) !important;

    transform: none;

    box-shadow: none;

    opacity: 0.55 !important;

    cursor: not-allowed !important;

}



.product-page__cart .single_add_to_cart_button::before,

.product-page__cart .product-page__add-btn::before,

.product-page__cart button[type="submit"]::before {

    content: none !important;

    display: none !important;

}



/* Chevron-in-circle on all PDP CTAs (incl. WooPW Start Assessment link without btnChevron class) */

.woocommerce.single-product .product-page__cart a.button.single_add_to_cart_button::after,

.product-page__cart a.single_add_to_cart_button::after,

.product-page__cart button.single_add_to_cart_button::after,

.product-page__cart .single_add_to_cart_button.btnChevron::after,

.product-page__cart .product-page__add-btn.btnChevron::after,

.product-page__cart button[type="submit"].btnChevron::after {

    content: "\f105" !important;

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    position: static;

    flex-shrink: 0;

    width: 26px;

    height: 26px;

    margin: 0;

    padding: 0;

    border: 2px solid #fff;

    border-radius: 50%;

    background-color: transparent !important;

    background-image: none !important;

    color: #fff !important;

    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free" !important;

    font-size: 12px;

    font-weight: 900;

    line-height: 1;

    transition: transform 0.2s ease-in-out;

}



.woocommerce.single-product .product-page__cart a.button.single_add_to_cart_button:hover::after,

.woocommerce.single-product .product-page__cart a.button.single_add_to_cart_button:focus::after,

.product-page__cart a.single_add_to_cart_button:hover::after,

.product-page__cart a.single_add_to_cart_button:focus::after,

.product-page__cart button.single_add_to_cart_button:hover::after,

.product-page__cart button.single_add_to_cart_button:focus::after,

.product-page__cart .single_add_to_cart_button.btnChevron:hover::after,

.product-page__cart .product-page__add-btn.btnChevron:hover::after,

.product-page__cart button[type="submit"].btnChevron:hover::after,

.product-page__cart .single_add_to_cart_button.btnChevron:focus::after,

.product-page__cart .product-page__add-btn.btnChevron:focus::after,

.product-page__cart button[type="submit"].btnChevron:focus::after {

    transform: translateX(5px);

}



.product-page__cart-actions--assessment .btnChevron {

    justify-content: center;

}



/* Beat parent .woocommerce form .button.alt:hover { color: var(--theme-primary-color) } */

.woocommerce.single-product .product-page .product-page__cart form.cart .product-page__cart-actions--visible button.single_add_to_cart_button.button.alt:hover,

.woocommerce.single-product .product-page .product-page__cart form.cart .product-page__cart-actions--visible button.single_add_to_cart_button.button.alt:focus,

.woocommerce.single-product .product-page .product-page__cart form.cart .product-page__cart-actions--visible button.single_add_to_cart_button.button.alt:focus-visible,

.woocommerce.single-product .product-page .product-page__cart .single_add_to_cart_button:hover,

.woocommerce.single-product .product-page .product-page__cart .single_add_to_cart_button:focus,

.woocommerce.single-product .product-page .product-page__cart .single_add_to_cart_button:focus-visible,

.woocommerce.single-product .product-page .product-page__cart button[type="submit"]:hover,

.woocommerce.single-product .product-page .product-page__cart button[type="submit"]:focus,

.woocommerce.single-product .product-page .product-page__cart .theme-btn-primary.single_add_to_cart_button:hover {

    background-color: #c45624 !important;

    background-image: none !important;

    border-color: transparent !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    opacity: 1 !important;

}



.woocommerce.single-product .product-page .product-page__cart form.cart .product-page__cart-actions--visible button.single_add_to_cart_button.button.alt:hover *,

.woocommerce.single-product .product-page .product-page__cart form.cart .product-page__cart-actions--visible button.single_add_to_cart_button.button.alt:focus *,

.woocommerce.single-product .product-page .product-page__cart .single_add_to_cart_button:hover *,

.woocommerce.single-product .product-page .product-page__cart .single_add_to_cart_button:focus *,

.woocommerce.single-product .product-page .product-page__cart .theme-btn-primary.single_add_to_cart_button:hover *,

.woocommerce.single-product .product-page .product-page__cart .theme-btn-primary.single_add_to_cart_button:hover {

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    fill: #fff !important;

}



.woocommerce.single-product .product-page .product-page__cart form.cart .product-page__cart-actions--visible button.single_add_to_cart_button.button.alt.disabled:hover,

.woocommerce.single-product .product-page .product-page__cart .single_add_to_cart_button.disabled:hover,

.woocommerce.single-product .product-page .product-page__cart .single_add_to_cart_button.disabled:focus,

.woocommerce.single-product .product-page .product-page__cart .theme-btn-primary.single_add_to_cart_button.disabled:hover,

.woocommerce.single-product .product-page .product-page__cart .theme-btn-primary.single_add_to_cart_button.disabled:hover * {

    background-color: var(--aluna-orange) !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    opacity: 0.55 !important;

    cursor: not-allowed !important;

}



/* Parent theme primary button on PDP → Aluna orange pill */

.product-page__cart .theme-btn-primary.single_add_to_cart_button,

.product-page__cart a.theme-btn-primary.single_add_to_cart_button {

    display: inline-flex !important;

    background-color: var(--aluna-orange) !important;

    background-image: none !important;

    border: 0 !important;

    border-radius: var(--product-btn-radius) !important;

    color: #fff !important;

}



.product-page__cart .product-page__clear-btn,

.product-page__cart .product-page__cart-actions--visible .product-page__clear-btn {

    flex: 1 1 0;

    min-width: 0;

    width: 100%;

    box-sizing: border-box;

    align-items: center;

    justify-content: center;

    margin: 0 !important;

    min-height: 52px;

    padding: 14px 20px !important;

    border: 1px solid rgba(197, 206, 189, 0.9) !important;

    border-radius: var(--product-btn-radius) !important;

    background-color: rgba(255, 255, 255, 0.72) !important;

    color: var(--aluna-text) !important;

    font-family: var(--product-font) !important;

    font-size: 15px !important;

    font-weight: 500 !important;

    line-height: 1.2;

    text-decoration: none !important;

    white-space: nowrap;

    box-shadow: none !important;

    cursor: pointer;

    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;

}



.product-page__cart .product-page__clear-btn:hover,

.product-page__cart .product-page__cart-actions--visible .product-page__clear-btn:hover {

    color: var(--aluna-orange) !important;

    border-color: var(--aluna-orange) !important;

    background-color: #fff !important;

}



.product-page__cart .product-page__cart-actions--visible .product-page__clear-btn {

    display: inline-flex !important;

    visibility: visible !important;

}



.product-page__cart .woo-cart-form-meta-wrapper,

.product-page__cart .woo-cart-form-act-wrapper,

.product-page__cart .woo-variation-action-wrap {

    display: block;

    flex: none !important;

    width: 100%;

    max-width: 100%;

}



.product-page__cart .woocommerce-variation-add-to-cart,

.product-page__cart .product-page__cart-actions:not(.product-page__cart-actions--visible) {

    display: flex !important;

    flex-direction: row;

    flex-wrap: nowrap;

    align-items: stretch;

    justify-content: flex-start !important;

    gap: 12px;

    width: 100%;

    margin-top: 24px !important;

    visibility: visible !important;

    opacity: 1 !important;

}



/* Beat parent theme: .woocommerce .product form.cart .woo-cart-form-meta-wrapper { flex: 0 0 20% } */

.woocommerce.single-product .product-page .product-page__cart .product-page__subscription-options .woo-cart-form-meta-wrapper,

.woocommerce.single-product .product-page .product-page__cart .product-page__cart-actions--visible .woo-cart-form-meta-wrapper {

    flex: 0 0 100% !important;

    width: 100% !important;

    max-width: 100% !important;

    text-align: left !important;

}



.product-page__cart .woocommerce-variation-add-to-cart .quantity,

.product-page__cart form.cart .quantity {

    display: none !important;

}



.product-page__cart form.variations_form .single_variation_wrap {

    display: block !important;

    width: 100%;

    margin: 0;

}



.product-page.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {

    justify-content: flex-start !important;

}



.product-page__cart .woocommerce form .variation-input-wrapper {

    width: 100% !important;

    display: block !important;

    align-items: stretch !important;

}



.product-page__compliance {

    margin: 20px 0 0;

    max-width: none;

    font-family: var(--product-font) !important;

    font-size: 12px;

    line-height: 1.5;

    color: var(--aluna-muted);

}



.product-page__compliance a {

    color: var(--aluna-orange) !important;

    text-decoration: underline;

}



.product-page__trust-divider {

    display: none;

}



.product-page__trust-list {

    display: flex;

    flex-wrap: wrap;

    justify-content: flex-start;

    gap: 16px 28px;

    margin: 28px 0 0;

    padding: 28px 0 0;

    border-top: 1px solid rgba(197, 206, 189, 0.55);

    list-style: none;

}



.product-page section.product-page__summary ul.product-page__trust-list,

.product-page section.product-page__summary ul.product-page__trust-list li {

    list-style: none !important;

    padding-left: 0 !important;

    margin-left: 0 !important;

}



.product-page__trust-list li {

    display: inline-flex;

    align-items: center;

    flex: 0 1 auto;

    min-width: 0;

    gap: 8px;

    padding: 0;

    font-family: var(--product-font) !important;

    font-size: 13px;

    line-height: 1.4;

    color: var(--aluna-body);

}



.product-page__trust-list li::before {

    content: "";

    flex-shrink: 0;

    width: 6px;

    height: 6px;

    border-radius: 50%;

    background-color: var(--aluna-orange);

}



@media (min-width: 992px) {

    .product-page__trust-list {

        flex-wrap: nowrap;

        justify-content: space-between;

        gap: 20px;

    }

}



/* PDP footer trust strip */

.product-page > .aluna-trust-strip,

.product-page section.aluna-trust-strip {

    padding: 28px 0 36px;

    background-color: var(--aluna-hero-bg);

    border-top: 1px solid rgba(197, 206, 189, 0.5);

}



.product-page > .aluna-trust-strip .aluna-trust-strip__list,

.product-page section.aluna-trust-strip .aluna-trust-strip__list {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, max-content));

    justify-content: center;

    justify-items: center;

    gap: 14px 40px;

    max-width: 720px;

    margin-left: auto;

    margin-right: auto;

}



@media (min-width: 992px) {

    .product-page > .aluna-trust-strip .aluna-trust-strip__list,

    .product-page section.aluna-trust-strip .aluna-trust-strip__list {

        grid-template-columns: repeat(4, minmax(0, max-content));

        gap: 16px 36px;

        max-width: none;

    }



    .product-page > .aluna-trust-strip .aluna-trust-strip__list li,

    .product-page section.aluna-trust-strip .aluna-trust-strip__list li {

        white-space: nowrap;

    }

}



/* --- Tabs (centered container, Figma underline style) --- */

.product-page__tabs {

    padding: 48px 0 72px;

    background-color: #fff;

}



.product-page__tabs-inner {

    display: flex;

    flex-direction: column;

    align-items: stretch;

    gap: 36px;

    width: 100%;

    max-width: 100%;

    margin: 0 auto;

}



/* Beat parent theme section ul { list-style: disc; padding-left: 15px } */

.product-page section.product-page__tabs ul.product-page__tab-nav {

    list-style: none !important;

    padding-left: 0 !important;

    margin-left: 0 !important;

}



.product-page section.product-page__tabs ul.product-page__tab-nav > li {

    list-style: none !important;

    margin-left: 0 !important;

    padding-left: 0 !important;

}



.product-page__tab-nav.nav,

.product-page__tab-nav.nav-tabs {

    display: flex !important;

    flex-wrap: nowrap;

    align-items: flex-end;

    justify-content: flex-start;

    gap: 40px;

    margin: 0;

    padding: 0;

    border-bottom: 1px solid var(--aluna-border);

    overflow-x: auto;

    -webkit-overflow-scrolling: touch;

}



.product-page__tab-nav .nav-item:not(:last-child) {

    margin-right: 0;

}



.product-page__tab-nav::-webkit-scrollbar {

    display: none;

}



.product-page__tab-nav .nav-item {

    flex: 0 0 auto;

    margin: 0;

}



.product-page__tab-nav .nav-link {

    display: inline-block;

    margin: 0 0 -1px;

    padding: 0 2px 18px;

    border: 0 !important;

    border-bottom: 2px solid transparent !important;

    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    font-family: var(--product-font) !important;

    font-size: 15px;

    font-weight: 400;

    line-height: 1.35;

    color: var(--aluna-body);

    white-space: nowrap;

    transition: color 0.15s ease, border-color 0.15s ease;

}



.product-page__tab-nav .nav-link:hover {

    color: var(--aluna-text);

    border-bottom-color: transparent !important;

}



.product-page__tab-nav .nav-link:focus,

.product-page__tab-nav .nav-link:focus-visible {

    outline: none;

    box-shadow: none !important;

}



.product-page__tab-nav .nav-link .product-page__tab-label::before {

    content: none;

    margin: 0;

}



.product-page__tab-nav .nav-link.active,

.product-page__tab-nav .nav-link.active:hover,

.product-page__tab-nav .nav-link.active:focus {

    color: var(--aluna-orange) !important;

    font-weight: 500;

    border-bottom-color: var(--aluna-orange) !important;

    background: transparent !important;

}



.product-page__tab-nav .nav-link.active::after {

    content: none;

}



.product-page__tab-panels,

.product-page__tab-panels .tab-pane,

.product-page__tab-panels .tab-content,

.product-page__tab-body,

.product-page__faq {

    width: 100%;

    max-width: 100%;

    box-sizing: border-box;

}



.product-page__tab-panels {

    padding: 0;

}



.product-page__tab-panels > .tab-pane {

    display: none;

    padding: 0;

}



.product-page__tab-panels > .tab-pane.active,

.product-page__tab-panels > .tab-pane.show {

    display: block;

}



.product-page__faq.accordion {

    width: 100%;

    max-width: 100%;

}



.product-page__tab-body,

.product-page__tab-panels {

    font-family: var(--product-font) !important;

    font-size: 15px;

    line-height: 1.75;

    color: var(--aluna-body);

}



.product-page__tab-body p {

    margin-bottom: 22px;

}



.product-page__tab-body p:last-child {

    margin-bottom: 0;

}



.product-page__tab-empty {

    margin: 0;

    font-family: var(--product-font) !important;

    font-size: 15px;

    line-height: 1.75;

    color: var(--aluna-muted);

    font-style: italic;

}



.product-page__tab-inner-title,

.product-page__tab-body h2,

.product-page__tab-body h3,

.product-page__tab-body h4 {

    margin: 36px 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: 22px;

    font-weight: 400;

    line-height: 1.3;

    color: var(--aluna-text);

}



.product-page__tab-inner-title:first-child,

.product-page__tab-body h2:first-child,

.product-page__tab-body h3:first-child,

.product-page__tab-body h4:first-child {

    margin-top: 0;

}



.product-page__tab-body strong,

.product-page__tab-body b {

    color: var(--aluna-text);

    font-weight: 700;

}



.product-page__tab-body ul {

    list-style: none;

    margin: 0 0 24px;

    padding: 0;

}



.product-page__tab-body ul li {

    position: relative;

    margin-bottom: 14px;

    padding-left: 34px;

    list-style: none !important;

    line-height: 1.6;

    color: var(--aluna-body);

}



.product-page__tab-body ul li:last-child {

    margin-bottom: 0;

}



.product-page__tab-body ul li::before {

    content: "";

    position: absolute;

    top: 3px;

    left: 0;

    width: 22px;

    height: 22px;

    border-radius: 50%;

    background-color: rgba(212, 98, 43, 0.08);

    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='%23f44706' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M4 12.5l5 5L20 6'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: center;

    background-size: 11px;

}



.product-page__tab-body ol {

    margin: 0 0 24px;

    padding-left: 20px;

    color: var(--aluna-body);

}



.product-page__callout,

.product-page__important-note {

    max-width: 100%;

    margin-top: 16px;

    padding: 36px 32px 28px;

    border: 0;

    border-left: 3px solid var(--aluna-orange);

    border-radius: 14px;

    background-color: var(--aluna-callout-bg);

}



.product-page__callout-title {

    margin: 0 0 9px;

    font-family: "Playfair Display", serif !important;

    font-size: 14px;

    font-weight: 500;

    color: var(--aluna-text);

}



.product-page__callout-body p,

.product-page__important-note p {

    margin: 0;

    font-family: var(--product-font) !important;

    font-size: 14px;

    line-height: 1.7;

    color: var(--aluna-body);

}



/* --- FAQ tab --- */

.product-page__faq-item {

    margin-bottom: 10px;

    border: 1px solid rgba(0, 0, 0, 0.08);

    border-radius: 8px;

    overflow: hidden;

}



.product-page__faq .accordion-button {

    padding: 18px 20px;

    font-family: var(--product-font) !important;

    font-size: 15px;

    font-weight: 500;

    color: var(--aluna-text);

    background-color: #fff;

    box-shadow: none;

}



.product-page__faq .accordion-button:not(.collapsed) {

    background-color: var(--aluna-callout-bg);

}



.product-page__faq .accordion-body {

    padding: 0 20px 18px;

    background-color: var(--aluna-callout-bg);

    font-family: var(--product-font) !important;

    font-size: 14px;

    line-height: 1.65;

    color: var(--aluna-body);

}



/* --- Related products --- */

.product-page__related {

    padding: 80px 0;

    background-color: var(--aluna-page-bg);

}



.product-page__related-header {

    margin-bottom: 36px;

}



.product-page__related-badge {

    display: inline-block;

    margin-bottom: 12px;

    padding: 6px 16px;

    border-radius: 20px;

    background-color: var(--aluna-orange);

    color: #fff;

    font-family: var(--product-font) !important;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 1.5px;

    text-transform: uppercase;

}



.product-page__related-title {

    margin: 0;

    font-family: "Playfair Display", serif !important;

    font-size: 38px;

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text);

}



.product-page__related-intro {

    max-width: 460px;

    margin: 12px auto 0;

    font-family: var(--product-font) !important;

    font-size: 15px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.product-page__related-grid.shop-page {

    padding: 0;

    background: transparent;

}



/* --- Disclaimer --- */

.product-page__disclaimer {

    padding: 32px 0;

    background-color: var(--aluna-hero-bg);

}



.product-page__disclaimer-text {

    max-width: 620px;

    margin: 0 auto;

    text-align: center;

    font-family: var(--product-font) !important;

    font-size: 13px;

    line-height: 1.65;

    color: var(--aluna-body);

    opacity: 0.8;

}



/* --- Product page: responsive --- */

@media (max-width: 991px) {

    .product-page__title {

        font-size: 36px;

    }



    .product-page__gallery {

        min-height: 280px;

    }



    .product-page__image-wrap {

        min-height: 200px;

    }



    .product-page__image-disclaimer {

        max-width: 85%;

    }



    .product-page__cart-actions,

    .product-page__cart .product-page__cart-actions--visible {

        flex-direction: column;

        align-items: stretch;

    }



    .product-page__cart .product-page__cart-buttons {

        flex-direction: column;

    }



    .product-page__cart .product-page__add-btn,

    .product-page__cart .single_add_to_cart_button,

    .product-page__cart .product-page__cart-actions--visible .single_add_to_cart_button,

    .product-page__cart .product-page__clear-btn,

    .product-page__cart .product-page__cart-actions--visible .product-page__clear-btn,

    .product-page__cart .product-page__cart-buttons .single_add_to_cart_button,

    .product-page__cart .product-page__cart-buttons .product-page__clear-btn {

        flex: 1 1 auto;

        width: 100%;

        max-width: 100%;

    }



    .product-page__cart .product-page__reset-variations,

    .product-page__cart a.reset_variations {

        text-align: center;

    }



    .product-page__trust-list li {

        flex: 1 1 calc(50% - 8px);

    }



    .product-page__tabs {

        padding: 32px 0 48px;

    }



    .product-page__tabs-inner {

        gap: 28px;

    }



    .product-page__tab-nav.nav-tabs {

        gap: 24px;

    }



    .product-page__tab-nav .nav-link {

        padding-bottom: 14px;

        font-size: 14px;

    }



    .product-page__tab-body h2,

    .product-page__tab-body h3,

    .product-page__tab-body h4 {

        font-size: 20px;

    }



    .product-page__related-title {

        font-size: 28px;

    }

}





/* =======================================

   CONDITION / TREATMENT TAXONOMY (Figma ciwxbi)

   ======================================= */



.condition-page .condition-page-header {

    background-color: var(--aluna-hero-bg);

}



.condition-page .condition-page__breadcrumb,

.condition-page .product-page__breadcrumb.condition-page__breadcrumb {

    padding: 18px 0 0;

    background-color: var(--aluna-hero-bg);

}



.condition-page .condition-hero,

.condition-page .treatment-hero {

    padding: 32px 0 40px;

    background-color: transparent;

}



.condition-page .condition-hero__media,

.condition-page .treatment-hero__media {

    min-height: 360px;

    border-radius: 16px;

    overflow: hidden;

    background: linear-gradient(180deg, #eef2eb 0%, var(--aluna-page-bg) 100%);

    display: flex;

    align-items: center;

    justify-content: center;

}



.condition-page .condition-hero__image,

.condition-page .treatment-hero__image {

    width: 100%;

    height: 100%;

    min-height: 360px;

    object-fit: cover;

}



.condition-page .treatment-hero__placeholder {

    color: rgba(44, 51, 56, 0.25);

    font-size: 48px;

}



.condition-page .condition-hero__content,

.condition-page .treatment-hero__content {

    max-width: 520px;

}



.condition-page .condition-hero__title,

.condition-page .treatment-hero__title {

    text-align: left;

}



.condition-page .condition-hero__intro,

.condition-page .condition-hero__description,

.condition-page .treatment-hero__intro {

    text-align: left;

    margin-left: 0;

}



.condition-page .condition-hero__cta:not(.condition-hero__cta--secondary),

.condition-page .treatment-hero__cta:not(.condition-hero__cta--secondary) {

    display: inline-flex;

    align-items: center;

    margin-top: 8px;

    padding: 14px 28px;

    border-radius: 9999px;

    background-color: var(--theme-primary-color);

    color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    font-weight: 600;

    text-decoration: none;

    transition: box-shadow 0.2s ease, filter 0.2s ease, transform 0.2s ease;

}



.condition-page .condition-hero__cta:not(.condition-hero__cta--secondary):hover,

.condition-page .condition-hero__cta:not(.condition-hero__cta--secondary):focus-visible,

.condition-page .treatment-hero__cta:not(.condition-hero__cta--secondary):hover,

.condition-page .treatment-hero__cta:not(.condition-hero__cta--secondary):focus-visible {

    filter: brightness(0.96);

    box-shadow: 0 4px 14px rgba(44, 51, 56, 0.15);

    color: #fff !important;

    text-decoration: none;

}



.condition-page .condition-products,

.condition-page .treatment-products {

    padding: 56px 0 72px;

    background-color: var(--aluna-page-bg);

}



.condition-page .treatment-section-header {

    max-width: 640px;

    margin: 0 auto 40px;

}



.condition-page .treatment-section-header__badge {

    display: inline-block;

    margin-bottom: 12px;

    padding: 6px 18px;

    border-radius: 20px;

    background-color: var(--aluna-orange);

    color: #fff;

    font-family: var(--aluna-font) !important;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 1.5px;

    text-transform: uppercase;

}



.condition-page .treatment-section-header__title {

    margin: 0 0 12px;

    font-family: "Playfair Display", serif !important;

    font-size: 42px;

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text);

}



.condition-page .treatment-section-header__intro {

    margin: 0 auto;

    max-width: 500px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.condition-page .condition-page__back {

    position: relative;

    z-index: 2;

}



.condition-page .condition-page__back-link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 10px 18px;

    border-radius: 9999px;

    background-color: var(--theme-primary-color);

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

    color: #fff !important;

    text-decoration: none;

    cursor: pointer;

    pointer-events: auto;

    transition: background-color 0.2s ease, color 0.2s ease;

}



.condition-page .condition-page__back-link .condition-page__back-arrow,

.condition-page .condition-page__back-link .condition-page__back-label {

    color: #fff !important;

}



.condition-page .condition-page__back-link:hover,

.condition-page .condition-page__back-link:focus-visible {

    filter: brightness(0.96);

    box-shadow: 0 4px 14px rgba(44, 51, 56, 0.15);

    color: #fff !important;

    text-decoration: none;

}



.condition-page .product-page__breadcrumb.condition-page__breadcrumb a.condition-page__back-link {

    color: #fff !important;

    background-color: var(--theme-primary-color);

}



.condition-page .condition-hero__consent,

.condition-page .treatment-hero__consent {

    margin: 16px 0 0;

    max-width: 420px;

    font-family: var(--aluna-font) !important;

    font-size: 12px;

    line-height: 1.5;

    color: var(--aluna-body);

}



.condition-page .condition-hero__consent a {

    color: var(--aluna-orange);

    text-decoration: underline;

}



.condition-page .treatment-journey,

.condition-page .condition-journey {

    padding: 72px 0 80px;

    background-color: var(--aluna-page-bg);

}



.condition-page .treatment-journey__grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 24px;

}



.condition-page .treatment-journey__card {

    display: flex;

    flex-direction: column;

    gap: 8px;

    padding: 36px 28px;

    background-color: #fff;

    border-radius: 16px;

    min-height: 220px;

}



.condition-page .treatment-journey__number {

    font-family: "Playfair Display", serif !important;

    font-size: 36px;

    line-height: 1;

    color: var(--aluna-orange);

    opacity: 0.35;

}



.condition-page .treatment-journey__card-title {

    margin: 0;

    font-family: "Playfair Display", serif !important;

    font-size: 19px;

    font-weight: 400;

    color: var(--aluna-text);

}



.condition-page .treatment-journey__card-text {

    margin: 0;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.condition-page .treatment-explanation,

.condition-page .condition-explanation {

    padding: 88px 0;

    background-color: #eff3ec;

}



.condition-page .treatment-explanation__grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 24px;

    max-width: 1140px;

    margin: 0 auto;

}



.condition-page .treatment-explanation__card {

    display: flex;

    flex-direction: column;

    gap: 24px;

    padding: 40px 36px;

    background-color: #fff;

    border-radius: 16px;

}



.condition-page .treatment-explanation__card-title {

    margin: 0;

    font-family: "Playfair Display", serif !important;

    font-size: 22px;

    font-weight: 400;

    line-height: 1.25;

    color: var(--aluna-text);

}



.condition-page .treatment-explanation__list {

    list-style: none;

    margin: 0;

    padding: 0;

    display: flex;

    flex-direction: column;

    gap: 16px;

}



.condition-page .treatment-explanation__list-item {

    display: flex;

    align-items: flex-start;

    gap: 14px;

    margin: 0;

}



.condition-page .treatment-explanation__check {

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 22px;

    height: 22px;

    margin-top: 2px;

    border-radius: 50%;

    background-color: rgba(212, 98, 43, 0.08);

    color: var(--aluna-orange);

}



.condition-page .treatment-explanation__list-text {

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.condition-page .treatment-explanation__body {

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.condition-page .treatment-explanation__body p:last-child {

    margin-bottom: 0;

}



.condition-page .treatment-bottom-cta {

    padding: 56px 0 32px;

    background-color: var(--aluna-hero-bg);

}



.condition-page .treatment-trust-points {

    padding: 0 0 40px;

    background-color: var(--aluna-hero-bg);

}



.condition-page .treatment-trust-points__list {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    align-items: center;

    gap: 12px 32px;

    margin: 0;

    padding: 0;

    list-style: none !important;

}



.condition-page .treatment-trust-points__list li {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.4;

    color: rgba(44, 51, 56, 0.75);

    list-style: none !important;

}



.condition-page .treatment-trust-points__list li::before {

    content: "";

    flex-shrink: 0;

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background-color: var(--aluna-orange);

}



.condition-page .treatment-bottom-cta__disclaimer {

    max-width: 720px;

    margin: 0 auto 24px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.65;

    color: var(--aluna-body);

}



.condition-page .treatment-bottom-cta__btn {

    display: inline-flex;

    align-items: center;

    padding: 14px 32px;

    border-radius: 9999px;

    background-color: var(--theme-primary-color);

    color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    font-weight: 600;

    text-decoration: none;

}



.condition-page .treatment-bottom-cta__btn:hover {

    filter: brightness(0.96);

    box-shadow: 0 4px 14px rgba(44, 51, 56, 0.15);

    color: #fff !important;

}



.condition-page .condition-faqs.treatment-faqs {

    padding: 72px 0 80px;

    background-color: #fff;

}



.condition-page .condition-faqs__header {

    margin-bottom: 40px;

}



.condition-page .condition-faqs__list {

    max-width: 900px;

    margin: 0 auto;

}



.condition-page .condition-faq-item {

    border-bottom: 1px solid var(--aluna-border-soft, #d4ddd0);

}



.condition-page .condition-faq-item__question {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 16px;

    padding: 20px 0;

    border: 0;

    background: transparent;

    text-align: left;

    cursor: pointer;

}



.condition-page .condition-faq-item__question .faq-question-title {

    margin: 0;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 500;

    color: var(--aluna-text);

}



.condition-page .condition-faq-item__question .faq-toggle,

.condition-page .condition-faq-item__chevron {

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 32px;

    height: 32px;

    border-radius: 50%;

    background-color: var(--aluna-orange);

    color: #fff;

    font-size: 14px;

    transition: transform 0.2s ease;

}



.condition-page .condition-faq-item__question.is-open .condition-faq-item__chevron,

.condition-page .condition-faq-item__question[aria-expanded="true"] .condition-faq-item__chevron {

    transform: rotate(180deg);

}



.condition-page .condition-faq-item__question .faq-toggle i,

.condition-page .condition-faq-item__chevron i {

    color: #fff;

}



.condition-page .condition-faq-item .faq-answer-inner {

    padding: 0 0 20px;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body);

}



.condition-page .condition-products__empty,

.condition-page .shop-products__empty {

    max-width: 560px;

    margin: 0 auto;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.condition-page .condition-products__header,

.condition-page .treatment-products__header {

    max-width: 640px;

    margin: 0 auto 40px;

}



.condition-page .condition-products__badge,

.condition-page .treatment-products__badge {

    display: inline-block;

    margin-bottom: 16px;

    padding: 6px 16px;

    border-radius: 20px;

    background-color: var(--aluna-orange);

    color: #fff;

    font-family: var(--aluna-font) !important;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 1.5px;

    text-transform: uppercase;

}



.condition-page .condition-products__title,

.condition-page .treatment-products__title {

    margin: 0 0 12px;

    font-family: "Playfair Display", serif !important;

    font-size: 36px;

    font-weight: 400;

    line-height: 1.15;

    color: var(--aluna-text);

}



.condition-page .condition-products__intro,

.condition-page .treatment-products__intro {

    margin: 0 auto;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.7;

    color: var(--aluna-body);

}





.condition-page .condition-hero__actions {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 20px;

}



.condition-page .condition-hero__cta--secondary {

    display: inline-flex;

    align-items: center;

    margin-top: 8px;

    padding: 14px 28px;

    border-radius: 9999px;

    border: 1px solid var(--aluna-border-soft);

    background-color: #fff;

    color: var(--aluna-text) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    font-weight: 600;

    text-decoration: none;

    transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;

}



.condition-page .condition-hero__cta--secondary:hover,

.condition-page .condition-hero__cta--secondary:focus-visible {

    border-color: var(--theme-primary-color);

    background-color: #fff;

    color: var(--theme-primary-color) !important;

    box-shadow: 0 2px 12px rgba(44, 51, 56, 0.1);

    text-decoration: none;

}



.condition-page .condition-hero__tagline {

    margin: 12px 0 0;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.condition-page .condition-content {

    padding: 72px 0 80px;

    background-color: #fff;

}



.condition-page .condition-content__media {

    border-radius: 16px;

    overflow: hidden;

    background: var(--aluna-callout-bg);

}



.condition-page .condition-content__image {

    width: 100%;

    height: auto;

    display: block;

}



/* Logged-in returning patient (marketing view) */

.condition-page--returning .condition-hero__badge--welcome {

    text-transform: uppercase;

    letter-spacing: 1.5px;

}



.condition-page .condition-hero__notice {

    margin: 12px 0 0;

    padding: 12px 16px;

    border-radius: 12px;

    background-color: var(--aluna-callout-bg);

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.55;

    color: var(--aluna-body);

}



/* Post-consultation / reorder results */

.condition-page--post-consultation .condition-results-hero {

    padding: 40px 0 32px;

    background-color: var(--aluna-hero-bg);

}



.condition-page--post-consultation .condition-results-hero--completion .condition-results-hero__body {

    max-width: 820px;

    margin: 0 auto;

    text-align: center;

}



.condition-page--post-consultation .condition-results-hero--completion .condition-results-hero__title {

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(32px, 5vw, 44px);

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text);

}



.condition-page--post-consultation .condition-results-hero--completion .condition-results-hero__icon {

    display: block;

    margin: 0 auto 12px;

    font-size: 28px;

    color: var(--aluna-orange);

}



.condition-page--post-consultation .condition-results-hero--completion .condition-results-hero__content {

    margin: 0 0 16px;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body);

}



.condition-page--post-consultation .condition-results-hero--completion .condition-results-hero__content strong {

    display: block;

    margin-bottom: 8px;

    font-size: 18px;

    color: var(--aluna-text);

}



.condition-page--post-consultation .condition-results-hero--completion .condition-results-hero__trust {

    margin-top: 20px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.condition-page--post-consultation .condition-results-hero--completion .condition-results-hero__dispatch {

    display: flex;

    align-items: flex-start;

    justify-content: center;

    gap: 10px;

    max-width: 720px;

    margin: 20px auto 0;

    padding: 14px 18px;

    border-radius: 12px;

    background-color: var(--aluna-callout-bg);

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.55;

    color: var(--aluna-body);

    text-align: left;

}



.condition-page .condition-progress-steps {

    padding: 18px 0;

    background-color: var(--theme-primary-color, var(--aluna-orange));

}



.condition-page .consultation-completion-taglines .tagline-item::after {

    content: none !important;

    display: none !important;

}



.condition-page .condition-progress-steps__list {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 12px 18px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.condition-page .condition-progress-steps__item {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: #fff;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    font-weight: 600;

    line-height: 1.3;

}



.condition-page .condition-progress-steps__bubble {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    width: 28px;

    height: 28px;

    border-radius: 50%;

    box-sizing: border-box;

    line-height: 0;

}



.condition-page .condition-progress-steps__icon,

.condition-page .condition-progress-steps__icon.icon-img {

    display: flex !important;

    align-items: center;

    justify-content: center;

    width: 100%;

    height: 100%;

    margin: 0;

    padding: 0;

    line-height: 0;

}



.condition-page .condition-progress-steps__icon i {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 1em;

    height: 1em;

    margin: 0;

    line-height: 1;

    text-align: center;

}



.condition-page .condition-progress-steps__icon i::before {

    display: block;

    line-height: 1;

}



.condition-page .condition-progress-steps__item--complete .condition-progress-steps__bubble {

    background-color: #fff;

}



.condition-page .condition-progress-steps__item--complete .condition-progress-steps__icon i {

    font-size: 16px;

    color: var(--aluna-orange, #f44706);

}



.condition-page .condition-progress-steps__item--pending .condition-progress-steps__bubble {

    border: 2px solid rgba(255, 255, 255, 0.75);

    background-color: transparent;

}



.condition-page .condition-progress-steps__item--pending .condition-progress-steps__icon i {

    font-size: 13px;

    color: #fff;

}



.condition-page .condition-progress-steps__item--pending .condition-progress-steps__label {

    opacity: 0.92;

}



.condition-page .condition-progress-steps__arrow {

    display: inline-flex;

    align-items: center;

    color: rgba(255, 255, 255, 0.85);

    font-size: 14px;

    list-style: none;

}



@media (max-width: 767.98px) {

    .condition-page .condition-progress-steps {

        padding: 0 0 20px;

        background-color: var(--aluna-hero-bg);

    }



    .condition-page .condition-progress-steps .container {

        padding-left: 16px;

        padding-right: 16px;

    }



    .condition-page .condition-progress-steps__list {

        flex-wrap: nowrap;

        align-items: flex-start;

        justify-content: space-between;

        gap: 0;

        padding: 14px 10px;

        border-radius: 14px;

        background-color: #fff;

        border: 1px solid var(--aluna-border-soft, #c5cebd);

        box-shadow: 0 2px 12px rgba(44, 51, 56, 0.06);

    }



    .condition-page .condition-progress-steps__item {

        flex: 1 1 0;

        min-width: 0;

        flex-direction: column;

        align-items: center;

        gap: 8px;

        text-align: center;

        color: var(--aluna-text);

        font-size: 11px;

        font-weight: 600;

        line-height: 1.3;

    }



    .condition-page .condition-progress-steps__bubble {

        width: 36px;

        height: 36px;

        border-radius: 50%;

        border: none;

        box-sizing: border-box;

    }



    .condition-page .condition-progress-steps__item--complete .condition-progress-steps__bubble {

        background-color: var(--aluna-orange);

        border: none;

    }



    .condition-page .condition-progress-steps__item--complete .condition-progress-steps__icon i {

        font-size: 16px;

        color: #fff;

    }



    .condition-page .condition-progress-steps__item--pending .condition-progress-steps__bubble {

        background-color: #fff;

        border: 2px solid var(--aluna-border-soft, #c5cebd);

    }



    .condition-page .condition-progress-steps__item--pending .condition-progress-steps__icon i {

        font-size: 14px;

        color: var(--aluna-muted, #7a8288);

    }



    .condition-page .condition-progress-steps__item--pending .condition-progress-steps__label {

        opacity: 1;

        color: var(--aluna-body, #5a6268);

    }



    .condition-page .condition-progress-steps__label {

        display: block;

        max-width: 7.5rem;

        overflow-wrap: anywhere;

        word-break: break-word;

        hyphens: auto;

    }



    .condition-page .condition-progress-steps__arrow {

        flex: 0 0 12px;

        align-self: flex-start;

        margin-top: 17px;

        padding: 0;

        color: transparent;

    }



    .condition-page .condition-progress-steps__arrow i {

        display: none;

    }



    .condition-page .condition-progress-steps__arrow::before {

        content: "";

        display: block;

        width: 100%;

        height: 2px;

        border-radius: 999px;

        background-color: var(--aluna-border-soft, #c5cebd);

    }

}



.condition-page .condition-products--primary {

    padding: 56px 0 48px;

    background-color: #fff;

}



.condition-page .condition-products--more {

    padding-top: 0;

    padding-bottom: 72px;

    background-color: #fff;

}



.condition-page .condition-results-hero__breadcrumb {

    margin-bottom: 20px;

    font-family: var(--aluna-font) !important;

    font-size: 13px;

    color: var(--aluna-body);

}



.condition-page .condition-results-hero__breadcrumb a {

    color: var(--aluna-orange);

    text-decoration: none;

}



.condition-page .condition-results-hero__panel {

    max-width: 720px;

    margin: 0 auto;

    padding: 36px 40px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

    text-align: center;

}



.condition-page .condition-results-hero__title {

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: 36px;

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text);

}



.condition-page .condition-results-hero__icon {

    display: block;

    margin: 0 auto 12px;

    font-size: 28px;

    color: var(--aluna-orange);

}



.condition-page .condition-results-hero__intro,

.condition-page .condition-results-hero__content {

    margin: 0;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.65;

    color: var(--aluna-body);

}



.condition-page .condition-results-hero__trust {

    margin-top: 20px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.condition-page .condition-results-hero__dispatch {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    max-width: 720px;

    margin: 20px auto 0;

    padding: 14px 18px;

    border-radius: 12px;

    background-color: var(--aluna-callout-bg);

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    color: var(--aluna-body);

}



.condition-page .condition-recommended {

    background-color: #fff;

}



.condition-page .condition-complete-hero {

    padding: 24px 0 40px;

    background-color: var(--aluna-hero-bg);

}



.condition-page .condition-complete-hero__card {

    max-width: 820px;

    margin: 24px auto 0;

    padding: 32px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

}



.condition-page .condition-complete-hero__title {

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: 32px;

    font-weight: 400;

    color: var(--aluna-text);

}



.condition-page .condition-complete-hero__title i {

    color: var(--aluna-orange);

    margin-right: 8px;

}



.condition-page .condition-complete-hero__dispatch {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 20px;

    padding: 14px 18px;

    border-radius: 12px;

    background-color: var(--aluna-callout-bg);

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    color: var(--aluna-body);

}



.condition-page .condition-taglines {

    padding: 16px 0;

    background-color: var(--aluna-page-bg);

}



.condition-page .condition-taglines__list {

    justify-content: center;

    flex-wrap: wrap;

    gap: 16px 24px;

}



.condition-page .condition-order-steps {

    padding: 56px 0;

    background-color: var(--aluna-page-bg);

}



.condition-page .condition-order-steps__countdown {

    margin-bottom: 32px;

    padding: 20px 24px;

    border-radius: 16px;

    text-align: center;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    color: var(--aluna-body);

}



.condition-page .condition-order-steps__item {

    padding: 24px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

}



.condition-page .condition-order-steps__icon img {

    max-height: 48px;

    margin-bottom: 16px;

}



.condition-page .condition-popular-categories {

    padding: 56px 0 72px;

    background-color: #fff;

}



.condition-page .condition-popular-categories__card {

    border-radius: 16px;

    overflow: hidden;

    background-color: var(--aluna-page-bg);

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

}



.condition-page .condition-popular-categories__media {

    min-height: 200px;

    overflow: hidden;

}



.condition-page .condition-popular-categories__media img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.condition-page .condition-popular-categories__body {

    padding: 24px;

}



.condition-page .condition-popular-categories__title {

    margin: 0 0 12px;

    font-family: "Playfair Display", serif !important;

    font-size: 22px;

    font-weight: 400;

}



.condition-page .condition-popular-categories__title a {

    color: var(--aluna-text);

    text-decoration: none;

}



.condition-page .condition-popular-categories__desc {

    margin-bottom: 16px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.condition-page .condition-complete-intro {

    padding: 48px 0 24px;

    background-color: var(--aluna-page-bg);

}



.condition-page .condition-complete-intro__title {

    margin: 0 0 12px;

    font-family: "Playfair Display", serif !important;

    font-size: 32px;

    font-weight: 400;

    color: var(--aluna-text);

}



.condition-page .condition-page__breadcrumb-nav {

    margin-bottom: 8px;

}



@media (max-width: 1199.98px) {

    .condition-page .treatment-journey__grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }

}



@media (max-width: 991.98px) {

    .condition-page .condition-hero__content,

.condition-page .treatment-hero__content {

        max-width: none;

        text-align: center;

    }



    .condition-page .condition-hero__consent,

    .condition-page .treatment-hero__consent {

        margin-left: auto;

        margin-right: auto;

    }



    .condition-page .treatment-hero__title,

    .condition-page .condition-hero__intro,

.condition-page .condition-hero__description,

.condition-page .treatment-hero__intro {

        text-align: center;

    }



    .condition-page .condition-hero__media,

    .condition-page .treatment-hero__media {

        min-height: 280px;

    }



    .condition-page .condition-hero__image,

    .condition-page .treatment-hero__image {

        min-height: 280px;

    }



    .condition-page .condition-hero__actions {

        justify-content: center;

    }



    .condition-page .treatment-journey__grid {

        grid-template-columns: 1fr;

    }



    .condition-page .treatment-explanation__grid {

        grid-template-columns: 1fr;

    }



    .condition-page .treatment-section-header__title {

        font-size: 32px;

    }



    .condition-page .treatment-trust-points__list {

        flex-direction: column;

        align-items: center;

        gap: 10px;

    }



    .condition-page .condition-results-hero__panel {

        padding: 28px 24px;

    }



    .condition-page .condition-results-hero__title {

        font-size: 28px;

    }

}



/* =======================================

   CONSULTATION PAGE (Figma)

   Reference: aluna_mockups_-_frame_celpar

   ======================================= */



.consultation-page .consultation-page-header {

    background-color: var(--aluna-hero-bg);

}



.consultation-page .consultation-hero {

    padding: 40px 0 48px;

    background-color: transparent;

}



.consultation-page .consultation-hero__content {

    max-width: 720px;

    margin: 0 auto;

}



.consultation-page .consultation-hero__breadcrumb {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: center;

    gap: 8px;

    margin-bottom: 24px;

    font-family: var(--aluna-font) !important;

    font-size: 13px;

}



.consultation-page .consultation-hero__breadcrumb a {

    color: var(--aluna-orange) !important;

    font-weight: 500;

    text-decoration: none;

}



.consultation-page .consultation-hero__breadcrumb a:hover {

    text-decoration: underline;

}



.consultation-page .consultation-hero__breadcrumb-sep,

.consultation-page .consultation-hero__breadcrumb-current {

    color: var(--aluna-muted);

}



.consultation-page .consultation-hero__title {

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: 44px;

    font-weight: 400;

    line-height: 1.12;

    color: var(--aluna-text);

}



.consultation-page .consultation-hero__intro {

    max-width: 560px;

    margin: 0 auto;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.7;

    color: var(--aluna-body);

}



/* White login strip */

.consultation-page .consultation-account-bar {

    padding: 18px 0;

    background-color: #fff;

    border-bottom: 1px solid var(--aluna-border);

}



.consultation-page .consultation-account-bar__inner {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: space-between;

    gap: 16px;

}



.consultation-page .consultation-account-bar__message {

    margin: 0;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.5;

    color: var(--aluna-body);

}



.consultation-page .consultation-account-bar__message i {

    margin-right: 8px;

    color: var(--aluna-orange);

}



.consultation-page .consultation-account-bar__message strong {

    color: var(--aluna-text);

    font-weight: 600;

}



.consultation-page .consultation-account-bar__actions {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 12px;

}



.consultation-page .consultation-account-bar__btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 120px;

    padding: 10px 22px;

    border-radius: 999px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;

    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;

}



.consultation-page .consultation-account-bar__btn--primary {

    border: 1px solid var(--aluna-orange);

    background-color: var(--aluna-orange);

    color: #fff !important;

}



.consultation-page .consultation-account-bar__btn--primary:hover {

    filter: brightness(0.96);

    box-shadow: 0 4px 14px rgba(44, 51, 56, 0.15);

    color: #fff !important;

}



.consultation-page .consultation-account-bar__btn--outline {

    border: 1px solid var(--aluna-border);

    background-color: #fff;

    color: var(--aluna-text) !important;

}



.consultation-page .consultation-account-bar__btn--outline:hover {

    background-color: var(--aluna-callout-bg);

    color: var(--aluna-text) !important;

}



.consultation-page .consultation-main {

    padding: 48px 0 72px;

    background-color: var(--aluna-page-bg);

}



@media (min-width: 992px) {

    /* Parent theme .page-wrapper { overflow:hidden } breaks position:sticky */

    .page-wrapper.consultation-page-layout,

    .page-wrapper:has(.consultation-page),

    body.page-template-page-templates-consultation-php .page-wrapper {

        overflow: visible;

    }



    .consultation-page .consultation-main,

    .consultation-page .consultation-main .container,

    .consultation-page .consultation-main__row {

        overflow: visible;

    }



    .consultation-page .consultation-main__row {

        align-items: stretch;

    }



    .consultation-page .consultation-main__row > .col-lg-8,

    .consultation-page .consultation-main__row > .consultation-sidebar {

        display: flex;

        flex-direction: column;

    }



    .consultation-page .consultation-sidebar {

        align-self: stretch;

        position: relative;

        min-height: 100%;

    }



    .consultation-page .consultation-sidebar__sticky {

        position: sticky;

        top: var(--consultation-sidebar-top, 96px);

        z-index: 19;

        flex: 0 0 auto;

        overflow: visible !important;

        max-height: none !important;

    }



    /* Near form end: allow top to clip, keep Cancel button visible */

    .consultation-page .consultation-sidebar__sticky.is-sidebar-end {

        top: auto;

        bottom: 24px;

        margin-top: auto;

    }

}



.consultation-page .consultation-main__row {

    --bs-gutter-x: 32px;

    --bs-gutter-y: 32px;

}



/* Form card (progress + fields) */

.consultation-page .assessment-form {

    padding: 40px 44px 48px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

    max-width: 100%;

    min-width: 0;

    box-sizing: border-box;

    overflow: visible;

}



.consultation-page .consultation-main__row > [class*="col-"] {

    min-width: 0;

    max-width: 100%;

}



/* WooPW/parent .progress-bar uses scroll/group index — hide inside Aluna consultation shell */

.consultation-page .consultation-questionnaire .progress-bar,

.consultation-page .cflp-form .progress-bar {

    display: none !important;

}



/* WooPW v2 duplicate progress (Aluna shell owns field-based progress) */

.consultation-page .consultation-questionnaire .cflp-v2-progress-head {

    display: none !important;

}



.consultation-page .consultation-progress {

    margin-bottom: 36px;

    padding-bottom: 28px;

    border-bottom: 1px solid var(--aluna-border);

}



.consultation-page .consultation-progress__steps {

    display: flex;

    justify-content: space-between;

    gap: 8px;

    margin-bottom: 20px;

}



.consultation-page .consultation-progress__step {

    flex: 1;

    min-width: 0;

    text-align: center;

}



.consultation-page .consultation-progress__step-circle {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 36px;

    height: 36px;

    margin: 0 auto 8px;

    border-radius: 50%;

    background-color: #e4e8e0;

    color: var(--aluna-muted);

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

}



.consultation-page .consultation-progress__step--active .consultation-progress__step-circle,

.consultation-page .consultation-progress__step--complete .consultation-progress__step-circle {

    background-color: var(--aluna-orange);

    color: #fff;

}



.consultation-page .consultation-progress__step-label {

    display: block;

    font-family: var(--aluna-font) !important;

    font-size: 11px;

    font-weight: 500;

    line-height: 1.3;

    color: var(--aluna-muted);

}



.consultation-page .consultation-progress__step--active .consultation-progress__step-label,

.consultation-page .consultation-progress__step--complete .consultation-progress__step-label {

    color: var(--aluna-text);

}



.consultation-page .consultation-progress__meta {

    display: grid;

    grid-template-columns: auto 1fr auto;

    align-items: center;

    gap: 16px;

}



.consultation-page .consultation-progress__meta-label,

.consultation-page .consultation-progress__meta-percent {

    font-family: var(--aluna-font) !important;

    font-size: 13px;

    font-weight: 500;

    color: var(--aluna-body);

    white-space: nowrap;

}



.consultation-page .consultation-progress__meta-percent {

    color: var(--aluna-orange);

    font-weight: 600;

}



.consultation-page .consultation-progress__bar {

    position: relative;

    height: 6px;

    overflow: hidden;

    border-radius: 999px;

    background-color: #e4e8e0;

}



.consultation-page .consultation-progress__bar-fill {

    display: block;

    height: 100%;

    border-radius: inherit;

    background-color: var(--aluna-orange);

    transition: width 0.3s ease;

}



.consultation-page .consultation-form {

    margin: 0;

}



.consultation-page .assessment-form__heading {

    display: flex;

    align-items: center;

    gap: 12px;

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: 26px;

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text);

}



.consultation-page .assessment-form__step-badge {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 32px;

    height: 32px;

    flex-shrink: 0;

    border-radius: 50%;

    background-color: var(--aluna-orange);

    color: #fff;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

}



.consultation-page .assessment-form__lead {

    margin: 0 0 28px;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body);

}



.consultation-page .consultation-note {

    margin-bottom: 28px;

    padding: 18px 20px;

    border: 1px solid #e8ddd4;

    border-left: 4px solid var(--aluna-orange);

    border-radius: 10px;

    background-color: #f6f4f0;

}



.consultation-page .consultation-note__title {

    margin: 0 0 8px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

    color: var(--aluna-text);

}



.consultation-page .consultation-note__title i {

    margin-right: 6px;

    color: var(--aluna-orange);

}



.consultation-page .consultation-note__body {

    margin: 0;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.6;

    color: var(--aluna-body);

}



.consultation-page .consultation-ack-list__prompt {

    margin: 0 0 16px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

    color: var(--aluna-text);

}



.consultation-page .consultation-ack-item {

    margin-bottom: 10px;

    padding: 14px 18px;

    border-radius: 10px;

    background-color: #f3f5f1;

}



.consultation-page .consultation-ack-item__label {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 16px;

    margin: 0;

    cursor: pointer;

}



.consultation-page .consultation-ack-item__text {

    flex: 1;

    font-family: var(--aluna-font) !important;

    font-size: 13px;

    line-height: 1.55;

    color: var(--aluna-body);

}



.consultation-page .consultation-ack-item__label input {

    margin-top: 2px;

    flex-shrink: 0;

    width: 18px;

    height: 18px;

    accent-color: var(--aluna-orange);

}



.consultation-page .consultation-ack-confirm {

    margin: 20px 0 32px;

    padding: 16px 18px;

    border: 1px solid var(--aluna-border);

    border-radius: 10px;

    background-color: #fff;

}



.consultation-page .consultation-ack-confirm__label {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 16px;

    margin: 0;

    cursor: pointer;

    font-family: var(--aluna-font) !important;

    font-size: 13px;

    font-weight: 500;

    line-height: 1.5;

    color: var(--aluna-text);

}



.consultation-page .consultation-ack-confirm__label input {

    margin-top: 2px;

    flex-shrink: 0;

    width: 18px;

    height: 18px;

    accent-color: var(--aluna-orange);

}



.consultation-page .consultation-form-actions {

    margin-top: 8px;

}



.consultation-page .consultation-form-actions__next {

    width: 100%;

    justify-content: center;

    padding: 14px 24px !important;

    border-radius: 999px !important;

}



/* Sidebar */

.consultation-page .consultation-sidebar {

    display: block;

}



.consultation-page .consultation-sidebar__sticky {

    display: flex;

    flex-direction: column;

    gap: 20px;

    width: 100%;

}



.consultation-page .consultation-sidebar__card {

    padding: 28px 26px 30px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

    overflow: visible;

}



.consultation-page .consultation-sidebar__heading {

    margin: 0 0 20px;

    padding-top: 4px;

    font-family: "Playfair Display", serif !important;

    font-size: 22px;

    font-weight: 400;

    line-height: 1.35;

    color: var(--aluna-text);

    overflow: visible;

}



.consultation-page .consultation-sidebar__step {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 10px 0;

    border-bottom: 1px solid var(--aluna-border);

}



.consultation-page .consultation-sidebar__step:last-of-type {

    border-bottom: none;

    margin-bottom: 8px;

}



.consultation-page .consultation-sidebar__step-circle {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 28px;

    height: 28px;

    flex-shrink: 0;

    border-radius: 50%;

    background-color: #e4e8e0;

    color: var(--aluna-muted);

    font-family: var(--aluna-font) !important;

    font-size: 12px;

    font-weight: 600;

}



.consultation-page .consultation-sidebar__step--active .consultation-sidebar__step-circle,

.consultation-page .consultation-sidebar__step--complete .consultation-sidebar__step-circle {

    background-color: var(--aluna-orange);

    color: #fff;

}



.consultation-page .consultation-sidebar__step-label {

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 500;

    color: var(--aluna-muted);

}



.consultation-page .consultation-sidebar__step--active .consultation-sidebar__step-label,

.consultation-page .consultation-sidebar__step--complete .consultation-sidebar__step-label {

    color: var(--aluna-text);

}



.consultation-page .consultation-sidebar__cta {

    width: 100%;

    margin-top: 8px;

    padding: 14px 20px !important;

    border: none;

    border-radius: 999px !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

    cursor: pointer;

    justify-content: center;

    transition: background-color 0.2s ease, opacity 0.2s ease;

}



.consultation-page .consultation-sidebar__cta:not(:disabled):not(.is-disabled) {

    animation: pulsed 1.5s infinite;

}



.consultation-page .consultation-sidebar__cta:disabled,

.consultation-page .consultation-sidebar__cta.is-disabled {

    background: #c5cebd !important;

    background-color: #c5cebd !important;

    background-image: none !important;

    color: #fff !important;

    cursor: not-allowed !important;

    opacity: 1 !important;

    pointer-events: none;

    box-shadow: none !important;

    animation: none !important;

    transform: none !important;

}



.consultation-page .consultation-sidebar__cta:disabled:hover,

.consultation-page .consultation-sidebar__cta.is-disabled:hover {

    background: #c5cebd !important;

    background-color: #c5cebd !important;

    color: #fff !important;

}



@keyframes pulsed {

    0% {

        box-shadow: 0 0 0 0 rgba(244, 71, 6, 0.45);

    }



    5% {

        transform: scale(1.01);

    }



    15% {

        transform: scale(1);

    }



    70% {

        box-shadow: 0 0 0 50px rgba(244, 71, 6, 0);

    }



    100% {

        box-shadow: 0 0 0 100px rgba(244, 71, 6, 0);

    }

}



.consultation-page .consultation-help-box {

    padding: 22px 24px;

    border: 1px solid var(--aluna-border);

    border-radius: 12px;

    background-color: #f6f4f0;

}



.consultation-page .consultation-help-box__title {

    margin: 0 0 10px;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

    color: var(--aluna-text);

}



.consultation-page .consultation-help-box__title i {

    margin-right: 6px;

    color: var(--aluna-orange);

}



.consultation-page .consultation-help-box__text {

    margin: 0;

    font-family: var(--aluna-font) !important;

    font-size: 13px;

    line-height: 1.55;

    color: var(--aluna-body);

}



.consultation-page .consultation-help-box__text a {

    color: var(--aluna-orange);

    text-decoration: none;

    font-weight: 600;

}



.consultation-page .consultation-help-box__text a:hover {

    text-decoration: underline;

}



.consultation-page .consultation-trust-card {

    padding: 22px 24px;

    border-radius: 12px;

    background-color: #fff;

    box-shadow: 0 2px 12px rgba(44, 51, 56, 0.05);

}



.consultation-page .consultation-trust-card__list {

    margin: 0;

    padding: 0;

    list-style: none;

}



.consultation-page .consultation-trust-card__list li {

    display: flex;

    align-items: flex-start;

    gap: 10px;

    margin: 0 0 12px;

    font-family: var(--aluna-font) !important;

    font-size: 13px;

    line-height: 1.45;

    color: var(--aluna-body);

}



.consultation-page .consultation-trust-card__list li:last-child {

    margin-bottom: 0;

}



.consultation-page .consultation-trust-card__list .fa-check {

    margin-top: 3px;

    color: var(--aluna-orange);

    font-size: 12px;

}



.consultation-page .consultation-sidebar__cancel {

    display: block;

    width: 100%;

    padding: 13px 20px;

    border: 2px solid var(--aluna-orange) !important;

    border-radius: 999px;

    background-color: #fff;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

    line-height: 1.3;

    color: var(--aluna-orange) !important;

    text-align: center;

    cursor: pointer;

    box-shadow: 0 1px 4px rgba(244, 71, 6, 0.08);

    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;

}



.consultation-page .consultation-sidebar__cancel:hover {

    background-color: #fff5f0;

    border-color: var(--aluna-orange) !important;

    color: var(--aluna-orange) !important;

    box-shadow: 0 4px 14px rgba(244, 71, 6, 0.18);

    transform: translateY(-1px);

}



.consultation-page .consultation-sidebar__cancel:focus {

    outline: none;

    box-shadow: 0 0 0 3px rgba(244, 71, 6, 0.2);

}



.consultation-page .consultation-sidebar__cancel:active {

    transform: translateY(0);

    box-shadow: 0 1px 6px rgba(244, 71, 6, 0.12);

}



/* Logged-in: no account bar — extra hero spacing */

.consultation-page.consultation-page--logged-in .consultation-hero {

    padding-bottom: 48px;

}



/* Optional CMS content (parent the_content block) */

.consultation-page .consultation-page-content {

    padding: 32px 0;

    background-color: #fff;

    border-bottom: 1px solid var(--aluna-border);

}



.consultation-page .consultation-page-content__inner {

    max-width: 720px;

    margin: 0 auto;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body);

}



/* Parent-theme notices */

.consultation-page .consultation-notice {

    margin-bottom: 28px;

    padding: 20px 24px;

    border-radius: 12px;

    background-color: #fff5f5;

    border: 1px solid #f0c8c8;

}



.consultation-page .consultation-notice__title {

    margin: 0 0 8px;

    font-family: var(--aluna-font) !important;

    font-size: 16px;

    font-weight: 600;

    color: var(--aluna-text);

}



.consultation-page .consultation-notice__text {

    margin: 0;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    line-height: 1.55;

    color: var(--aluna-body);

}



.consultation-page .consultation-welcome-back {

    margin-bottom: 32px;

    padding: 32px 36px;

    border-radius: 16px;

    background-color: #fff;

    box-shadow: 0 2px 16px rgba(44, 51, 56, 0.06);

}



.consultation-page .consultation-welcome-back__title {

    margin: 0 0 12px;

    font-family: "Playfair Display", serif !important;

    font-size: 26px;

    font-weight: 400;

    color: var(--aluna-text);

}



.consultation-page .consultation-welcome-back__text {

    margin: 0 0 12px;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body);

}



.consultation-page .consultation-welcome-back__cta {

    margin-top: 8px;

}



/* System messages + WooPW questionnaire output */

.consultation-page .consultation-system-message,

.consultation-page .consultation-questionnaire {

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body);

    max-width: 100%;

    min-width: 0;

    box-sizing: border-box;

    overflow: visible;

    /* WooPW admin can set a huge radius — cap it on the consultation form */

    --cf-form-border-radius: 12px;

    /* Align reorder + initial assessment with Aluna (override plugin admin colors) */

    --cf-text-color: var(--aluna-text);

    --cf-form-border-radius-color: var(--aluna-border-soft);

}



/* Consultation in progress (ACF message) */

.consultation-page .consultation-system-message--in-progress {

    max-width: 640px;

    margin: 0 auto;

    padding: 32px 28px 36px;

    border: 1px solid var(--aluna-border-soft, #c5cebd);

    border-top: 4px solid var(--aluna-orange, #f44706);

    border-radius: 16px;

    background: #fff;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.06);

    text-align: center;

}



.consultation-page .consultation-system-message--in-progress > *:first-child {

    margin-top: 0;

}



.consultation-page .consultation-system-message--in-progress h1,

.consultation-page .consultation-system-message--in-progress h2,

.consultation-page .consultation-system-message--in-progress h3,

.consultation-page .consultation-system-message--in-progress h4 {

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(24px, 5vw, 32px) !important;

    font-weight: 400 !important;

    line-height: 1.25 !important;

    color: var(--aluna-text, #2c3338) !important;

}



.consultation-page .consultation-system-message--in-progress p {

    margin: 0 0 14px;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    line-height: 1.65 !important;

    color: var(--aluna-body, #5a6268) !important;

}



.consultation-page .consultation-system-message--in-progress p:last-of-type {

    margin-bottom: 24px;

}



.consultation-page .consultation-system-message--in-progress a:not(.button):not([class*="btn"]):not([class*="theme-btn"]) {

    color: var(--aluna-orange, #f44706) !important;

    font-weight: 600;

    text-decoration: underline;

    text-underline-offset: 2px;

}



.consultation-page .consultation-system-message--in-progress a:not(.button):not([class*="btn"]):not([class*="theme-btn"]):hover {

    color: #d63d05 !important;

}



.consultation-page .consultation-system-message--in-progress .button,

.consultation-page .consultation-system-message--in-progress a.button,

.consultation-page .consultation-system-message--in-progress .btn,

.consultation-page .consultation-system-message--in-progress a.btn,

.consultation-page .consultation-system-message--in-progress [class*="theme-btn"],

.consultation-page .consultation-system-message--in-progress a[class*="theme-btn"],

.consultation-page .consultation-system-message--in-progress button,

.consultation-page .consultation-system-message--in-progress input[type="submit"],

.consultation-page .consultation-system-message--in-progress input[type="button"] {

    display: inline-block !important;

    margin: 8px 0 0 !important;

    padding: 12px 28px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    background-image: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    line-height: 1.3 !important;

    text-decoration: none !important;

    text-transform: none !important;

    box-shadow: none !important;

    cursor: pointer;

    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;

}



.consultation-page .consultation-system-message--in-progress .button:hover,

.consultation-page .consultation-system-message--in-progress a.button:hover,

.consultation-page .consultation-system-message--in-progress .btn:hover,

.consultation-page .consultation-system-message--in-progress a.btn:hover,

.consultation-page .consultation-system-message--in-progress [class*="theme-btn"]:hover,

.consultation-page .consultation-system-message--in-progress a[class*="theme-btn"]:hover,

.consultation-page .consultation-system-message--in-progress button:hover,

.consultation-page .consultation-system-message--in-progress input[type="submit"]:hover {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    transform: translateY(-1px);

    box-shadow: 0 4px 14px rgba(244, 71, 6, 0.32) !important;

}



@media (max-width: 768px) {

    .consultation-page .consultation-system-message--in-progress {

        padding: 24px 20px 28px;

        text-align: left;

    }



    .consultation-page .consultation-system-message--in-progress h1,

    .consultation-page .consultation-system-message--in-progress h2,

    .consultation-page .consultation-system-message--in-progress h3,

    .consultation-page .consultation-system-message--in-progress h4 {

        font-size: 24px !important;

    }



    .consultation-page .consultation-system-message--in-progress .button,

    .consultation-page .consultation-system-message--in-progress a.button,

    .consultation-page .consultation-system-message--in-progress .btn,

    .consultation-page .consultation-system-message--in-progress a.btn,

    .consultation-page .consultation-system-message--in-progress [class*="theme-btn"],

    .consultation-page .consultation-system-message--in-progress a[class*="theme-btn"],

    .consultation-page .consultation-system-message--in-progress button,

    .consultation-page .consultation-system-message--in-progress input[type="submit"] {

        display: block !important;

        width: 100%;

        max-width: 100%;

        text-align: center;

    }

}



.consultation-page .consultation-questionnaire .woocommerce-error,

.consultation-page .consultation-questionnaire .woocommerce-message,

.consultation-page .consultation-questionnaire .woocommerce-info {

    margin-bottom: 20px;

}



/* Figma form shell */

.consultation-page.consultation-page--assessment .assessment-form--shell {

    border: 1px solid var(--aluna-border-soft);

}



.consultation-page .assessment-form--shell .consultation-progress {

    margin-bottom: 32px;

    padding-bottom: 28px;

    border-bottom: 1px solid var(--aluna-border);

}



/* WooPW / CFLP questionnaire inside Aluna card */

.consultation-page .consultation-questionnaire .cflp-form-container,

.consultation-page .consultation-questionnaire .questionnaire-form,

.consultation-page .consultation-questionnaire form.cflp-form {

    margin: 0;

    width: 100%;

    max-width: 100%;

    min-width: 0;

    box-sizing: border-box;

}



.consultation-page .consultation-questionnaire form.cflp-form > .row {

    --bs-gutter-x: 0;

    margin: 0;

    width: 100%;

    max-width: 100%;

    min-width: 0;

}



.consultation-page .consultation-questionnaire form.cflp-form .form-sidebar {

    display: none !important;

    flex: 0 0 0 !important;

    width: 0 !important;

    max-width: 0 !important;

    padding: 0 !important;

    margin: 0 !important;

    overflow: hidden !important;

}



.consultation-page .consultation-questionnaire form.cflp-form .form-content,

.consultation-page .consultation-questionnaire form.cflp-form .form-content.col-md-8 {

    flex: 0 0 100% !important;

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

    padding: 0 !important;

}



.consultation-page .consultation-questionnaire .questionnaire-form h4,

.consultation-page .consultation-questionnaire form.cflp-form h3 {

    display: grid;

    grid-template-columns: auto minmax(0, 1fr);

    align-items: center;

    gap: 10px 12px;

    margin: 0 0 14px;

    width: 100%;

    max-width: 100%;

    min-width: 0;

    white-space: normal !important;

    overflow-wrap: anywhere;

    word-break: break-word;

    font-family: "Playfair Display", serif !important;

    font-size: 22px;

    font-weight: 400;

    line-height: 1.25;

    color: var(--aluna-text);

}



/* Field question text inside each WooPW block */

.consultation-page .consultation-questionnaire form.cflp-form h4 {

    display: block;

    font-family: var(--aluna-font) !important;

    font-size: 16px !important;

    font-weight: 600 !important;

    line-height: 1.5 !important;

    margin: 0 0 14px !important;

    color: var(--aluna-text) !important;

}



.consultation-page .consultation-questionnaire .form-group-title,

.consultation-page .consultation-questionnaire .questionnaire-form .form-group-title,

.consultation-page .consultation-questionnaire form.cflp-form .form-group-title,

.consultation-page .consultation-questionnaire .consultation-form-step-title {

    display: flex !important;

    flex-wrap: nowrap;

    align-items: flex-start;

    gap: 10px 12px;

    cursor: pointer;

    margin-bottom: 0;

    width: 100%;

    max-width: 100%;

    min-width: 0;

    white-space: normal !important;

    overflow-wrap: anywhere;

    word-break: break-word;

    color: #2c3338 !important;

    font-family: "Playfair Display", serif !important;

    font-size: 22px;

    font-weight: 400;

    line-height: 1.25;

}



.consultation-page .consultation-questionnaire .consultation-step-title-text {

    flex: 1 1 0;

    min-width: 0;

    max-width: 100%;

    white-space: normal !important;

    overflow-wrap: anywhere;

    word-break: break-word;

}



.consultation-page .consultation-questionnaire .form-group-title .count-group,

.consultation-page .consultation-questionnaire .form-group-title .sidebar-count-group,

.consultation-page .consultation-questionnaire .form-group-title .consultation-step-point,

.consultation-page .consultation-questionnaire .consultation-form-step-title .count-group,

.consultation-page .consultation-questionnaire .consultation-form-step-title .sidebar-count-group,

.consultation-page .consultation-questionnaire .consultation-form-step-title .consultation-step-point {

    position: static !important;

    float: none !important;

    flex: 0 0 auto;

    flex-shrink: 0;

    align-self: flex-start;

    margin: 0 !important;

}



.consultation-page .consultation-step-point {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    width: 32px;

    height: 32px;

    border-radius: 50%;

    background-color: var(--aluna-border, #d1d5db);

    color: #fff;

    font-family: var(--aluna-font);

    font-size: 14px;

    font-weight: 600;

    line-height: 1;

}



.consultation-page .consultation-step-point--active,

.consultation-page .consultation-form-step-title--active .consultation-step-point {

    background-color: var(--aluna-orange);

}



.consultation-page .consultation-step-point--complete {

    background-color: var(--aluna-orange);

}



/* WooPW/CFLP step number badges in form headings */

.consultation-page .consultation-questionnaire span.count-group,

.consultation-page .consultation-questionnaire span.sidebar-count-group {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    width: 32px !important;

    height: 32px !important;

    min-width: 32px !important;

    max-width: 32px !important;

    margin: 0 !important;

    padding: 0 !important;

    border-radius: 50%;

    background: var(--aluna-border, #d1d5db) !important;

    background-color: var(--aluna-border, #d1d5db) !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600;

    line-height: 1;

    box-sizing: border-box;

}



.consultation-page .consultation-questionnaire .consultation-plugin-step-point--active.count-group,

.consultation-page .consultation-questionnaire .consultation-plugin-step-point--active.sidebar-count-group,

.consultation-page .consultation-questionnaire .consultation-plugin-step-point--complete.count-group,

.consultation-page .consultation-questionnaire .consultation-plugin-step-point--complete.sidebar-count-group,

.consultation-page .consultation-questionnaire .consultation-form-step-title--active > .count-group,

.consultation-page .consultation-questionnaire .consultation-form-step-title--active > .sidebar-count-group {

    background: var(--aluna-orange) !important;

    background-color: var(--aluna-orange) !important;

    color: #fff !important;

}



.consultation-page .consultation-questionnaire .questionnaire-form .form-group,

.consultation-page .consultation-questionnaire form.cflp-form .form-group {

    margin-bottom: 0 !important;

}



/* WooPW nests each question in .fields-content — gap between siblings, not nested inputs */

.consultation-page .consultation-questionnaire .fields-content {

    display: flex;

    flex-direction: column;

    gap: 36px;

}



.consultation-page .consultation-questionnaire .fields-content > .form-group.form-input-group {

    margin: 0 !important;

    border: none !important;

    border-radius: 0 !important;

    overflow: visible !important;

    background: transparent !important;

    padding: 0 !important;

}



.consultation-page .consultation-questionnaire .form-group-wrapper .form-group,

.consultation-page .consultation-questionnaire .form-description-wrapper .form-group {

    margin-bottom: 0 !important;

}



.consultation-page .consultation-questionnaire .questionnaire-form label,

.consultation-page .consultation-questionnaire form.cflp-form label {

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    font-weight: 600;

    color: var(--aluna-text) !important;

}



.consultation-page .consultation-questionnaire .questionnaire-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),

.consultation-page .consultation-questionnaire .questionnaire-form select,

.consultation-page .consultation-questionnaire .questionnaire-form textarea,

.consultation-page .consultation-questionnaire form.cflp-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),

.consultation-page .consultation-questionnaire form.cflp-form select,

.consultation-page .consultation-questionnaire form.cflp-form textarea {

    min-height: 48px;

    border: 1px solid var(--aluna-border) !important;

    border-radius: 10px !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

    color: var(--aluna-text);

    box-shadow: none;

}



.consultation-page .consultation-questionnaire .questionnaire-form .short-info,

.consultation-page .consultation-questionnaire form.cflp-form .short-info {

    margin-bottom: 20px;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body) !important;

}



.consultation-page .consultation-questionnaire .questionnaire-form .wpcf7-list-item,

.consultation-page .consultation-questionnaire form.cflp-form .checkbox-item {

    display: block;

    margin: 0 0 10px;

    padding: 14px 18px;

    border-radius: 10px;

    background-color: #f3f5f1;

}



.consultation-page .consultation-questionnaire form.cflp-form .check-radio-group .form-check.radio {

    display: block;

    margin: 0 !important;

    padding: 0 !important;

    background: transparent !important;

    width: auto !important;

    min-width: 0 !important;

    max-width: none !important;

    flex: unset !important;

}



/* WooPW floats checkboxes outside the box — reset on consultation page */

.consultation-page .consultation-questionnaire .form-check .form-check-input,

.consultation-page .consultation-questionnaire .checkbox-group .form-check-input {

    float: none !important;

    margin-left: 0 !important;

    margin-right: 0 !important;

    position: static !important;

}



.consultation-page .consultation-questionnaire .form-check.radio label,

.consultation-page .consultation-questionnaire form.cflp-form .form-check.radio label {

    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;

}



.consultation-page .consultation-questionnaire .check-radio-group .form-check.radio label:hover,

.consultation-page .consultation-questionnaire .check-radio-group .form-check.radio label:focus,

.consultation-page .consultation-questionnaire form.cflp-form .check-radio-group .form-check.radio label:hover,

.consultation-page .consultation-questionnaire form.cflp-form .check-radio-group .form-check.radio label:focus {

    padding: 10px 16px !important;

    font-weight: 600;

    background: var(--aluna-callout-bg) !important;

    color: var(--aluna-text) !important;

    transform: none;

    border: 1px solid var(--aluna-orange) !important;

}



.consultation-page .consultation-questionnaire .form-check.radio label:hover *,

.consultation-page .consultation-questionnaire .form-check.radio label:focus *,

.consultation-page .consultation-questionnaire form.cflp-form .form-check.radio label:hover *,

.consultation-page .consultation-questionnaire form.cflp-form .form-check.radio label:focus * {

    color: var(--aluna-text) !important;

}



.consultation-page .consultation-questionnaire .check-radio-group .form-check.radio input[type="radio"]:checked ~ label,

.consultation-page .consultation-questionnaire .check-radio-group .form-check.radio input[type="radio"]:checked + label,

.consultation-page .consultation-questionnaire form.cflp-form .check-radio-group .form-check.radio input[type="radio"]:checked ~ label,

.consultation-page .consultation-questionnaire form.cflp-form .check-radio-group .form-check.radio input[type="radio"]:checked + label {

    transform: none;

    background: var(--aluna-orange) !important;

    background-color: var(--aluna-orange) !important;

    color: #fff !important;

    border: 1px solid var(--aluna-orange) !important;

}



.consultation-page .form-check.radio input[type="radio"]:checked ~ label *,

.consultation-page .form-check.radio input[type="radio"]:checked + label *,

.consultation-page .consultation-questionnaire .form-check.radio input[type="radio"]:checked ~ label *,

.consultation-page .consultation-questionnaire form.cflp-form .form-check.radio input[type="radio"]:checked ~ label *,

.consultation-page .consultation-questionnaire form.cflp-form .form-check.radio input[type="radio"]:checked + label *,

.consultation-page .cflp-form .form-check.radio input[type="radio"]:checked ~ label *,

.consultation-page .cflp-form .form-check.radio input[type="radio"]:checked + label * {

    color: #fff !important;

}



/* CFLP / WooPW plugin: field question headings inside form groups */

.consultation-page .content-wrapper.section-title.text-center h4.mb-3,

.consultation-page .cflp-form-container .form-group-wrapper label h4,

.consultation-page .cflp-form-container .form-description-wrapper label h4,

.consultation-page .cflp-form .form-group label h4,

.consultation-page form.cflp-form .form-group label h4,

.consultation-page .consultation-questionnaire .fields-content > .form-group.form-input-group label h4,

.consultation-page .consultation-questionnaire .fields-content > .form-group.form-input-group.act-field-wrapper label h4 {

    color: var(--aluna-text) !important;

    font-family: var(--aluna-font) !important;

    font-size: 16px !important;

    font-weight: 600 !important;

    line-height: 1.5 !important;

    margin: 0 0 14px !important;

    opacity: 1 !important;

}



/* WooPW outputs an empty span before each label; hide it (matches v2 multistep behaviour). */

.consultation-page .consultation-questionnaire .content-wrapper.section-title.text-center h4.mb-3 span.question-pointer {

    display: none !important;

    margin: 0 !important;

    padding: 0 !important;

}



.consultation-page .cflp-form-container div.form-group-wrapper,

.consultation-page .cflp-form-container div.form-description-wrapper {

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

    box-sizing: border-box;

    overflow: visible !important;

    border: 1px solid var(--aluna-border-soft) !important;

    border-radius: 12px !important;

    padding: 22px 24px !important;

    margin-bottom: 24px !important;

    background-color: #fff;

}



.consultation-page .consultation-questionnaire .deactive-group,

.consultation-page .consultation-questionnaire .form-group-wrapper.deactive-group {

    opacity: 1 !important;

    background-color: #fff !important;

    overflow: visible !important;

    border-radius: 12px !important;

}



/* Locked / inactive questions (dsl-field-wrapper) — readable, no clip */

.consultation-page .consultation-questionnaire .cflp-form-container .form-group.dsl-field-wrapper,

.consultation-page .consultation-questionnaire .form-group.dsl-field-wrapper,

.consultation-page .cflp-form .form-group.dsl-field-wrapper {

    overflow: visible !important;

    border-radius: 0 !important;

    border: none !important;

    opacity: 1 !important;

    cursor: not-allowed;

    background: transparent !important;

    padding: 0 !important;

    box-shadow: none !important;

}



.consultation-page .consultation-questionnaire .cflp-form-container .form-group.dsl-field-wrapper::before,

.consultation-page .consultation-questionnaire .form-group.dsl-field-wrapper::before,

.consultation-page .cflp-form .form-group.dsl-field-wrapper::before {

    display: none !important;

}



.consultation-page .consultation-questionnaire .fields-content > .form-group.form-input-group.dsl-field-wrapper {

    pointer-events: none;

    padding: 16px 18px !important;

    border: 1px solid var(--aluna-border-soft) !important;

    border-radius: 12px !important;

    background: #e8ece5 !important;

}



.consultation-page .consultation-questionnaire .fields-content > .form-group.form-input-group.dsl-field-wrapper label h4,

.consultation-page .consultation-questionnaire .fields-content > .form-group.form-input-group.dsl-field-wrapper .paragraph-text {

    color: var(--aluna-muted) !important;

    opacity: 1 !important;

}



.consultation-page .consultation-questionnaire .fields-content > .form-group.form-input-group.dsl-field-wrapper .weight-block,

.consultation-page .consultation-questionnaire .fields-content > .form-group.form-input-group.dsl-field-wrapper .height-block {

    border-radius: 10px !important;

    overflow: visible !important;

    background: #dfe4da !important;

    border-color: #c5cebd !important;

    opacity: 1 !important;

}



/* Disabled / locked inputs — clear grey fill (override WooPW + white field rules) */

.consultation-page .consultation-questionnaire .form-control:disabled,

.consultation-page .consultation-questionnaire select.form-control:disabled,

.consultation-page .consultation-questionnaire textarea.form-control:disabled,

.consultation-page .consultation-questionnaire input.form-control:disabled,

.consultation-page .consultation-questionnaire .dsl-field-wrapper .form-control,

.consultation-page .consultation-questionnaire .dsl-field-wrapper select,

.consultation-page .consultation-questionnaire .dsl-field-wrapper textarea,

.consultation-page .consultation-questionnaire .dsl-field-wrapper input.form-control:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {

    background-color: #dfe4da !important;

    border-color: #c5cebd !important;

    color: var(--aluna-muted) !important;

    opacity: 1 !important;

    cursor: not-allowed !important;

    box-shadow: none !important;

    -webkit-text-fill-color: var(--aluna-muted);

}



.consultation-page .consultation-questionnaire .dsl-field-wrapper .check-radio-group .form-check.radio label,

.consultation-page .consultation-questionnaire .dsl-field-wrapper .checkbox-group label.form-check-label {

    background: #dfe4da !important;

    border-color: #c5cebd !important;

    color: var(--aluna-muted) !important;

    opacity: 1 !important;

    cursor: not-allowed !important;

}



/* WooPW consultation form — field polish (child theme overrides) */

.consultation-page .consultation-questionnaire .cflp-form-container .form-group,

.consultation-page .consultation-questionnaire :is(.cflp-form, .woopw-form-wrapper) .form-group,

.consultation-page .consultation-questionnaire form.cflp-form .form-group {

    border: none !important;

    padding: 0 !important;

    margin-top: 0 !important;

    margin-bottom: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    border-radius: 0 !important;

    overflow: visible !important;

}



.consultation-page .consultation-questionnaire .form-group-wrapper .form-group,

.consultation-page .consultation-questionnaire .form-description-wrapper .form-group {

    border: none !important;

    padding: 0 !important;

    margin-bottom: 0 !important;

}



/* Weight / height — one bordered section; dual inputs 50% / 50% */

.consultation-page .consultation-questionnaire .weight-block,

.consultation-page .consultation-questionnaire .height-block {

    display: block;

    width: 100% !important;

    max-width: 100% !important;

    margin-top: 0;

    padding: 16px 18px;

    border: 1px solid var(--aluna-border-soft);

    border-radius: 10px;

    background: #fff;

    box-sizing: border-box;

    overflow: visible !important;

}



.consultation-page .consultation-questionnaire .form-control,

.consultation-page .consultation-questionnaire .form-control.floating-label-effect {

    margin-top: 0 !important;

    border-radius: 10px !important;

    background: #fff !important;

    border: 1px solid var(--aluna-border) !important;

    color: var(--aluna-text) !important;

    min-height: 48px;

    padding: 12px 16px !important;

    box-shadow: none !important;

}



.consultation-page .consultation-questionnaire .form-control:focus,

.consultation-page .consultation-questionnaire select.form-control:focus,

.consultation-page .consultation-questionnaire textarea.form-control:focus {

    border-color: var(--aluna-orange) !important;

    box-shadow: 0 0 0 3px rgba(244, 71, 6, 0.12) !important;

    outline: none;

}



.consultation-page .consultation-questionnaire .form-control:disabled:focus,

.consultation-page .consultation-questionnaire select.form-control:disabled:focus,

.consultation-page .consultation-questionnaire .dsl-field-wrapper .form-control:focus {

    border-color: #c5cebd !important;

    box-shadow: none !important;

}



.consultation-page .consultation-questionnaire select.form-control {

    appearance: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232c3338' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: right 16px center;

    padding-right: 44px !important;

    cursor: pointer;

}



.consultation-page .consultation-questionnaire label.lable-left.floating-label,

.consultation-page .consultation-questionnaire .floating-label {

    position: static !important;

    transform: none !important;

    opacity: 1 !important;

    display: block !important;

    margin: 0 0 8px !important;

    padding: 0 !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    color: var(--aluna-text) !important;

    line-height: 1.3 !important;

}



.consultation-page .consultation-questionnaire .form-control.floating-label-effect::placeholder,

.consultation-page .consultation-questionnaire .floating-label-effect::placeholder {

    color: var(--aluna-muted) !important;

    opacity: 1 !important;

}



/* Height / weight fields */

.consultation-page .consultation-questionnaire .height-weight-switch {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 16px;

    width: 100%;

    padding: 0 0 14px !important;

    margin: 0 0 14px !important;

    border-bottom: 1px solid var(--aluna-border-soft);

}



.consultation-page .consultation-questionnaire .height-weight-switch .label-text {

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    color: var(--aluna-text) !important;

}



/* Respect lbs/kg and ft-in/cm toggle — do not force both panels visible */

.consultation-page .consultation-questionnaire .height-weight-UI.is-unit-hidden,

.consultation-page .consultation-questionnaire .height-weight-UI.text[style*="display: none"],

.consultation-page .consultation-questionnaire .height-weight-UI.multiple-text[style*="display: none"] {

    display: none !important;

}



.consultation-page .consultation-questionnaire .height-weight-UI.text:not(.is-unit-hidden):not([style*="display: none"]),

.consultation-page .consultation-questionnaire .height-weight-UI.multiple-text:not(.is-unit-hidden):not([style*="display: none"]) {

    display: block;

    float: none !important;

    width: 100% !important;

    max-width: 100% !important;

    padding: 0 !important;

    margin: 0 !important;

}



.consultation-page .consultation-questionnaire .height-weight-UI.multiple-text .joint-input {

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

}



.consultation-page .consultation-questionnaire .height-weight-UI.multiple-text .joint-input .d-flex {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 12px;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    justify-content: stretch !important;

    align-items: stretch !important;

}



.consultation-page .consultation-questionnaire .height-weight-UI.multiple-text .joint-input .d-flex > .form-group {

    width: 100% !important;

    min-width: 0 !important;

    max-width: none !important;

}



.consultation-page .consultation-questionnaire .height-weight-UI .form-group,

.consultation-page .consultation-questionnaire .joint-input .form-group {

    display: flex;

    flex-direction: column;

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    width: 100%;

    min-width: 0;

}



.consultation-page .consultation-questionnaire .height-weight-UI .form-control,

.consultation-page .consultation-questionnaire .height-weight-UI.multiple-text .form-control {

    order: 2;

    width: 100% !important;

    max-width: 100% !important;

    box-sizing: border-box;

}



.consultation-page .consultation-questionnaire .height-weight-UI label.lable-left.floating-label {

    order: 1;

    margin: 0 0 8px !important;

    color: var(--aluna-text) !important;

    opacity: 1 !important;

}



.consultation-page .consultation-questionnaire .joint-input .form-group + .form-group {

    margin-left: 0 !important;

}



/* Unit toggle (lbs/kg, ft-in/cm) */

.consultation-page .consultation-questionnaire .label-switch {

    float: none;

    margin: 0;

    gap: 8px;

}



.consultation-page .consultation-questionnaire .label-switch .inner-label {

    font-family: var(--aluna-font) !important;

    font-size: 13px !important;

    font-weight: 600 !important;

    color: var(--aluna-muted) !important;

}



.consultation-page .consultation-questionnaire .label-switch .switch:checked ~ .switch-track .label-after,

.consultation-page .consultation-questionnaire .label-switch .inner-label.label-befor {

    color: var(--aluna-text) !important;

}



.consultation-page .consultation-questionnaire .label-switch .switch-track .switch-rail {

    background: var(--aluna-border) !important;

}



.consultation-page .consultation-questionnaire .label-switch .switch-track .switch-rail .switch-slider {

    background: #fff !important;

}



.consultation-page .consultation-questionnaire .label-switch .switch:checked ~ .switch-track .switch-rail {

    background: var(--aluna-orange) !important;

}



.consultation-page .consultation-questionnaire .label-switch .switch:checked ~ .switch-track .switch-rail .switch-slider {

    background: #fff !important;

}



/* Checkbox lists — two columns; input lives inside label in WooPW markup */

.consultation-page .consultation-questionnaire .checkbox-group {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px 12px;

    width: 100%;

    margin: 0 0 4px !important;

    overflow: visible;

}



.consultation-page .consultation-questionnaire .checkbox-group .form-check {

    display: block !important;

    width: 100%;

    min-width: 0;

    margin: 0 !important;

    padding: 0 !important;

    background: transparent !important;

    border: none !important;

    overflow: visible;

}



.consultation-page .consultation-questionnaire .checkbox-group label.form-check-label {

    display: flex !important;

    align-items: flex-start;

    gap: 12px;

    width: 100%;

    margin: 0 !important;

    padding: 12px 14px !important;

    min-height: auto !important;

    border-radius: 10px !important;

    border: 1px solid var(--aluna-border) !important;

    background: #fff !important;

    color: var(--aluna-text) !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 500 !important;

    line-height: 1.45 !important;

    text-align: left !important;

    overflow-wrap: anywhere;

    word-break: break-word;

    transform: none !important;

    cursor: pointer;

    box-sizing: border-box;

    transition: border-color 0.2s ease, background-color 0.2s ease;

}



.consultation-page .consultation-questionnaire .checkbox-group label.form-check-label:hover {

    border-color: var(--aluna-border-soft) !important;

    background: var(--aluna-callout-bg) !important;

}



.consultation-page .consultation-questionnaire .checkbox-group label.form-check-label:has(.form-check-input:checked) {

    border-color: var(--aluna-orange) !important;

    background: #fff5f0 !important;

}



.consultation-page .consultation-questionnaire .checkbox-group label.form-check-label .form-check-input,

.consultation-page .consultation-questionnaire .checkbox-group .form-check input[type="checkbox"] {

    flex-shrink: 0;

    width: 18px !important;

    height: 18px !important;

    margin: 2px 0 0 !important;

    border: 2px solid var(--aluna-border-soft) !important;

    border-radius: 4px !important;

    background: #fff !important;

    cursor: pointer;

}



.consultation-page .consultation-questionnaire .checkbox-group .form-check input[type="checkbox"]::before {

    background-color: var(--aluna-orange) !important;

    border-radius: 2px;

}



.consultation-page .consultation-questionnaire .checkbox-group label.form-check-label input[type="hidden"] {

    display: none !important;

}



.consultation-page .consultation-questionnaire .checkbox-group .form-check input[type="checkbox"]:checked {

    border-color: var(--aluna-orange) !important;

    background-color: #fff !important;

}



/* Radio option pills — grid layout (columns set via data-option-cols in consultation-page.js) */

.consultation-page #consultationform .check-radio-group,

.consultation-page .consultation-questionnaire .check-radio-group {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;

    width: 100% !important;

    max-width: 100%;

    float: none !important;

    margin: 0 !important;

    clear: both;

    flex-wrap: unset !important;

}



.consultation-page .consultation-questionnaire .check-radio-group[data-option-cols="1"] {

    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;

}



.consultation-page .consultation-questionnaire .check-radio-group[data-option-cols="2"] {

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

}



.consultation-page .consultation-questionnaire .check-radio-group[data-option-cols="3"] {

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

}



.consultation-page .consultation-questionnaire .check-radio-group[data-option-cols="4"] {

    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

}



.consultation-page #consultationform .check-radio-group .form-check.radio,

.consultation-page .consultation-questionnaire .check-radio-group .form-check.radio {

    width: auto !important;

    min-width: 0 !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

    min-height: 0 !important;

    background: transparent !important;

    flex: unset !important;

}



.consultation-page .consultation-questionnaire .check-radio-group .form-check.radio label {

    display: flex !important;

    align-items: center;

    justify-content: center;

    width: 100%;

    min-height: 44px !important;

    height: auto !important;

    padding: 10px 16px !important;

    border-radius: 8px !important;

    border: 1px solid var(--aluna-border) !important;

    background: #fff !important;

    color: var(--aluna-text) !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.25 !important;

    text-align: center;

    cursor: pointer;

    transform: none !important;

    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;

}



/* File upload */

.consultation-page .consultation-questionnaire .file-input-wrapper {

    padding: 16px;

    border: 1px dashed var(--aluna-border-soft);

    border-radius: 12px;

    background: var(--aluna-callout-bg);

}



.consultation-page .consultation-questionnaire .file-input-wrapper .cflp-file-input {

    min-height: 44px !important;

    padding: 10px 14px !important;

    border-radius: 10px !important;

    border: 1px solid var(--aluna-border) !important;

    background: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px;

}



.consultation-page .consultation-questionnaire .file-input-wrapper label,

.consultation-page .consultation-questionnaire .file-input-wrapper .form-label {

    display: block;

    margin-bottom: 10px;

    font-weight: 600;

    color: var(--aluna-text) !important;

}



/* Helper / short info text */

.consultation-page .consultation-questionnaire .short-info,

.consultation-page .consultation-questionnaire .paragraph-text {

    color: var(--aluna-body) !important;

    font-size: 14px !important;

    line-height: 1.6 !important;

}



.consultation-page .consultation-questionnaire .cflp-form-container .form-group,

.consultation-page :is(.cflp-form, .woopw-form-wrapper) .form-group,

.consultation-page form.cflp-form .form-group {

    border-color: transparent !important;

    border-radius: 0 !important;

    overflow: visible !important;

}



.consultation-page .consultation-questionnaire .form-content,

.consultation-page .consultation-questionnaire .form-content.col-md-8,

.consultation-page .consultation-questionnaire .form-sidebar,

.consultation-page .consultation-questionnaire .form-sidebar.col-md-4 {

    flex: 0 0 100% !important;

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

}



.consultation-page .consultation-questionnaire form.cflp-form label,

.consultation-page .consultation-questionnaire form.cflp-form .short-info,

.consultation-page .consultation-questionnaire form.cflp-form ol,

.consultation-page .consultation-questionnaire form.cflp-form ul,

.consultation-page .consultation-questionnaire form.cflp-form li,

.consultation-page .consultation-questionnaire form.cflp-form p,

.consultation-page .consultation-questionnaire .questionnaire-form ol,

.consultation-page .consultation-questionnaire .questionnaire-form ul,

.consultation-page .consultation-questionnaire .questionnaire-form li,

.consultation-page .consultation-questionnaire .questionnaire-form p {

    width: 100% !important;

    max-width: 100% !important;

    min-width: 0 !important;

    box-sizing: border-box;

}



.consultation-page .consultation-questionnaire form.cflp-form label h4 {

    width: 100% !important;

    max-width: 100% !important;

}



.consultation-page .consultation-questionnaire .questionnaire-form .table-column {

    width: 100% !important;

    max-width: 100% !important;

}



.consultation-page .consultation-questionnaire .questionnaire-form div,

.consultation-page .consultation-questionnaire form.cflp-form div.form-group,

.consultation-page .consultation-questionnaire form.cflp-form .form-group-wrapper > *,

.consultation-page .consultation-questionnaire form.cflp-form .form-description-wrapper > * {

    max-width: 100%;

    min-width: 0;

    box-sizing: border-box;

}



.consultation-page .consultation-sidebar__cta {

    margin-top: 16px;

}



.consultation-page .consultation-help-box {

    background-color: var(--aluna-callout-bg, #eff3ec);

    border-color: var(--aluna-border);

}



.margin-bottom-60 {

    margin-bottom: 60px;

}



/* Consultation: stack form + sidebar; flatten plugin columns on small screens */

@media (max-width: 991.98px) {

    .consultation-page .consultation-main {

        overflow-x: clip;

    }



    .consultation-page .consultation-sidebar__sticky {

        position: static;

        max-height: none;

        overflow: visible;

        gap: 20px;

    }



    .consultation-page .consultation-sidebar {

        margin-top: 8px;

    }



    .consultation-page .consultation-main__row {

        --bs-gutter-y: 32px;

    }



    .consultation-page .consultation-main__row > [class*="col-"] {

        flex: 0 0 100% !important;

        width: 100% !important;

        max-width: 100% !important;

    }



    .consultation-page .consultation-questionnaire form.cflp-form > .row,

    .consultation-page .consultation-questionnaire .cflp-form-container > .row,

    .consultation-page .consultation-questionnaire .questionnaire-form > .row {

        display: block !important;

        width: 100% !important;

        max-width: 100% !important;

        margin-left: 0 !important;

        margin-right: 0 !important;

    }



    .consultation-page .consultation-questionnaire [class*="col-md-"],

    .consultation-page .consultation-questionnaire [class*="col-lg-"],

    .consultation-page .consultation-questionnaire [class*="col-sm-"] {

        flex: 0 0 100% !important;

        width: 100% !important;

        max-width: 100% !important;

        min-width: 0 !important;

        padding-left: 0 !important;

        padding-right: 0 !important;

    }



    .consultation-page .consultation-questionnaire form.cflp-form label,

    .consultation-page .consultation-questionnaire form.cflp-form .short-info,

    .consultation-page .consultation-questionnaire form.cflp-form ol,

    .consultation-page .consultation-questionnaire form.cflp-form ul,

    .consultation-page .consultation-questionnaire form.cflp-form li,

    .consultation-page .consultation-questionnaire .questionnaire-form ol,

    .consultation-page .consultation-questionnaire .questionnaire-form ul,

    .consultation-page .consultation-questionnaire .questionnaire-form li {

        padding-right: 0 !important;

        margin-right: 0 !important;

    }



    .consultation-page .consultation-questionnaire form.cflp-form ol,

    .consultation-page .consultation-questionnaire .questionnaire-form ol {

        padding-left: 1.25rem !important;

    }



    .consultation-page .consultation-questionnaire .weight-block,

    .consultation-page .consultation-questionnaire .height-block {

        padding: 14px 16px;

    }



    .consultation-page .consultation-questionnaire .height-weight-UI.multiple-text .joint-input .d-flex {

        gap: 10px;

    }



    .consultation-page .consultation-questionnaire .check-radio-group .form-check.radio label {

        min-height: 48px !important;

    }

}



@media (max-width: 575.98px) {

    .consultation-page .consultation-questionnaire .check-radio-group[data-option-count="2"] {

        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    }



    .consultation-page .consultation-questionnaire .check-radio-group:not([data-option-count="2"]) {

        grid-template-columns: 1fr !important;

    }



    .consultation-page .consultation-questionnaire .check-radio-group .form-check.radio label {

        min-height: 48px !important;

        font-size: 13px !important;

        padding: 10px 12px !important;

    }

}



@media (max-width: 575.98px) {

    .consultation-page .consultation-questionnaire .checkbox-group {

        grid-template-columns: 1fr;

    }

}



/* Responsive Adjustments */

@media (max-width: 768px) {

    .page-hero-section h1,

    .shop-hero-section h1,

    .condition-page .condition-hero__title,

.condition-page .treatment-hero__title {

        font-size: 32px;

    }



    .condition-page .condition-products__title,

    .condition-page .treatment-products__title {

        font-size: 28px;

    }



    .consultation-page .consultation-hero {

        padding: 32px 0 36px;

    }



    .consultation-page .consultation-account-bar__inner {

        flex-direction: column;

        align-items: flex-start;

    }



    .consultation-page .consultation-account-bar__actions {

        width: 100%;

    }



    .consultation-page .consultation-account-bar__btn {

        flex: 1;

        min-width: 0;

    }



    .consultation-page .consultation-main {

        padding: 40px 0 56px;

    }



    .consultation-page {

        --cf-form-heading-font-size: clamp(17px, 4.5vw, 20px);

    }



    .consultation-page .assessment-form {

        padding: 24px 16px 28px;

    }



    .consultation-page .cflp-form-container div.form-group-wrapper,

    .consultation-page .cflp-form-container div.form-description-wrapper {

        padding-left: 16px !important;

        padding-right: 16px !important;

        margin-left: 0 !important;

        margin-right: 0 !important;

    }



    .consultation-page .consultation-questionnaire .questionnaire-form h4,

    .consultation-page .consultation-questionnaire form.cflp-form h3,

    .consultation-page .consultation-questionnaire form.cflp-form h4,

    .consultation-page .consultation-questionnaire form.cflp-form .form-group-title,

    .consultation-page .consultation-questionnaire .consultation-form-step-title,

    .consultation-page .consultation-questionnaire .consultation-step-title-text,

    .consultation-page .cflp-form label h4,

    .consultation-page form.cflp-form label h4 {

        font-size: clamp(17px, 4.5vw, 20px) !important;

        line-height: 1.25 !important;

    }



    .consultation-page .consultation-questionnaire .content-wrapper.section-title.text-center {

        text-align: left !important;

    }



    .consultation-page .consultation-questionnaire span.count-group,

    .consultation-page .consultation-questionnaire span.sidebar-count-group,

    .consultation-page .consultation-questionnaire .consultation-step-point {

        width: 28px !important;

        height: 28px !important;

        min-width: 28px !important;

        max-width: 28px !important;

        min-height: 28px !important;

        font-size: 13px !important;

    }



    .consultation-page .consultation-progress__steps {

        gap: 4px;

    }



    .consultation-page .consultation-progress__step-label {

        font-size: 9px;

        line-height: 1.2;

        overflow-wrap: anywhere;

        word-break: break-word;

        white-space: normal;

    }



    .consultation-page .consultation-progress__step-circle {

        width: 30px;

        height: 30px;

        font-size: 12px;

    }



    .consultation-page .consultation-questionnaire .check-radio-group .form-check.radio label:hover,

    .consultation-page .consultation-questionnaire .check-radio-group .form-check.radio label:focus,

    .consultation-page .consultation-questionnaire .check-radio-group .form-check.radio input[type="radio"]:checked ~ label,

    .consultation-page .consultation-questionnaire .check-radio-group .form-check.radio input[type="radio"]:checked + label,

    .consultation-page .consultation-questionnaire form.cflp-form .check-radio-group .form-check.radio label:hover,

    .consultation-page .consultation-questionnaire form.cflp-form .check-radio-group .form-check.radio label:focus,

    .consultation-page .consultation-questionnaire form.cflp-form .check-radio-group .form-check.radio input[type="radio"]:checked ~ label,

    .consultation-page .consultation-questionnaire form.cflp-form .check-radio-group .form-check.radio input[type="radio"]:checked + label {

        transform: none;

        padding: 10px 16px !important;

    }



    .consultation-page .consultation-progress__meta {

        grid-template-columns: 1fr;

        gap: 8px;

    }



    .consultation-page .consultation-progress__meta-percent {

        justify-self: start;

    }



    .contact-us-hero__title,

    .shop-page .shop-hero__title,

    .consultation-page .consultation-hero__title {

        font-size: 36px;

    }



    .contact-us-hero {

        padding-top: 32px;

    }



    .contact-us-main {

        padding: 40px 0 56px;

    }



    .contact-us-page .contact-us-form-card {

        padding: 28px 20px 32px;

    }



    .contact-us-page .contact-form input[type="submit"],

    .contact-us-page .wpcf7-form input[type="submit"],

    .contact-us-page .cf7-application-form input[type="submit"],

    .contact-us-page .wpcf7-form .theme-btn-gradient {

        background-position: calc(50% + 4.75rem) center !important;

    }



    .contact-us-sidebar .info-card,

    .contact-us-sidebar .opening-hours,

    .contact-us-sidebar .trust-card {

        padding-left: 28px;

        padding-right: 28px;

    }



    .shop-page .shop-hero {

        padding: 32px 0 40px;

    }



    .shop-page .shop-products {

        padding-bottom: 40px;

    }



    .shop-page .aluna-explanation {

        padding: 48px 0 56px;

    }



    .shop-page .shop-bottom-cta {

        padding: 24px 0 40px;

    }



    .contact-us-page .aluna-trust-strip__list,

    .aluna-trust-strip__list {

        justify-content: center;

        gap: 10px 20px;

        padding: 0 16px;

    }



    .contact-us-page .aluna-trust-strip__list li,

    .aluna-trust-strip__list li {

        font-size: 13px;

        line-height: 16px;

    }



    .contact-us-page .aluna-trust-strip__list li::before,

    .shop-page .aluna-trust-strip__list li::before,

    .aluna-trust-strip__list li::before {

        width: 7px;

        height: 7px;

    }



    .shop-page .shop-product-card__footer {

        flex-wrap: wrap;

        align-items: center;

    }



    .shop-page .shop-product-card__media {

        min-height: 220px;

    }



    .shop-product-card__image-link {

        height: 200px;

        padding: 20px 24px;

    }



    .shop-product-card__image {

        height: 160px;

    }



    .shop-page .shop-product-card__title {

        font-size: 22px;

    }



    .contact-content-section > .container > .row {

        flex-direction: column;

    }



    .product-card h3 {

        font-size: 16px;

    }



    .explanation-section h2 {

        font-size: 28px;

    }

}



/* =======================================

   CART PAGE — Aluna basket layout

   ======================================= */



body.woocommerce-cart.cart-page,

body.woocommerce-cart.shop-page {

    background-color: var(--aluna-page-bg, #e8ede4);

}



body.woocommerce-cart .woo-page-banner-section {

    background-color: var(--aluna-hero-bg, #d9e1d5);

    padding: 48px 0 40px;

}



body.woocommerce-cart .woo-page-banner-section .section-header-wrapper {

    margin-bottom: 0 !important;

}



body.woocommerce-cart .woo-page-banner-section h5 {

    margin: 0 0 12px;

    font-family: var(--aluna-font) !important;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    color: var(--aluna-orange, #f44706);

}



body.woocommerce-cart .woo-page-banner-section .section-title {

    margin: 0 0 12px;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(32px, 5vw, 44px);

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text, #2c3338);

}



body.woocommerce-cart .woo-page-banner-section .content-block p {

    margin: 0 auto;

    max-width: 520px;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body, #5a6268);

}



body.woocommerce-cart .page-content-section {

    padding: 40px 0 72px;

    background-color: transparent;

}



body.woocommerce-cart .page-content-section > .container > .row > .col {

    max-width: 100%;

}



/* Success / notice bar */

body.woocommerce-cart .woocommerce-notices-wrapper {

    margin-bottom: 24px;

}



body.woocommerce-cart .woocommerce-message,

body.woocommerce-cart .woocommerce-info,

body.woocommerce-cart .woocommerce-error {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: space-between;

    gap: 12px 20px;

    margin: 0 0 16px;

    padding: 16px 20px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-top: 3px solid var(--aluna-orange, #f44706) !important;

    border-radius: 12px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.5;

}



body.woocommerce-cart .woocommerce-message::before,

body.woocommerce-cart .woocommerce-info::before,

body.woocommerce-cart .woocommerce-error::before {

    position: static !important;

    top: auto !important;

    left: auto !important;

    flex-shrink: 0;

    margin-right: 8px;

}



body.woocommerce-cart .woocommerce-message::before,

body.woocommerce-cart .woocommerce-info::before {

    color: var(--aluna-orange, #f44706) !important;

}



body.woocommerce-cart .woocommerce-error::before {

    color: #d63638 !important;

}



body.woocommerce-cart .woocommerce-error {

    display: flex !important;

    flex-direction: column !important;

    flex-wrap: nowrap;

    align-items: stretch;

    gap: 8px;

    position: relative;

    padding: 16px 20px 16px 48px !important;

    border-top-color: #d63638 !important;

}



body.woocommerce-cart .woocommerce-error::before {

    position: absolute !important;

    top: 18px !important;

    left: 16px !important;

    margin: 0 !important;

}



body.woocommerce-cart .woocommerce-error li {

    display: block !important;

    flex: 0 0 auto;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    list-style: none !important;

    white-space: normal !important;

    word-break: normal !important;

    overflow-wrap: anywhere !important;

}



body.woocommerce-cart .woocommerce-error li:last-child {

    margin-bottom: 0 !important;

}



body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .button,

body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message a.button,

body.woocommerce-cart .woocommerce-message .button,

body.woocommerce-cart .woocommerce-message a.button {

    flex: 0 0 auto;

    margin: 0 0 0 auto !important;

    padding: 10px 20px !important;

    border: 2px solid var(--aluna-orange, #f44706) !important;

    border-radius: 999px !important;

    background: #fff !important;

    background-color: #fff !important;

    color: var(--aluna-orange, #f44706) !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.25 !important;

    text-decoration: none !important;

    text-transform: none !important;

    box-shadow: none !important;

}



body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .button:hover,

body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message a.button:hover,

body.woocommerce-cart .woocommerce-message .button:hover,

body.woocommerce-cart .woocommerce-message a.button:hover {

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    border-color: var(--aluna-orange, #f44706) !important;

}



/* Two-column cart layout (parent theme hooks) */

body.woocommerce-cart .woocommerce > .row {

    --bs-gutter-x: 32px;

    --bs-gutter-y: 32px;

    align-items: flex-start;

}



body.woocommerce-cart .woocommerce > .row > .col-lg-8,

body.woocommerce-cart .woocommerce > .row > .col-lg-4 {

    min-width: 0;

}



/* Cart table */

body.woocommerce-cart .woocommerce-cart-form {

    background: #fff;

    border: 1px solid var(--aluna-border-soft, #c5cebd);

    border-radius: 16px;

    padding: 8px 8px 0;

    overflow: hidden;

}



body.woocommerce-cart .woocommerce-cart-form table.shop_table {

    border: none !important;

    border-spacing: 0 !important;

    margin: 0 !important;

    width: 100% !important;

}



body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {

    background: var(--aluna-callout-bg, #eff3ec);

}



body.woocommerce-cart .woocommerce-cart-form table.shop_table thead th {

    padding: 14px 16px !important;

    border: none !important;

    font-family: var(--aluna-font) !important;

    font-size: 13px !important;

    font-weight: 700 !important;

    letter-spacing: 0.04em;

    text-transform: uppercase;

    color: var(--aluna-text, #2c3338) !important;

    background: transparent !important;

}



body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr {

    background: #fff !important;

}



body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr:nth-child(even) {

    background: #fff !important;

}



body.woocommerce-cart .woocommerce-cart-form table.shop_table td {

    padding: 18px 16px !important;

    border-top: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-left: none !important;

    border-right: none !important;

    border-bottom: none !important;

    vertical-align: middle !important;

}



body.woocommerce-cart .woocommerce-cart-form table.shop_table td:first-child,

body.woocommerce-cart .woocommerce-cart-form table.shop_table td:last-child {

    border-radius: 0 !important;

}



body.woocommerce-cart .woocommerce-cart-form .product-name,

body.woocommerce-cart .woocommerce-cart-form .product-name a {

    font-family: var(--aluna-font) !important;

    font-size: 16px !important;

    font-weight: 600 !important;

    color: var(--aluna-text, #2c3338) !important;

    text-decoration: none;

}



body.woocommerce-cart .woocommerce-cart-form .product-name a:hover {

    color: var(--aluna-orange, #f44706) !important;

}



body.woocommerce-cart .woocommerce-cart-form .product-thumbnail {

    width: 88px;

}



body.woocommerce-cart table.cart img,

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {

    width: 72px !important;

    height: auto;

    border-radius: 8px;

    border: 1px solid var(--aluna-border-soft, #c5cebd);

}



body.woocommerce-cart .woocommerce-cart-form a.remove {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 28px;

    height: 28px;

    border-radius: 50%;

    background: #fdeee8 !important;

    color: var(--aluna-orange, #f44706) !important;

    font-size: 18px !important;

    font-weight: 700;

    line-height: 1 !important;

    text-decoration: none !important;

}



body.woocommerce-cart .woocommerce-cart-form a.remove:hover {

    background: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    opacity: 1 !important;

}



body.woocommerce-cart .woocommerce-cart-form .product-price,

body.woocommerce-cart .woocommerce-cart-form .product-subtotal {

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-cart .woocommerce-cart-form .quantity .qty {

    width: 64px !important;

    min-height: 44px;

    padding: 8px 10px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    text-align: center;

}



/* Coupon + update row */

body.woocommerce-cart .woocommerce-cart-form td.actions {

    padding: 20px 16px 24px !important;

    border-top: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    background: var(--aluna-callout-bg, #eff3ec);

}



body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 10px;

    margin-bottom: 12px;

}



body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .input-text,

body.woocommerce-cart table.cart td.actions .coupon .input-text {

    flex: 1 1 180px;

    width: auto !important;

    min-width: 0;

    max-width: 100%;

    min-height: 44px;

    margin: 0 !important;

    padding: 10px 14px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

}



body.woocommerce-cart .woocommerce-cart-form td.actions .button[name="apply_coupon"],

body.woocommerce-cart .woocommerce-cart-form td.actions button[name="apply_coupon"] {

    padding: 10px 20px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

}



body.woocommerce-cart .woocommerce-cart-form td.actions .button[name="update_cart"],

body.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"] {

    float: right;

    padding: 10px 22px !important;

    border: 2px solid var(--aluna-orange, #f44706) !important;

    border-radius: 999px !important;

    background: #fff !important;

    background-color: #fff !important;

    color: var(--aluna-orange, #f44706) !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

}



body.woocommerce-cart .woocommerce-cart-form td.actions .button[name="apply_coupon"]:hover,

body.woocommerce-cart .woocommerce-cart-form td.actions button[name="apply_coupon"]:hover {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

}



body.woocommerce-cart .woocommerce-cart-form td.actions .button[name="update_cart"]:hover,

body.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"]:hover,

body.woocommerce-cart .woocommerce .woocommerce-cart-form .button[name="update_cart"]:hover {

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    border-color: var(--aluna-orange, #f44706) !important;

}



/* Basket totals sidebar */

body.woocommerce-cart .cart-collaterals {

    margin-top: 0 !important;

    width: 100%;

}



body.woocommerce-cart .cart_totals {

    float: none !important;

    width: 100% !important;

    padding: 24px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 16px !important;

    background: #fff !important;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.06);

}



body.woocommerce-cart .cart_totals > h2 {

    margin: 0 0 20px;

    padding-bottom: 16px;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

    font-family: "Playfair Display", serif !important;

    font-size: 24px !important;

    font-weight: 400 !important;

    line-height: 1.25;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-cart .cart_totals table.shop_table,

body.woocommerce-cart .cart_totals table.shop_table th,

body.woocommerce-cart .cart_totals table.shop_table td {

    border: none !important;

    padding: 10px 0 !important;

    background: transparent !important;

}



body.woocommerce-cart .cart_totals table.shop_table th {

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    color: var(--aluna-text, #2c3338) !important;

    text-align: left !important;

    vertical-align: top;

}



body.woocommerce-cart .cart_totals table.shop_table td {

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 500 !important;

    color: var(--aluna-text, #2c3338) !important;

    text-align: right !important;

    vertical-align: top;

}



body.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {

    text-align: right !important;

}



body.woocommerce-cart .cart_totals #shipping_method {

    margin: 0;

    padding: 0;

    list-style: none;

    text-align: right;

}



body.woocommerce-cart .cart_totals #shipping_method li {

    margin: 0 0 10px;

    line-height: 1.45;

}



body.woocommerce-cart .cart_totals #shipping_method li label {

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 500 !important;

    color: var(--aluna-text, #2c3338) !important;

    cursor: pointer;

}



body.woocommerce-cart .cart_totals .woocommerce-shipping-destination {

    margin-top: 8px;

    font-family: var(--aluna-font) !important;

    font-size: 13px !important;

    line-height: 1.5 !important;

    color: var(--aluna-body, #5a6268) !important;

}



body.woocommerce-cart .cart_totals .woocommerce-shipping-destination strong {

    color: var(--aluna-text, #2c3338);

}



body.woocommerce-cart .cart_totals .order-total th,

body.woocommerce-cart .cart_totals .order-total td {

    padding-top: 16px !important;

    border-top: 1px solid var(--aluna-border-soft, #c5cebd) !important;

}



body.woocommerce-cart .cart_totals .order-total th {

    font-size: 18px !important;

    font-weight: 700 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-cart .cart_totals .order-total td {

    font-size: 20px !important;

    font-weight: 700 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-cart .cart_totals .order-total td strong,

body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {

    color: var(--aluna-text, #2c3338) !important;

    font-weight: 700 !important;

}



body.woocommerce-cart .cart_totals .order-total small,

body.woocommerce-cart .cart_totals .includes_tax {

    display: block;

    margin-top: 4px;

    font-size: 12px !important;

    font-weight: 500 !important;

    color: var(--aluna-body, #5a6268) !important;

}



body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {

    margin-top: 20px;

    padding-top: 4px;

}



body.woocommerce-cart .cart_totals .checkout-button,

body.woocommerce-cart .cart_totals a.checkout-button,

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.button.alt.checkout-button {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 14px 24px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    background-image: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    line-height: 1.3 !important;

    text-align: center !important;

    text-decoration: none !important;

    text-transform: none !important;

    box-shadow: none !important;

    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;

}



body.woocommerce-cart .cart_totals .checkout-button:hover,

body.woocommerce-cart .cart_totals a.checkout-button:hover,

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.button.alt.checkout-button:hover,

body.woocommerce-cart .woocommerce .cart-collaterals .button.alt.checkout-button:hover,

body.woocommerce-cart .woocommerce form .button.alt.checkout-button:hover {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    background-image: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    border-color: transparent !important;

    box-shadow: 0 4px 14px rgba(244, 71, 6, 0.32) !important;

    transform: translateY(-1px);

}



body.woocommerce-cart .cart_totals .checkout-button:hover *,

body.woocommerce-cart .cart_totals a.checkout-button:hover *,

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.button.alt.checkout-button:hover * {

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

}



body.woocommerce-cart .cart_totals .checkout-button:focus,

body.woocommerce-cart .cart_totals a.checkout-button:focus,

body.woocommerce-cart .cart_totals .checkout-button:focus-visible,

body.woocommerce-cart .cart_totals a.checkout-button:focus-visible,

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.button.alt.checkout-button:focus,

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.button.alt.checkout-button:focus-visible {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    outline: 2px solid rgba(244, 71, 6, 0.45);

    outline-offset: 2px;

}



/* Mobile cart — compact cards, label/value rows in totals */

@media (max-width: 768px) {

    body.woocommerce-cart.cart-page .page-content-section {

        padding-bottom: max(88px, calc(32px + env(safe-area-inset-bottom, 0px)));

    }



    body.woocommerce-cart .woocommerce > .row {

        --bs-gutter-y: 12px;

    }



    body.woocommerce-cart .woocommerce-cart-form {

        padding: 0;

        border: none;

        background: transparent;

    }



    /* Override parent theme global shop_table_responsive rules on cart */

    body.woocommerce-cart.cart-page table.shop_table_responsive tr td::before {

        content: none !important;

        display: none !important;

        position: static !important;

    }



    body.woocommerce-cart.cart-page table.shop_table_responsive tr td.product-price::before,

    body.woocommerce-cart.cart-page table.shop_table_responsive tr td.product-quantity::before,

    body.woocommerce-cart.cart-page table.shop_table_responsive tr td.product-subtotal::before {

        content: attr(data-title) !important;

        display: block !important;

    }



    body.woocommerce-cart.cart-page table.shop_table_responsive tr td.product-price,

    body.woocommerce-cart.cart-page table.shop_table_responsive tr td.product-quantity,

    body.woocommerce-cart.cart-page table.shop_table_responsive tr td.product-subtotal {

        position: static !important;

        float: none !important;

        height: auto !important;

        margin-top: 8px !important;

        text-align: left !important;

    }



    body.woocommerce-cart.cart-page table.shop_table_responsive tr td.product-remove {

        position: absolute !important;

        float: none !important;

        top: 10px !important;

        right: 10px !important;

        width: auto !important;

    }



    body.woocommerce-cart .woocommerce-error {

        padding: 14px 16px 14px 44px !important;

    }



    body.woocommerce-cart .woocommerce-error::before {

        top: 16px !important;

        left: 14px !important;

    }



    body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {

        display: none;

    }



    /* Product line cards */

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item {

        display: block;

        margin-bottom: 12px;

        padding: 14px 14px 12px;

        border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

        border-radius: 12px;

        background: #fff !important;

    }



    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item td {

        display: block;

        padding: 6px 0 !important;

        border: none !important;

        text-align: left !important;

    }



    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove {

        position: absolute;

        top: 10px;

        right: 10px;

        width: auto !important;

        padding: 0 !important;

    }



    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail {

        padding-top: 0 !important;

    }



    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-name {

        padding-right: 36px !important;

        margin-bottom: 4px;

    }



    /* Price / qty / subtotal — one compact row */

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price,

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity,

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {

        display: inline-block !important;

        width: 33.333% !important;

        margin-top: 0 !important;

        height: auto !important;

        padding: 8px 4px 0 !important;

        vertical-align: top;

        box-sizing: border-box;

    }



    body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-price::before,

    body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-quantity::before,

    body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-subtotal::before {

        position: static !important;

        top: auto !important;

        display: block !important;

        margin-bottom: 4px;

        font-family: var(--aluna-font) !important;

        font-size: 10px !important;

        font-weight: 700 !important;

        letter-spacing: 0.05em;

        text-transform: uppercase;

        color: var(--aluna-muted, #7a8288) !important;

    }



    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.woocommerce-cart-form__cart-item {

        position: relative;

    }



    /* Coupon + update — tight card, no extra bottom space */

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr:has(td.actions),

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr:last-child {

        display: block;

        margin-bottom: 12px;

        padding: 12px 14px 14px !important;

        border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

        border-radius: 12px;

        background: #fff !important;

    }



    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr:has(td.actions) td.actions,

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr:last-child td.actions {

        display: block;

        padding: 0 !important;

        margin: 0 !important;

        border: none !important;

        background: transparent !important;

    }



    body.woocommerce-cart .woocommerce-cart-form td.actions .coupon {

        margin-bottom: 8px;

        gap: 8px;

    }



    body.woocommerce-cart .woocommerce-cart-form td.actions .coupon .input-text {

        flex: 1 1 100%;

        min-height: 42px;

    }



    body.woocommerce-cart .woocommerce-cart-form td.actions .button[name="apply_coupon"],

    body.woocommerce-cart .woocommerce-cart-form td.actions button[name="apply_coupon"] {

        width: 100%;

    }



    body.woocommerce-cart .woocommerce-cart-form td.actions .button[name="update_cart"],

    body.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"] {

        float: none;

        width: 100%;

        margin-top: 0;

    }



    body.woocommerce-cart .woocommerce-message,

    body.woocommerce-cart .woocommerce-info {

        flex-direction: column;

        align-items: flex-start;

    }



    body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .button,

    body.woocommerce-cart .woocommerce-message .button {

        margin-left: 0 !important;

        width: 100%;

        text-align: center;

    }



    /* Basket totals — label left, value right (not stacked) */

    body.woocommerce-cart .cart-collaterals {

        margin-top: 0 !important;

    }



    body.woocommerce-cart .cart_totals {

        margin-top: 0 !important;

        padding: 16px !important;

    }



    body.woocommerce-cart .cart_totals > h2 {

        margin-bottom: 10px;

        padding-bottom: 10px;

        font-size: 20px !important;

    }



    body.woocommerce-cart .cart_totals table.shop_table_responsive tr {

        display: table-row !important;

    }



    body.woocommerce-cart .cart_totals table.shop_table_responsive th,

    body.woocommerce-cart .cart_totals table.shop_table_responsive td {

        display: table-cell !important;

        width: auto !important;

        padding: 6px 0 !important;

        vertical-align: top !important;

    }



    body.woocommerce-cart .cart_totals table.shop_table_responsive td {

        text-align: right !important;

    }



    body.woocommerce-cart .cart_totals table.shop_table_responsive td::before {

        content: none !important;

        display: none !important;

    }



    body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th,

    body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td {

        display: block !important;

        width: 100% !important;

        padding: 6px 0 !important;

        text-align: left !important;

    }



    body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td {

        padding-top: 2px !important;

        padding-bottom: 8px !important;

    }



    body.woocommerce-cart .cart_totals #shipping_method {

        text-align: left;

    }



    body.woocommerce-cart .cart_totals #shipping_method li {

        margin-bottom: 6px;

    }



    body.woocommerce-cart .cart_totals .woocommerce-shipping-destination {

        margin-top: 4px;

    }



    body.woocommerce-cart .cart_totals .order-total th,

    body.woocommerce-cart .cart_totals .order-total td {

        padding-top: 10px !important;

    }



    body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {

        margin-top: 14px;

        padding-top: 0;

    }

}



/* =======================================

   CHECKOUT PAGE — Aluna layout

   ======================================= */



body.woocommerce-checkout.checkout-page,

body.woocommerce-checkout.shop-page {

    background-color: var(--aluna-page-bg, #e8ede4);

}



body.woocommerce-checkout .woo-page-banner-section {

    background-color: var(--aluna-hero-bg, #d9e1d5);

    padding: 48px 0 40px;

}



body.woocommerce-checkout .woo-page-banner-section .section-header-wrapper {

    margin-bottom: 0 !important;

}



body.woocommerce-checkout .woo-page-banner-section h5 {

    margin: 0 0 12px;

    font-family: var(--aluna-font) !important;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    color: var(--aluna-orange, #f44706);

}



body.woocommerce-checkout .woo-page-banner-section .section-title {

    margin: 0 0 12px;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(32px, 5vw, 44px);

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text, #2c3338);

}



body.woocommerce-checkout .woo-page-banner-section .content-block p {

    margin: 0 auto;

    max-width: 520px;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body, #5a6268);

}



body.woocommerce-checkout .page-content-section {

    padding: 40px 0 72px;

    background-color: transparent;

}



/* Coupon notice — no icon overlap */

body.woocommerce-checkout .woocommerce-form-coupon-toggle,

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {

    margin: 0 0 24px;

    padding: 0 !important;

    border: none !important;

    background: transparent !important;

    list-style: none;

}



body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,

body.woocommerce-checkout .woocommerce-info.woocommerce-info--coupon {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 4px 8px;

    margin: 0 0 24px;

    padding: 14px 18px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-top: 3px solid var(--aluna-orange, #f44706) !important;

    border-radius: 12px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.5;

}



body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,

body.woocommerce-checkout .woocommerce-info.woocommerce-info--coupon::before {

    display: none !important;

    content: none !important;

}



body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,

body.woocommerce-checkout .woocommerce-info a.showcoupon {

    color: var(--aluna-orange, #f44706) !important;

    font-weight: 600;

    text-decoration: underline;

}



body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a:hover,

body.woocommerce-checkout .woocommerce-info a.showcoupon:hover {

    color: #d63d05 !important;

}



body.woocommerce-checkout form.checkout_coupon {

    margin: 0 0 24px;

    padding: 20px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 12px !important;

    background: #fff !important;

}



body.woocommerce-checkout form.checkout_coupon .form-row {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 10px;

    margin-bottom: 0 !important;

}



body.woocommerce-checkout form.checkout_coupon .input-text {

    flex: 1 1 200px;

    min-height: 44px;

    padding: 10px 14px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    font-family: var(--aluna-font) !important;

}



body.woocommerce-checkout form.checkout_coupon .button {

    padding: 10px 20px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-weight: 600 !important;

}



body.woocommerce-checkout form.checkout_coupon .button:hover,

body.woocommerce-checkout .woocommerce form.checkout_coupon .button.alt:hover {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

}



/* Two-column checkout row (parent theme hooks) */

body.woocommerce-checkout form.checkout > .row {

    --bs-gutter-x: 32px;

    --bs-gutter-y: 32px;

    align-items: flex-start;

}



body.woocommerce-checkout form.checkout > .row > .col-lg-8,

body.woocommerce-checkout form.checkout > .row > .col-lg-4,

body.woocommerce-checkout form.checkout > .row > [class*="col-"] {

    min-width: 0;

}



/* col-lg-* alone does not span full width below the lg breakpoint */

body.woocommerce-checkout form.checkout > .row > .col-lg-8,

body.woocommerce-checkout form.checkout > .row > .col-lg-4 {

    flex: 0 0 100%;

    width: 100%;

    max-width: 100%;

}



@media (min-width: 992px) {

    body.woocommerce-checkout form.checkout > .row > .col-lg-8 {

        flex: 0 0 66.666667%;

        width: 66.666667%;

        max-width: 66.666667%;

    }



    body.woocommerce-checkout form.checkout > .row > .col-lg-4 {

        flex: 0 0 33.333333%;

        width: 33.333333%;

        max-width: 33.333333%;

    }

}



/* Customer details — single column (billing then notes) */

body.woocommerce-checkout #customer_details {

    margin-bottom: 0;

}



body.woocommerce-checkout #customer_details .col2-set {

    display: flex;

    flex-direction: column;

    gap: 28px;

    width: 100%;

    margin: 0;

}



body.woocommerce-checkout #customer_details .col2-set .col-1,

body.woocommerce-checkout #customer_details .col2-set .col-2,

body.woocommerce-checkout .col2-set .col-1,

body.woocommerce-checkout .col2-set .col-2 {

    float: none !important;

    width: 100% !important;

    max-width: 100% !important;

    flex: 0 0 100%;

    padding: 0 !important;

}



body.woocommerce-checkout .woocommerce-billing-fields,

body.woocommerce-checkout .woocommerce-shipping-fields,

body.woocommerce-checkout .woocommerce-additional-fields,

body.woocommerce-checkout .checkout .billing-fields-wrapper,

body.woocommerce-checkout .checkout .shipping-fields-wrapper,

body.woocommerce-checkout .checkout-delivery-methods-wrapper,

body.woocommerce-checkout .woo-gp-form-wrapper,

body.woocommerce-checkout #prescription-checkout-fields,

body.woocommerce-checkout .checkout .order-review-wrapper,

body.woocommerce-checkout .p-lines-questionnaire-wrapper {

    padding: 24px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 16px !important;

    background: #fff !important;

    margin-bottom: 24px !important;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.04);

}



body.woocommerce-checkout .woocommerce-billing-fields h3,

body.woocommerce-checkout .woocommerce-shipping-fields h3,

body.woocommerce-checkout .woocommerce-additional-fields h3,

body.woocommerce-checkout #order_review_heading,

body.woocommerce-checkout .checkout-delivery-methods-wrapper h3,

body.woocommerce-checkout .woo-gp-form-wrapper h2,

body.woocommerce-checkout .woo-gp-form-wrapper h3,

body.woocommerce-checkout #prescription-checkout-fields h3,

body.woocommerce-checkout .checkout .order-review-wrapper h3,

body.woocommerce-checkout .p-lines-questionnaire-wrapper h3 {

    margin: 0 0 20px !important;

    padding-bottom: 14px;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

    font-family: "Playfair Display", serif !important;

    font-size: 22px !important;

    font-weight: 400 !important;

    line-height: 1.25;

    color: var(--aluna-text, #2c3338) !important;

}



/* Form fields */

body.woocommerce-checkout .form-row {

    margin-bottom: 14px !important;

    width: 100%;

    max-width: 100%;

    float: none;

}



body.woocommerce-checkout .woocommerce-input-wrapper {

    display: block;

    width: 100% !important;

    max-width: 100%;

}



body.woocommerce-checkout .form-row label,

body.woocommerce-checkout .woocommerce-form__label {

    display: block;

    margin-bottom: 6px;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.4;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-checkout .form-row .required,

body.woocommerce-checkout abbr.required {

    color: var(--aluna-orange, #f44706) !important;

    text-decoration: none;

}



body.woocommerce-checkout .form-row input.input-text,

body.woocommerce-checkout .form-row textarea,

body.woocommerce-checkout .form-row select,

body.woocommerce-checkout .woocommerce-input-wrapper input,

body.woocommerce-checkout .woocommerce-input-wrapper textarea,

body.woocommerce-checkout .woocommerce-input-wrapper select {

    width: 100% !important;

    min-height: 48px;

    padding: 12px 14px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    box-shadow: none !important;

}



body.woocommerce-checkout .form-row textarea {

    min-height: 120px;

    resize: vertical;

}



body.woocommerce-checkout .form-row input:focus,

body.woocommerce-checkout .form-row textarea:focus,

body.woocommerce-checkout .form-row select:focus {

    border-color: var(--aluna-orange, #f44706) !important;

    outline: none;

    box-shadow: 0 0 0 3px rgba(244, 71, 6, 0.12) !important;

}



body.woocommerce-checkout .select2-container--default .select2-selection--single {

    min-height: 48px !important;

    height: 48px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

}



body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {

    line-height: 46px !important;

    padding-left: 14px !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

}



body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {

    height: 46px !important;

    right: 10px !important;

}



/* GP form — fields panel, search select, manual inputs */

body.woocommerce-checkout .woo-gp-form-wrapper .gp-form-fields-wrapper {

    margin-top: 8px;

    padding: 18px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 12px !important;

    background: #fff !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .search-gp-surgery-wrapper,

body.woocommerce-checkout .woo-gp-form-wrapper .gp-surgery-name-wrapper,

body.woocommerce-checkout .woo-gp-form-wrapper .gp-surgery-input-wrapper,

body.woocommerce-checkout .woo-gp-form-wrapper .current-gp-surgery-wrapper {

    margin-top: 0 !important;

    margin-bottom: 16px !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .gp-form-fields-wrapper > .consent-checkbox {

    margin-top: 20px !important;

    margin-bottom: 0 !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .search-gp-surgery-wrapper label,

body.woocommerce-checkout .woo-gp-form-wrapper .gp-surgery-name-wrapper label,

body.woocommerce-checkout .woo-gp-form-wrapper .gp-surgery-input-wrapper label {

    display: block !important;

    width: 100% !important;

    margin: 0 0 8px !important;

    padding: 0 !important;

    border: none !important;

    background: transparent !important;

    color: var(--aluna-text, #2c3338) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    text-align: left !important;

    min-height: 0 !important;

    cursor: default;

}



body.woocommerce-checkout .woo-gp-form-wrapper .select2-container {

    display: block !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .gp-surgery-selector + .select2-container {

    margin-top: 0 !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .select2-container--default .select2-selection--single {

    min-height: 48px !important;

    height: auto !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    box-shadow: none !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {

    padding: 12px 40px 12px 14px !important;

    line-height: 1.4 !important;

    height: auto !important;

    min-height: 46px;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .select2-container--default .select2-selection--single .select2-selection__placeholder {

    color: var(--aluna-muted, #7a8288) !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow {

    top: 0 !important;

    right: 8px !important;

    height: 48px !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow b {

    border: none !important;

    margin: 0 !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232c3338' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: center;

    background-size: 12px 8px;

    width: 24px !important;

    height: 48px !important;

}



body.woocommerce-checkout .select2-container--open .select2-dropdown {

    margin-top: 4px;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    box-shadow: 0 8px 24px rgba(44, 51, 56, 0.12);

    overflow: hidden;

}



body.woocommerce-checkout .select2-container--default .select2-search--dropdown {

    padding: 10px !important;

    background: var(--aluna-callout-bg, #eff3ec) !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

}



body.woocommerce-checkout .select2-container--default .select2-search--dropdown .select2-search__field {

    width: 100% !important;

    min-height: 44px !important;

    margin: 0 !important;

    padding: 10px 12px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 8px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    box-shadow: none !important;

    outline: none !important;

}



body.woocommerce-checkout .select2-container--default .select2-search--dropdown .select2-search__field:focus {

    border-color: var(--aluna-orange, #f44706) !important;

    box-shadow: 0 0 0 3px rgba(244, 71, 6, 0.12) !important;

}



body.woocommerce-checkout .select2-container--default .select2-results__option {

    padding: 10px 14px !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],

body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected] {

    background: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

}



body.woocommerce-checkout .select2-container--default .select2-results__message {

    padding: 12px 14px !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    color: var(--aluna-body, #5a6268) !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper input.input-text,

body.woocommerce-checkout .woo-gp-form-wrapper .woocommerce-Input {

    width: 100% !important;

    min-height: 48px !important;

    padding: 12px 14px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    box-shadow: none !important;

    opacity: 1 !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper input.input-text::placeholder,

body.woocommerce-checkout .woo-gp-form-wrapper .woocommerce-Input::placeholder {

    color: var(--aluna-muted, #7a8288) !important;

    opacity: 1;

}



body.woocommerce-checkout .woo-gp-form-wrapper input.input-text:disabled,

body.woocommerce-checkout .woo-gp-form-wrapper input.input-text[disabled] {

    background: #f5f6f4 !important;

    border-color: var(--aluna-border, #d4dad0) !important;

    color: var(--aluna-muted, #7a8288) !important;

    cursor: not-allowed;

    opacity: 1 !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper input.input-text:focus:not(:disabled),

body.woocommerce-checkout .woo-gp-form-wrapper .woocommerce-Input:focus:not(:disabled) {

    border-color: var(--aluna-orange, #f44706) !important;

    box-shadow: 0 0 0 3px rgba(244, 71, 6, 0.12) !important;

    outline: none;

}



/* Ship to different address toggle */

body.woocommerce-checkout #ship-to-different-address {

    display: block !important;

    margin-bottom: 16px !important;

}



body.woocommerce-checkout #ship-to-different-address label {

    display: inline-flex !important;

    align-items: center;

    gap: 10px;

    font-weight: 600 !important;

    color: var(--aluna-text, #2c3338) !important;

    cursor: pointer;

}



body.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {

    width: 18px !important;

    height: 18px !important;

    min-height: 0 !important;

    accent-color: var(--aluna-orange, #f44706);

}



/* Order review table */

body.woocommerce-checkout #order_review {

    position: static !important;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table,

body.woocommerce-checkout .checkout .order-review-wrapper table.shop_table {

    border: none !important;

    border-spacing: 0 !important;

    margin: 0 !important;

    width: 100% !important;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th {

    padding: 12px 0 !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    font-family: var(--aluna-font) !important;

    font-size: 12px !important;

    font-weight: 700 !important;

    letter-spacing: 0.04em;

    text-transform: uppercase;

    color: var(--aluna-text, #2c3338) !important;

    background: transparent !important;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td {

    padding: 12px 0 !important;

    border: none !important;

    border-top: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    color: var(--aluna-text, #2c3338) !important;

    background: transparent !important;

    vertical-align: top !important;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table .cart_item td.product-name {

    font-weight: 500;

    line-height: 1.45;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td {

    text-align: right !important;

    font-weight: 600;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th {

    font-weight: 600 !important;

    color: var(--aluna-text, #2c3338) !important;

    text-align: left !important;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {

    padding-top: 16px !important;

    font-size: 17px !important;

    font-weight: 700 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td strong,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {

    color: var(--aluna-text, #2c3338) !important;

    font-weight: 700 !important;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table small.includes_tax,

body.woocommerce-checkout .includes_tax {

    display: block;

    margin-top: 4px;

    font-size: 12px !important;

    font-weight: 500 !important;

    color: var(--aluna-body, #5a6268) !important;

}



/* Undo parent “card per cell” order review layout */

body.woocommerce-checkout .checkout .order-review-wrapper table.shop_table td,

body.woocommerce-checkout .checkout .order-review-wrapper table.shop_table tr.cart_item td:first-child,

body.woocommerce-checkout .checkout .order-review-wrapper table.shop_table tr.cart_item td:last-child {

    background: transparent !important;

    padding: 12px 0 !important;

    width: auto !important;

    border-radius: 0 !important;

}



body.woocommerce-checkout .checkout .order-review-wrapper table.shop_table {

    border-spacing: 0 !important;

}



/* Shipment / delivery methods — full-width pill row */

body.woocommerce-checkout .checkout-delivery-methods-wrapper ul#shipping_method,

body.woocommerce-checkout #order_review ul#shipping_method,

body.woocommerce-checkout ul.woocommerce-shipping-methods,

body.woocommerce-checkout .checkout-shipment__methods {

    margin: 0;

    padding: 0;

    list-style: none;

}



body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td.checkout-shipment-cell {

    display: table-cell !important;

    width: 100% !important;

    padding-top: 16px !important;

    padding-bottom: 8px !important;

    text-align: left !important;

    border-top: 1px solid var(--aluna-border-soft, #c5cebd) !important;

}



body.woocommerce-checkout .checkout-shipment {

    width: 100%;

}



body.woocommerce-checkout .checkout-shipment__heading {

    margin: 0 0 12px !important;

    padding: 0 !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 700 !important;

    line-height: 1.3;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-checkout .checkout-delivery-methods-wrapper ul#shipping_method,

body.woocommerce-checkout .checkout-shipment__methods,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals ul#shipping_method {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 10px !important;

    width: 100% !important;

    max-width: 100% !important;

    flex-flow: unset !important;

}



body.woocommerce-checkout .checkout-shipment__methods > li,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals ul#shipping_method > li,

body.woocommerce-checkout ul#shipping_method li,

body.woocommerce-checkout ul.woocommerce-shipping-methods li {

    position: relative;

    width: 100% !important;

    min-width: 0;

    margin: 0 !important;

    padding: 0 !important;

    flex: unset !important;

    line-height: 1.35;

    list-style: none;

}



body.woocommerce-checkout .checkout-shipment__methods > li input[type="radio"],

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals ul#shipping_method input[type="radio"],

body.woocommerce-checkout ul#shipping_method input[type="radio"],

body.woocommerce-checkout ul.woocommerce-shipping-methods input[type="radio"] {

    position: absolute !important;

    opacity: 0 !important;

    width: 1px !important;

    height: 1px !important;

    margin: 0 !important;

    pointer-events: none;

}



body.woocommerce-checkout .checkout-shipment__methods > li input[type="radio"] + label,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals ul#shipping_method input[type="radio"] + label,

body.woocommerce-checkout ul#shipping_method input[type="radio"] + label,

body.woocommerce-checkout ul.woocommerce-shipping-methods input[type="radio"] + label {

    display: flex !important;

    align-items: center;

    justify-content: center;

    width: 100% !important;

    min-height: 48px;

    margin: 0 !important;

    padding: 10px 12px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    box-sizing: border-box;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.35 !important;

    text-align: center;

    color: var(--aluna-text, #2c3338) !important;

    cursor: pointer;

    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;

}



body.woocommerce-checkout .checkout-shipment__methods > li input[type="radio"] + label::before,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals ul#shipping_method input[type="radio"] + label::before,

body.woocommerce-checkout ul#shipping_method input[type="radio"] + label::before,

body.woocommerce-checkout ul.woocommerce-shipping-methods input[type="radio"] + label::before {

    display: none !important;

    content: none !important;

}



body.woocommerce-checkout .checkout-shipment__methods > li input[type="radio"]:checked + label,

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals ul#shipping_method input[type="radio"]:checked + label,

body.woocommerce-checkout ul#shipping_method input[type="radio"]:checked + label,

body.woocommerce-checkout ul.woocommerce-shipping-methods input[type="radio"]:checked + label {

    background: var(--aluna-orange, #f44706) !important;

    border-color: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

}



body.woocommerce-checkout .checkout-shipment__methods > li input[type="radio"]:checked + label .woocommerce-Price-amount,

body.woocommerce-checkout .checkout-shipment__methods > li input[type="radio"]:checked + label .amount {

    color: #fff !important;

}



body.woocommerce-checkout .woocommerce-shipping-destination {

    margin-top: 10px;

    font-size: 13px !important;

    line-height: 1.5 !important;

    color: var(--aluna-body, #5a6268) !important;

}



body.woocommerce-checkout .woocommerce-shipping-destination strong {

    color: var(--aluna-text, #2c3338);

}



/* GP surgery options — 3 pills, full width on mobile */

body.woocommerce-checkout .woo-gp-form-wrapper {

    background: var(--aluna-callout-bg, #eff3ec) !important;

}



body.woocommerce-checkout .woocommerce-gp-surgery-options {

    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 10px;

    width: 100%;

    margin: 0 0 24px !important;

    padding: 0 !important;

    align-items: stretch !important;

    justify-content: stretch !important;

}



/* Two GP options only — equal columns with gap */

body.woocommerce-checkout .woocommerce-gp-surgery-options:has(> .form-row:nth-child(2):last-child) {

    grid-template-columns: repeat(2, minmax(0, 1fr));

}



body.woocommerce-checkout .woocommerce-gp-surgery-options + .search-gp-surgery-wrapper,

body.woocommerce-checkout .woocommerce-gp-surgery-options + .gp-surgery-name-wrapper,

body.woocommerce-checkout .woocommerce-gp-surgery-options + .current-gp-surgery-wrapper,

body.woocommerce-checkout .woocommerce-gp-surgery-options ~ .search-gp-surgery-wrapper:first-of-type,

body.woocommerce-checkout .woocommerce-gp-surgery-options ~ .gp-surgery-name-wrapper:first-of-type {

    margin-top: 0 !important;

    padding-top: 0 !important;

}



body.woocommerce-checkout .woocommerce-gp-surgery-options .form-row {

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    float: none !important;

}



body.woocommerce-checkout .woocommerce-gp-surgery-options .form-row label {

    display: flex !important;

    align-items: center;

    justify-content: center;

    width: 100% !important;

    min-height: 48px;

    margin: 0 !important;

    padding: 10px 12px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 13px !important;

    font-weight: 600 !important;

    line-height: 1.25 !important;

    text-align: center;

    text-transform: none !important;

    cursor: pointer;

    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;

}



body.woocommerce-checkout .woocommerce-gp-surgery-options input[type="radio"] {

    position: absolute !important;

    opacity: 0 !important;

    pointer-events: none;

}



body.woocommerce-checkout .woocommerce-gp-surgery-options input[type="radio"]:checked + label {

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    border-color: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

}



body.woocommerce-checkout .woocommerce-gp-surgery-options .checkmark {

    display: none !important;

}



body.woocommerce-checkout .woo-gp-form-wrapper .current-gp-surgery-wrapper {

    padding: 14px 16px !important;

    border-radius: 10px !important;

    background: var(--aluna-callout-bg, #eff3ec) !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

}



body.woocommerce-checkout .current-gp-surgery-wrapper strong {

    display: block;

    margin-bottom: 4px;

    font-size: 12px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.04em;

    color: var(--aluna-muted, #7a8288);

}



body.woocommerce-checkout .current-gp-surgery-wrapper span {

    font-size: 15px;

    color: var(--aluna-text, #2c3338);

}



body.woocommerce-checkout .woo-gp-form-wrapper .consent-checkbox,

body.woocommerce-checkout .woo-gp-form-wrapper p.consent-checkbox.form-row,

body.woocommerce-checkout .woo-gp-form-wrapper .gp-form-fields-wrapper > .consent-checkbox {

    display: flex !important;

    flex-direction: row;

    align-items: flex-start;

    gap: 12px;

    margin-top: 20px !important;

    margin-bottom: 0 !important;

    padding: 0 !important;

    width: 100% !important;

    max-width: 100% !important;

    float: none !important;

    clear: both;

}



body.woocommerce-checkout .woo-gp-form-wrapper .consent-checkbox label {

    display: block !important;

    flex: 1 1 auto;

    width: auto !important;

    max-width: none !important;

    min-width: 0;

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    background: transparent !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 500 !important;

    line-height: 1.55 !important;

    color: var(--aluna-text, #2c3338) !important;

    text-align: left !important;

    cursor: pointer;

}



body.woocommerce-checkout .woo-gp-form-wrapper .consent-checkbox label strong {

    font-weight: 700;

    color: var(--aluna-text, #2c3338);

}



body.woocommerce-checkout .woo-gp-form-wrapper .consent-checkbox input[type="checkbox"] {

    flex: 0 0 20px;

    width: 20px !important;

    height: 20px !important;

    min-width: 20px !important;

    min-height: 20px !important;

    margin: 3px 0 0 !important;

    padding: 0 !important;

    accent-color: var(--aluna-orange, #f44706);

    cursor: pointer;

    vertical-align: top;

}



/* Payment */

body.woocommerce-checkout #payment {

    margin-top: 0 !important;

    padding: 24px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 16px !important;

    background: #fff !important;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.04);

}



body.woocommerce-checkout #payment ul.payment_methods {

    margin: 0 0 16px;

    padding: 0 !important;

    border: none !important;

}



body.woocommerce-checkout #payment ul.payment_methods li {

    margin-bottom: 10px;

    padding: 12px 14px;

    border: 1px solid var(--aluna-border-soft, #c5cebd);

    border-radius: 10px;

    background: var(--aluna-callout-bg, #eff3ec);

    list-style: none;

}



body.woocommerce-checkout #payment ul.payment_methods li label {

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    color: var(--aluna-text, #2c3338) !important;

    cursor: pointer;

}



body.woocommerce-checkout #payment div.payment_box {

    margin-top: 10px;

    padding: 12px 14px !important;

    border-radius: 10px !important;

    background: #fff !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    color: var(--aluna-body, #5a6268) !important;

    font-size: 14px;

}



body.woocommerce-checkout #payment div.payment_box::before {

    display: none !important;

}



body.woocommerce-checkout #payment .place-order {

    margin: 0 !important;

    padding: 0 !important;

}



body.woocommerce-checkout #place_order,

body.woocommerce-checkout #payment button#place_order,

body.woocommerce-checkout #payment .button.alt {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 14px 24px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    background-image: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    line-height: 1.3 !important;

    text-align: center !important;

    text-transform: none !important;

    box-shadow: none !important;

    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;

}



body.woocommerce-checkout #place_order:hover,

body.woocommerce-checkout #payment button#place_order:hover,

body.woocommerce-checkout.woocommerce-page #payment .button.alt:hover,

body.woocommerce-checkout .woocommerce form .button.alt#place_order:hover {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    background-image: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    border-color: transparent !important;

    box-shadow: 0 4px 14px rgba(244, 71, 6, 0.32) !important;

    transform: translateY(-1px);

}



body.woocommerce-checkout #place_order:hover *,

body.woocommerce-checkout #payment button#place_order:hover * {

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

}



body.woocommerce-checkout #payment button::after,

body.woocommerce-checkout #payment .button::after {

    display: none !important;

}



/* Errors / notices */

body.woocommerce-checkout .woocommerce-notices-wrapper,

body.woocommerce-checkout .woocommerce-NoticeGroup-checkout {

    width: 100% !important;

    max-width: 100% !important;

    margin-bottom: 20px;

}



body.woocommerce-checkout .woocommerce-error,

body.woocommerce-checkout .woocommerce-message,

body.woocommerce-checkout .woocommerce-info {

    margin: 0 0 16px !important;

    padding: 16px 20px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 12px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.5;

    list-style: none !important;

}



body.woocommerce-checkout .woocommerce-message,

body.woocommerce-checkout .woocommerce-info,

body.woocommerce-checkout .woocommerce-error {

    display: flex !important;

    flex-direction: column !important;

    flex-wrap: nowrap;

    align-items: stretch;

    gap: 8px;

}



body.woocommerce-checkout .woocommerce-error {

    position: relative;

    padding: 16px 20px 16px 48px !important;

    border-top: 3px solid #d63638 !important;

}



body.woocommerce-checkout .woocommerce-message {

    border-top: 3px solid var(--aluna-orange, #f44706) !important;

}



body.woocommerce-checkout .woocommerce-info {

    border-top: 3px solid #2271b1 !important;

}



body.woocommerce-checkout .woocommerce-error::before,

body.woocommerce-checkout .woocommerce-message::before,

body.woocommerce-checkout .woocommerce-info::before {

    position: static !important;

    top: auto !important;

    left: auto !important;

    flex-shrink: 0;

    margin: 2px 0 0 !important;

}



body.woocommerce-checkout .woocommerce-error::before {

    position: absolute !important;

    top: 18px !important;

    left: 16px !important;

    margin: 0 !important;

    color: #d63638 !important;

}



body.woocommerce-checkout .woocommerce-message::before {

    color: var(--aluna-orange, #f44706) !important;

}



body.woocommerce-checkout .woocommerce-info::before {

    color: #2271b1 !important;

}



body.woocommerce-checkout .woocommerce-error li {

    display: block !important;

    flex: 0 0 auto;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    list-style: none !important;

    white-space: normal !important;

    word-break: normal !important;

    overflow-wrap: anywhere !important;

}



body.woocommerce-checkout .woocommerce-message li,

body.woocommerce-checkout .woocommerce-info li {

    flex: 1 1 auto;

    min-width: 0;

    margin: 0 !important;

    padding: 0 !important;

    list-style: none !important;

}



@media (max-width: 991.98px) {

    body.woocommerce-checkout .checkout-delivery-methods-wrapper ul#shipping_method,

    body.woocommerce-checkout .checkout-shipment__methods,

    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals ul#shipping_method {

        grid-template-columns: 1fr !important;

    }



    body.woocommerce-checkout .woocommerce-gp-surgery-options {

        grid-template-columns: 1fr !important;

    }

}



@media (max-width: 768px) {

    body.woocommerce-checkout.checkout-page .page-content-section {

        padding-bottom: max(88px, calc(32px + env(safe-area-inset-bottom, 0px)));

    }



    body.woocommerce-checkout.checkout-page .page-content-section > .container,

    body.woocommerce-checkout.checkout-page form.checkout,

    body.woocommerce-checkout.checkout-page form.checkout > .row,

    body.woocommerce-checkout.checkout-page #customer_details,

    body.woocommerce-checkout.checkout-page #customer_details .col2-set,

    body.woocommerce-checkout.checkout-page .user-fields-container,

    body.woocommerce-checkout.checkout-page .billing-fields-wrapper,

    body.woocommerce-checkout.checkout-page .woocommerce-billing-fields,

    body.woocommerce-checkout.checkout-page .woocommerce-shipping-fields,

    body.woocommerce-checkout.checkout-page .woocommerce-additional-fields {

        width: 100% !important;

        max-width: 100% !important;

        min-width: 0 !important;

        box-sizing: border-box;

    }



    body.woocommerce-checkout.checkout-page .form-row,

    body.woocommerce-checkout.checkout-page .woocommerce-input-wrapper,

    body.woocommerce-checkout.checkout-page .select2-container {

        width: 100% !important;

        max-width: 100% !important;

        float: none !important;

    }



    body.woocommerce-checkout .woocommerce-error {

        padding: 14px 16px 14px 44px !important;

    }



    body.woocommerce-checkout .woocommerce-error::before {

        top: 16px !important;

        left: 14px !important;

    }



    body.woocommerce-checkout .woo-page-banner-section {

        padding: 32px 0 28px;

    }



    body.woocommerce-checkout .woocommerce-billing-fields,

    body.woocommerce-checkout .woocommerce-shipping-fields,

    body.woocommerce-checkout .woocommerce-additional-fields,

    body.woocommerce-checkout .checkout .order-review-wrapper,

    body.woocommerce-checkout .woo-gp-form-wrapper,

    body.woocommerce-checkout #payment {

        padding: 18px !important;

    }



    body.woocommerce-checkout .form-row-first,

    body.woocommerce-checkout .form-row-last {

        width: 100% !important;

        float: none !important;

    }



    /* Stop parent / WC responsive tables collapsing into single-character columns */

    body.woocommerce-checkout.checkout-page table.shop_table_responsive tr td::before,

    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table td::before,

    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table th::before {

        content: none !important;

        display: none !important;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table {

        display: block;

        width: 100% !important;

        table-layout: auto !important;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table thead {

        display: none;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tbody tr.cart_item {

        display: block;

        margin-bottom: 12px;

        padding: 14px;

        border: 1px solid var(--aluna-border-soft, #c5cebd);

        border-radius: 12px;

        background: #fff !important;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tbody tr.cart_item td,

    body.woocommerce-checkout.checkout-page .checkout .order-review-wrapper table.shop_table tr.cart_item td:first-child,

    body.woocommerce-checkout.checkout-page .checkout .order-review-wrapper table.shop_table tr.cart_item td:last-child {

        display: block !important;

        width: 100% !important;

        max-width: 100% !important;

        padding: 6px 0 !important;

        margin: 0 !important;

        border: none !important;

        border-radius: 0 !important;

        background: transparent !important;

        text-align: left !important;

        word-break: normal !important;

        overflow-wrap: normal !important;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total {

        padding-top: 8px !important;

        font-weight: 600;

        text-align: left !important;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tfoot {

        display: block;

        width: 100%;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tfoot tr {

        display: flex;

        flex-wrap: wrap;

        align-items: flex-start;

        justify-content: space-between;

        gap: 4px 12px;

        width: 100%;

        padding: 8px 0;

        border-top: 1px solid var(--aluna-border-soft, #c5cebd);

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tfoot tr:first-child {

        border-top: none;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tfoot th,

    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tfoot td {

        display: block !important;

        width: auto !important;

        max-width: none !important;

        flex: 1 1 auto;

        min-width: 0;

        padding: 0 !important;

        border: none !important;

        background: transparent !important;

        text-align: left !important;

        word-break: normal !important;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tfoot td {

        flex: 0 0 auto;

        text-align: right !important;

        white-space: nowrap;

    }



    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {

        display: block !important;

        width: 100% !important;

        text-align: left !important;

    }



    body.woocommerce-checkout.checkout-page .checkout-delivery-methods-wrapper ul#shipping_method,

    body.woocommerce-checkout.checkout-page .checkout-shipment__methods,

    body.woocommerce-checkout.checkout-page table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals ul#shipping_method {

        grid-template-columns: 1fr !important;

    }



    body.woocommerce-checkout.checkout-page .woocommerce-form-login-toggle,

    body.woocommerce-checkout.checkout-page .woocommerce-form-login-toggle .woocommerce-info {

        margin-bottom: 16px;

    }



    body.woocommerce-checkout.checkout-page form.woocommerce-form-login {

        margin-bottom: 20px;

        padding: 18px !important;

        border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

        border-radius: 12px !important;

        background: #fff !important;

    }



    body.woocommerce-checkout.checkout-page form.woocommerce-form-login .form-row {

        width: 100% !important;

        float: none !important;

    }



    body.woocommerce-checkout .woo-gp-form-wrapper .consent-checkbox,

    body.woocommerce-checkout .woo-gp-form-wrapper p.consent-checkbox.form-row {

        gap: 14px;

        margin-top: 24px !important;

        padding-top: 4px !important;

        border-top: 1px solid var(--aluna-border-soft, #c5cebd);

    }



    body.woocommerce-checkout .woo-gp-form-wrapper .consent-checkbox label {

        font-size: 15px !important;

        line-height: 1.6 !important;

    }



    body.woocommerce-checkout .woo-gp-form-wrapper .consent-checkbox input[type="checkbox"] {

        flex: 0 0 22px;

        width: 22px !important;

        height: 22px !important;

        min-width: 22px !important;

        min-height: 22px !important;

        margin-top: 2px !important;

    }

}



/* =======================================

   ORDER RECEIVED (THANK YOU) — Aluna layout

   ======================================= */



body.woocommerce-order-received.order-received-page,

body.woocommerce-order-received.order-received-page.shop-page {

    background-color: var(--aluna-page-bg, #e8ede4);

}



body.woocommerce-order-received .woo-page-banner-section {

    background-color: var(--aluna-hero-bg, #d9e1d5);

    padding: 48px 0 40px;

}



body.woocommerce-order-received .woo-page-banner-section .section-header-wrapper {

    margin-bottom: 0 !important;

}



body.woocommerce-order-received .woo-page-banner-section h5 {

    margin: 0 0 12px;

    font-family: var(--aluna-font) !important;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    color: var(--aluna-orange, #f44706);

}



body.woocommerce-order-received .woo-page-banner-section .section-title {

    margin: 0 0 12px;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(32px, 5vw, 44px);

    font-weight: 400;

    line-height: 1.2;

    color: var(--aluna-text, #2c3338);

}



body.woocommerce-order-received .woo-page-banner-section .content-block p {

    margin: 0 auto;

    max-width: 560px;

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.65;

    color: var(--aluna-body, #5a6268);

}



body.woocommerce-order-received .woo-page-banner-section .content-block a {

    color: var(--aluna-orange, #f44706);

    font-weight: 600;

    text-decoration: underline;

    text-underline-offset: 2px;

}



body.woocommerce-order-received .page-content-section {

    padding: 40px 0 72px;

    background-color: transparent;

}



body.woocommerce-order-received .page-content-section > .container > .row > .col,

body.woocommerce-order-received .page-content-section .page-content {

    width: 100%;

    max-width: 100%;

}



body.woocommerce-order-received .woocommerce-order {

    display: flex;

    flex-direction: column;

    gap: 20px;

    width: 100%;

    max-width: 100%;

    margin: 0;

    float: none !important;

    clear: both !important;

}



body.woocommerce-order-received .woocommerce-order::before,

body.woocommerce-order-received .woocommerce-order::after {

    display: none !important;

    content: none !important;

}



/* Success message */

body.woocommerce-order-received .woocommerce-notice--success,

body.woocommerce-order-received .woocommerce-thankyou-order-received {

    margin: 0 0 20px !important;

    padding: 16px 20px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-left: 4px solid var(--aluna-orange, #f44706) !important;

    border-radius: 12px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 16px !important;

    font-weight: 600 !important;

    line-height: 1.5 !important;

}



/* Order meta summary — single full-width card, equal columns */

body.woocommerce-order-received ul.woocommerce-order-overview,

body.woocommerce-order-received ul.order_details {

    display: flex !important;

    flex-wrap: nowrap;

    align-items: stretch;

    width: 100% !important;

    margin: 0 0 20px !important;

    padding: 4px !important;

    list-style: none !important;

    clear: both;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 16px !important;

    background: #fff !important;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.04);

    box-sizing: border-box;

    overflow: hidden;

}



body.woocommerce-order-received ul.woocommerce-order-overview li,

body.woocommerce-order-received ul.order_details li {

    float: none !important;

    flex: 1 1 0;

    min-width: 0;

    width: auto !important;

    margin: 0 !important;

    padding: 16px 14px !important;

    border: none !important;

    border-right: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 0 !important;

    background: transparent !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    line-height: 1.45 !important;

    color: var(--aluna-text, #2c3338) !important;

    text-transform: none !important;

    box-sizing: border-box;

}



body.woocommerce-order-received ul.woocommerce-order-overview li:last-child,

body.woocommerce-order-received ul.order_details li:last-child {

    border-right: none !important;

}



body.woocommerce-order-received ul.woocommerce-order-overview li strong,

body.woocommerce-order-received ul.order_details li strong {

    display: block;

    margin: 0 0 6px !important;

    font-size: 11px !important;

    font-weight: 700 !important;

    letter-spacing: 0.06em;

    text-transform: uppercase;

    color: var(--aluna-body, #5a6268) !important;

}



body.woocommerce-order-received ul.woocommerce-order-overview li span,

body.woocommerce-order-received ul.order_details li span {

    display: block;

    font-size: 15px !important;

    font-weight: 600 !important;

    color: var(--aluna-text, #2c3338) !important;

    text-transform: none !important;

    word-break: normal;

    overflow-wrap: normal;

}



body.woocommerce-order-received ul.woocommerce-order-overview li span *,

body.woocommerce-order-received ul.order_details li span * {

    text-transform: none !important;

}



/* Email — readable casing, room to wrap at @ */

body.woocommerce-order-received ul.woocommerce-order-overview li.email,

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email,

body.woocommerce-order-received ul.order_details li.email {

    flex: 1.45 1 0 !important;

    min-width: 0;

}



body.woocommerce-order-received ul.woocommerce-order-overview li.email span,

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email span,

body.woocommerce-order-received ul.order_details li.email span {

    font-size: 13px !important;

    font-weight: 600 !important;

    line-height: 1.4 !important;

    text-transform: lowercase !important;

    word-break: break-word !important;

    overflow-wrap: break-word !important;

}



/* Total — keep £ and amount on one line */

body.woocommerce-order-received ul.woocommerce-order-overview li.total,

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total,

body.woocommerce-order-received ul.order_details li.total {

    flex: 0 0 auto !important;

    min-width: 5.75rem;

}



body.woocommerce-order-received ul.woocommerce-order-overview li.total span,

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total span,

body.woocommerce-order-received ul.order_details li.total span {

    display: inline-block !important;

    white-space: nowrap !important;

    word-break: keep-all !important;

    overflow-wrap: normal !important;

}



body.woocommerce-order-received ul.woocommerce-order-overview li.total .amount,

body.woocommerce-order-received ul.woocommerce-order-overview li.total .woocommerce-Price-amount,

body.woocommerce-order-received ul.woocommerce-order-overview li.total bdi,

body.woocommerce-order-received ul.woocommerce-order-overview li.total .woocommerce-Price-currencySymbol {

    display: inline !important;

    white-space: nowrap !important;

}



body.woocommerce-order-received .woocommerce-order > p {

    margin: 0 0 24px !important;

    padding: 14px 18px !important;

    border-radius: 12px !important;

    background: var(--aluna-callout-bg, #eff3ec) !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    line-height: 1.55 !important;

    color: var(--aluna-text, #2c3338) !important;

}



/* Order details card */

body.woocommerce-order-received .woocommerce-order-details {

    width: 100%;

    margin: 0 0 24px !important;

    padding: 24px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 16px !important;

    background: #fff !important;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.04);

}



body.woocommerce-order-received .order-detail-heading,

body.woocommerce-order-received .aluna-order-details-header {

    display: flex !important;

    flex-wrap: wrap;

    align-items: center;

    justify-content: space-between;

    gap: 12px 16px;

    width: 100%;

    margin: 0 0 20px !important;

    padding: 0 0 16px !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

}



body.woocommerce-order-received .woocommerce-order-details__title {

    margin: 0 !important;

    padding: 0 !important;

    font-family: "Playfair Display", serif !important;

    font-size: 22px !important;

    font-weight: 400 !important;

    line-height: 1.25;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-order-received .order-detail-heading .theme-btn,

body.woocommerce-order-received .aluna-order-details-header .theme-btn {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    margin: 0 !important;

    padding: 12px 22px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    text-decoration: none !important;

    text-transform: none !important;

    white-space: nowrap;

    box-shadow: none !important;

    transition: background-color 0.2s ease, transform 0.2s ease;

}



body.woocommerce-order-received .order-detail-heading .theme-btn:hover,

body.woocommerce-order-received .aluna-order-details-header .theme-btn:hover {

    background: #d63d05 !important;

    color: #fff !important;

    transform: translateY(-1px);

}



/* Order table */

body.woocommerce-order-received table.woocommerce-table--order-details,

body.woocommerce-order-received table.order_details {

    width: 100% !important;

    margin: 0 !important;

    border: none !important;

    border-collapse: collapse !important;

    border-spacing: 0 !important;

}



body.woocommerce-order-received table.woocommerce-table--order-details thead th {

    padding: 12px 0 !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    font-family: var(--aluna-font) !important;

    font-size: 12px !important;

    font-weight: 700 !important;

    letter-spacing: 0.04em;

    text-transform: uppercase;

    color: var(--aluna-text, #2c3338) !important;

    background: transparent !important;

}



body.woocommerce-order-received table.woocommerce-table--order-details tbody td,

body.woocommerce-order-received table.woocommerce-table--order-details tfoot th,

body.woocommerce-order-received table.woocommerce-table--order-details tfoot td {

    padding: 12px 0 !important;

    border: none !important;

    border-top: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    color: var(--aluna-text, #2c3338) !important;

    background: transparent !important;

    vertical-align: top !important;

}



body.woocommerce-order-received table.woocommerce-table--order-details .product-total,

body.woocommerce-order-received table.woocommerce-table--order-details tfoot td {

    text-align: right !important;

    font-weight: 600;

}



body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,

body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td {

    padding-top: 16px !important;

    font-size: 17px !important;

    font-weight: 700 !important;

}



body.woocommerce-order-received table.woocommerce-table--order-details tfoot small.includes_tax {

    display: block;

    margin-top: 4px;

    font-size: 12px !important;

    font-weight: 500 !important;

    color: var(--aluna-body, #5a6268) !important;

}



/* Billing / shipping addresses — side by side, full width */

body.woocommerce-order-received .woocommerce-customer-details {

    display: block;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    clear: both !important;

    float: none !important;

}



body.woocommerce-order-received .woocommerce-customer-details::before,

body.woocommerce-order-received .woocommerce-customer-details::after,

body.woocommerce-order-received .woocommerce-columns::before,

body.woocommerce-order-received .woocommerce-columns::after {

    display: none !important;

    content: none !important;

}



body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns.col2-set,

body.woocommerce-order-received .woocommerce-order .woocommerce-columns,

body.woocommerce-order-received .woocommerce-order .woocommerce-columns.woocommerce-columns--2,

body.woocommerce-order-received .woocommerce-order .woocommerce-columns.col2-set.addresses {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 20px !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    float: none !important;

    clear: both !important;

}



body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,

body.woocommerce-order-received .woocommerce-order .woocommerce-columns .woocommerce-column,

body.woocommerce-order-received .woocommerce-order .woocommerce-columns .woocommerce-column--1,

body.woocommerce-order-received .woocommerce-order .woocommerce-columns .woocommerce-column--2,

body.woocommerce-order-received .woocommerce-order .woocommerce-columns .woocommerce-column--1.col-1,

body.woocommerce-order-received .woocommerce-order .woocommerce-columns .woocommerce-column--2.col-2,

body.woocommerce-order-received .woocommerce-columns .col-1,

body.woocommerce-order-received .woocommerce-columns .col-2 {

    float: none !important;

    position: static !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding: 24px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 16px !important;

    background: #fff !important;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.04);

    box-sizing: border-box;

}



body.woocommerce-order-received .woocommerce-column__title {

    margin: 0 0 14px !important;

    padding: 0 0 12px !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

    font-family: "Playfair Display", serif !important;

    font-size: 20px !important;

    font-weight: 400 !important;

    line-height: 1.25;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-order-received .woocommerce-customer-details address {

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    background: transparent !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    line-height: 1.65 !important;

    color: var(--aluna-body, #5a6268) !important;

    font-style: normal;

    word-break: break-word;

    overflow-wrap: anywhere;

}



body.woocommerce-order-received .woocommerce-customer-details address strong {

    display: block;

    margin-bottom: 6px;

    color: var(--aluna-text, #2c3338);

    font-weight: 600;

}



@media (max-width: 991.98px) {

    body.woocommerce-order-received ul.woocommerce-order-overview,

    body.woocommerce-order-received ul.order_details {

        flex-wrap: wrap !important;

        padding: 0 !important;

    }



    body.woocommerce-order-received ul.woocommerce-order-overview li,

    body.woocommerce-order-received ul.order_details li {

        flex: 1 1 100%;

        min-width: 100%;

        border-right: none !important;

        border-bottom: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    }



    body.woocommerce-order-received ul.woocommerce-order-overview li:last-child,

    body.woocommerce-order-received ul.order_details li:last-child {

        border-bottom: none !important;

    }



    body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,

    body.woocommerce-order-received .woocommerce-order .woocommerce-columns,

    body.woocommerce-order-received .woocommerce-order .woocommerce-columns.woocommerce-columns--2 {

        grid-template-columns: 1fr !important;

    }



    body.woocommerce-order-received .order-detail-heading,

    body.woocommerce-order-received .aluna-order-details-header {

        flex-direction: column;

        align-items: flex-start;

    }



    body.woocommerce-order-received .order-detail-heading .theme-btn,

    body.woocommerce-order-received .aluna-order-details-header .theme-btn {

        width: 100%;

    }

}



@media (max-width: 575.98px) {

    body.woocommerce-order-received .woo-page-banner-section {

        padding: 32px 0 28px;

    }



    body.woocommerce-order-received .page-content-section {

        padding: 28px 0 48px;

    }



    body.woocommerce-order-received .woocommerce-order-details {

        padding: 18px !important;

    }



    body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,

    body.woocommerce-order-received .woocommerce-order .woocommerce-columns .woocommerce-column--1,

    body.woocommerce-order-received .woocommerce-order .woocommerce-columns .woocommerce-column--2 {

        padding: 18px !important;

    }

}



/* =======================================

   MY ACCOUNT — Edit account (Aluna)

   ======================================= */



body.woocommerce-account.edit-account-page.my-account-page,

body.woocommerce-account.my-account-page {

    background-color: var(--aluna-page-bg, #e8ede4);

}



body.woocommerce-account.edit-account-page.logged-in .page-content-section,

body.woocommerce-account.my-account-page.logged-in .page-content-section {

    padding: 40px 0 72px;

    background-color: transparent !important;

}



body.woocommerce-account.edit-account-page .page-content-section > .container > .row > .col,

body.woocommerce-account.edit-account-page .page-content,

body.woocommerce-account.edit-account-page .woocommerce-MyAccount-content {

    width: 100% !important;

    max-width: 100% !important;

    float: none !important;

}



body.woocommerce-account.edit-account-page .woo-myaccount-banner-section {

    background-color: var(--aluna-hero-bg, #d9e1d5) !important;

    padding: 40px 0 36px !important;

}



body.woocommerce-account.edit-account-page .woo-myaccount-banner-section h1,

body.woocommerce-account.edit-account-page .woo-myaccount-banner-section .woocommerce-MyAccount-title {

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(28px, 4vw, 40px) !important;

    font-weight: 400 !important;

    line-height: 1.2;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-account.edit-account-page .woo-myaccount-banner-section .theme-btn-primary,

body.woocommerce-account.edit-account-page .woo-myaccount-banner-section .theme-btn-third {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    margin: 6px 10px 6px 0 !important;

    padding: 11px 20px !important;

    border-radius: 999px !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    text-decoration: none !important;

}



body.woocommerce-account.edit-account-page .woo-myaccount-banner-section .theme-btn-primary {

    background: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    border: none !important;

}



body.woocommerce-account.edit-account-page .woo-myaccount-banner-section .theme-btn-third {

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

}



/* Form shell */

body.woocommerce-account.edit-account-page form.aluna-edit-account-form {

    width: 100%;

    max-width: 100%;

    margin: 0;

    padding: 0;

    border: none;

    background: transparent;

}



body.woocommerce-account.edit-account-page .aluna-account-section {

    width: 100%;

    margin: 0 0 20px;

    padding: 24px;

    border: 1px solid var(--aluna-border-soft, #c5cebd);

    border-radius: 16px;

    background: #fff;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.04);

    box-sizing: border-box;

}



body.woocommerce-account.edit-account-page .aluna-account-section__title {

    margin: 0 0 20px;

    padding: 0 0 14px;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

    font-family: "Playfair Display", serif !important;

    font-size: 22px !important;

    font-weight: 400 !important;

    line-height: 1.25;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-account.edit-account-page .aluna-account-grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 16px 20px;

    width: 100%;

}



body.woocommerce-account.edit-account-page .aluna-account-section__body--stack {

    display: flex;

    flex-direction: column;

    gap: 20px;

    width: 100%;

}



body.woocommerce-account.edit-account-page .aluna-account-section .form-row,

body.woocommerce-account.edit-account-page .aluna-account-section fieldset {

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    min-width: 0;

}



body.woocommerce-account.edit-account-page .aluna-account-password-fieldset {

    display: contents;

}



body.woocommerce-account.edit-account-page .aluna-account-section label {

    display: block;

    margin: 0 0 8px !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.4 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-account.edit-account-page .aluna-account-section .required {

    color: var(--aluna-orange, #f44706) !important;

    text-decoration: none;

}



body.woocommerce-account.edit-account-page .aluna-field-hint {

    display: block;

    margin-top: 6px;

    font-family: var(--aluna-font) !important;

    font-size: 13px !important;

    font-weight: 400 !important;

    line-height: 1.5;

    color: var(--aluna-body, #5a6268) !important;

}



body.woocommerce-account.edit-account-page .aluna-field-hint em {

    font-style: normal;

}



body.woocommerce-account.edit-account-page .aluna-account-section .input-text,

body.woocommerce-account.edit-account-page .aluna-account-section input[type="text"],

body.woocommerce-account.edit-account-page .aluna-account-section input[type="email"],

body.woocommerce-account.edit-account-page .aluna-account-section input[type="password"],

body.woocommerce-account.edit-account-page .aluna-account-section input[type="file"],

body.woocommerce-account.edit-account-page .aluna-account-section select,

body.woocommerce-account.edit-account-page .aluna-account-section .woocommerce-Input {

    width: 100% !important;

    max-width: 100% !important;

    min-height: 48px;

    padding: 12px 14px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    box-shadow: none !important;

    box-sizing: border-box;

}



body.woocommerce-account.edit-account-page .aluna-account-section input[type="file"].cflp-file-input {

    padding: 10px 12px !important;

    min-height: 48px;

}



body.woocommerce-account.edit-account-page .aluna-account-section .input-text:focus,

body.woocommerce-account.edit-account-page .aluna-account-section input:focus,

body.woocommerce-account.edit-account-page .aluna-account-section select:focus {

    border-color: var(--aluna-orange, #f44706) !important;

    outline: none;

    box-shadow: 0 0 0 3px rgba(244, 71, 6, 0.12) !important;

}



body.woocommerce-account.edit-account-page .aluna-account-section .show-password-input {

    top: 50% !important;

    right: 12px !important;

    transform: translateY(-50%);

    margin: 0 !important;

}



/* Health section — WooPW fields */

body.woocommerce-account.edit-account-page .aluna-account-section--health fieldset.woocommerce-order-images,

body.woocommerce-account.edit-account-page .aluna-account-section--health fieldset.woocommerce-gp-details {

    padding: 20px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 12px !important;

    background: var(--aluna-callout-bg, #eff3ec) !important;

}



body.woocommerce-account.edit-account-page .aluna-account-section--health fieldset legend,

body.woocommerce-account.edit-account-page .aluna-account-section--health fieldset legend.strong {

    display: block;

    width: 100%;

    margin: 0 0 10px !important;

    padding: 0 !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 700 !important;

    letter-spacing: 0.04em;

    text-transform: uppercase;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-account.edit-account-page .aluna-account-section--health fieldset p {

    margin: 0 0 12px !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    line-height: 1.55 !important;

    color: var(--aluna-body, #5a6268) !important;

}



body.woocommerce-account.edit-account-page .aluna-account-section--health .woocommerce-order-images .gallery {

    margin: 0 0 16px !important;

    gap: 12px !important;

}



body.woocommerce-account.edit-account-page .aluna-account-section--health .woocommerce-order-images .gallery figure {

    margin: 0 !important;

}



body.woocommerce-account.edit-account-page .aluna-account-section--health .woocommerce-order-images .img-squared {

    width: 100%;

    max-width: 180px;

    height: auto;

    border-radius: 10px;

    border: 1px solid var(--aluna-border-soft, #c5cebd);

    object-fit: cover;

}



body.woocommerce-account.edit-account-page .aluna-account-section--health .custom-date-input input[readonly] {

    background: var(--aluna-callout-bg, #eff3ec) !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-account.edit-account-page .aluna-account-section--health .woocommerce-gp-details label,

body.woocommerce-account.edit-account-page .aluna-account-section--health .woocommerce-gp-details .mb-3 > label {

    margin-bottom: 8px !important;

}



body.woocommerce-account.edit-account-page .select2-container--default .select2-selection--single {

    min-height: 48px !important;

    height: 48px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

}



body.woocommerce-account.edit-account-page .select2-container--default .select2-selection--single .select2-selection__rendered {

    line-height: 46px !important;

    padding-left: 14px !important;

    color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

}



body.woocommerce-account.edit-account-page .select2-container--default .select2-selection--single .select2-selection__arrow {

    height: 46px !important;

    right: 10px !important;

}



/* Marketing / preference checkboxes (plugins) */

body.woocommerce-account.edit-account-page .aluna-account-section--health .woocommerce-form__label-for-checkbox,

body.woocommerce-account.edit-account-page .aluna-account-section--health label:has(input[type="checkbox"]),

body.woocommerce-account.edit-account-page form.edit-account > .woocommerce-form__label-for-checkbox,

body.woocommerce-account.edit-account-page form.edit-account > label:has(input[type="checkbox"]) {

    display: flex !important;

    align-items: flex-start;

    gap: 12px;

    width: 100% !important;

    margin: 0 0 12px !important;

    padding: 14px 16px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    font-weight: 500 !important;

    cursor: pointer;

}



body.woocommerce-account.edit-account-page .aluna-account-section--health input[type="checkbox"],

body.woocommerce-account.edit-account-page form.edit-account > input[type="checkbox"] {

    flex: 0 0 20px;

    width: 20px !important;

    min-width: 20px !important;

    height: 20px !important;

    min-height: 20px !important;

    margin: 2px 0 0 !important;

    accent-color: var(--aluna-orange, #f44706);

}



/* Save button */

body.woocommerce-account.edit-account-page .aluna-account-actions {

    display: flex;

    justify-content: flex-end;

    width: 100%;

    margin: 8px 0 0;

    padding: 0;

}



body.woocommerce-account.edit-account-page .aluna-account-save,

body.woocommerce-account.edit-account-page .aluna-account-actions .woocommerce-Button.button {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    min-width: 200px;

    min-height: 52px;

    margin: 0 !important;

    padding: 14px 32px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    text-transform: none !important;

    box-shadow: none !important;

    transition: background-color 0.2s ease, transform 0.2s ease;

}



body.woocommerce-account.edit-account-page .aluna-account-save:hover,

body.woocommerce-account.edit-account-page .aluna-account-actions .woocommerce-Button.button:hover {

    background: #d63d05 !important;

    color: #fff !important;

    transform: translateY(-1px);

}



@media (max-width: 991.98px) {

    body.woocommerce-account.edit-account-page .aluna-account-grid {

        grid-template-columns: 1fr;

    }



    body.woocommerce-account.edit-account-page .aluna-account-actions {

        justify-content: stretch;

    }



    body.woocommerce-account.edit-account-page .aluna-account-save,

    body.woocommerce-account.edit-account-page .aluna-account-actions .woocommerce-Button.button {

        width: 100%;

        min-width: 0;

    }

}



@media (max-width: 575.98px) {

    body.woocommerce-account.edit-account-page .aluna-account-section {

        padding: 18px;

    }



    body.woocommerce-account.edit-account-page .woo-myaccount-banner-section {

        padding: 28px 0 24px !important;

    }

}



/* =======================================

   MY ACCOUNT — dashboard buttons & hover

   ======================================= */



body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-card-wrapper .nav-card {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

}



body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-content-wrapper {

    flex: 1 1 auto;

    min-width: 0;

}



body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block {

    flex: 0 0 auto;

    flex-shrink: 0;

}



body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a.theme-btn,

body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a[class*="theme-btn"] {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    min-height: 44px;

    width: auto !important;

    max-width: none !important;

    padding: 12px 22px !important;

    white-space: nowrap !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    text-decoration: none !important;

    text-transform: none !important;

    box-shadow: none !important;

    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;

}



body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a.theme-btn:hover,

body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a.theme-btn:focus,

body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a.theme-btn:active,

body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a[class*="theme-btn"]:hover,

body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a[class*="theme-btn"]:focus,

body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a[class*="theme-btn"]:active {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    border: none !important;

    transform: translateY(-1px);

    text-decoration: none !important;

}



body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a.theme-btn:hover *,

body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a.theme-btn:focus *,

body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a[class*="theme-btn"]:hover *,

body.woocommerce-account.my-account-page .woocommerce-MyAccount-navigation .nav-cta-block a[class*="theme-btn"]:focus * {

    color: #fff !important;

    fill: #fff !important;

}



/* Banner — Back to dashboard / Log out (all account endpoints) */

body.woocommerce-account.my-account-page .woo-myaccount-banner-section .theme-btn-primary,

body.woocommerce-account.my-account-page .page-banner-section.woo-myaccount-banner-section .theme-btn-primary {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    margin: 6px 10px 6px 0 !important;

    padding: 11px 22px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    text-decoration: none !important;

    transition: background-color 0.2s ease, color 0.2s ease;

}



body.woocommerce-account.my-account-page .woo-myaccount-banner-section .theme-btn-primary:hover,

body.woocommerce-account.my-account-page .woo-myaccount-banner-section .theme-btn-primary:focus,

body.woocommerce-account.my-account-page .page-banner-section.woo-myaccount-banner-section .theme-btn-primary:hover,

body.woocommerce-account.my-account-page .page-banner-section.woo-myaccount-banner-section .theme-btn-primary:focus {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    border: none !important;

    text-decoration: none !important;

}



body.woocommerce-account.my-account-page .woo-myaccount-banner-section .theme-btn-primary:hover *,

body.woocommerce-account.my-account-page .woo-myaccount-banner-section .theme-btn-primary:focus * {

    color: #fff !important;

    fill: #fff !important;

}



body.woocommerce-account.my-account-page .woo-myaccount-banner-section .theme-btn-third,

body.woocommerce-account.my-account-page .page-banner-section.woo-myaccount-banner-section .theme-btn-third,

body.woocommerce-account.my-account-page .woo-myaccount-banner-section a.theme-btn-third {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    margin: 6px 10px 6px 0 !important;

    padding: 11px 20px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 999px !important;

    background: #fff !important;

    background-color: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    -webkit-text-fill-color: var(--aluna-text, #2c3338) !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    text-decoration: none !important;

    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;

}



body.woocommerce-account.my-account-page .woo-myaccount-banner-section .theme-btn-third:hover,

body.woocommerce-account.my-account-page .woo-myaccount-banner-section .theme-btn-third:focus,

body.woocommerce-account.my-account-page .page-banner-section.woo-myaccount-banner-section .theme-btn-third:hover,

body.woocommerce-account.my-account-page .page-banner-section.woo-myaccount-banner-section .theme-btn-third:focus {

    background: #fff !important;

    background-color: #fff !important;

    color: var(--aluna-orange, #f44706) !important;

    -webkit-text-fill-color: var(--aluna-orange, #f44706) !important;

    border-color: var(--aluna-orange, #f44706) !important;

    text-decoration: none !important;

}



/* Address cards — edit links */

body.woocommerce-account.my-account-page .woocommerce-Address .edit,

body.woocommerce-account.my-account-page .woocommerce-Address a.edit {

    color: var(--aluna-orange, #f44706) !important;

    font-family: var(--aluna-font) !important;

    font-weight: 600 !important;

    text-decoration: underline !important;

    text-underline-offset: 2px;

}



body.woocommerce-account.my-account-page .woocommerce-Address .edit:hover,

body.woocommerce-account.my-account-page .woocommerce-Address a.edit:hover {

    color: #d63d05 !important;

}



/* =======================================

   MY ACCOUNT — banner (title + actions)

   ======================================= */



body.woocommerce-account.my-account-page .woo-myaccount-banner-section {

    background-color: var(--aluna-hero-bg, #d9e1d5) !important;

    padding: 40px 0 36px !important;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 18px;

    width: 100%;

    margin: 0 auto;

    padding: 0;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__title {

    width: 100%;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__title:empty {

    display: none;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__heading,

body.woocommerce-account.my-account-page .aluna-myaccount-banner__title h1 {

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(30px, 4vw, 42px) !important;

    font-weight: 400 !important;

    line-height: 1.2 !important;

    color: var(--aluna-orange, #f44706) !important;

    text-transform: none !important;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: center;

    gap: 12px 16px;

    width: 100%;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-primary,

body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-third {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    margin: 0 !important;

    min-height: 44px;

    padding: 11px 22px !important;

    border-radius: 999px !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    text-decoration: none !important;

    text-transform: none !important;

    box-shadow: none !important;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-primary {

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    border: none !important;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-primary:hover,

body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-primary:focus {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-third {

    background: #fff !important;

    background-color: #fff !important;

    color: var(--aluna-text, #2c3338) !important;

    -webkit-text-fill-color: var(--aluna-text, #2c3338) !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-third:hover,

body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-third:focus {

    background: #fff !important;

    color: var(--aluna-orange, #f44706) !important;

    -webkit-text-fill-color: var(--aluna-orange, #f44706) !important;

    border-color: var(--aluna-orange, #f44706) !important;

}



body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-third .fa {

    margin-right: 4px;

}



/* Dashboard: buttons only (Log out) — same row styling as edit-account */

body.woocommerce-account.my-account-page:not(.woocommerce-view-order):not(.edit-account-page) .woocommerce-MyAccount-navigation {

    margin-top: 0;

}



/* Parent hides all WC page banners below 992px — keep My Account endpoint banner visible */

@media (max-width: 992px) {

    body.woocommerce-account.my-account-page .page-banner-section.woo-myaccount-banner-section {

        display: block !important;

    }

}



@media (max-width: 575.98px) {

    body.woocommerce-account.my-account-page .woo-myaccount-banner-section {

        padding: 28px 0 24px !important;

    }



    body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions {

        flex-direction: column;

        width: 100%;

    }



    body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-primary,

    body.woocommerce-account.my-account-page .aluna-myaccount-banner__actions .theme-btn-third {

        width: 100%;

        max-width: 320px;

    }

}



/* Re-order action — parent .button:hover keeps orange text on orange fill */

body.woocommerce-account.my-account-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button.theme-btn-outline.re-order:hover,

body.woocommerce-account.my-account-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button.theme-btn-outline.re-order:focus {

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

}



/* =======================================

   MY ACCOUNT — Patient history / medication info (Aluna)

   ======================================= */



body.woocommerce-account.patient-history-page.my-account-page {

    background-color: var(--aluna-page-bg, #e8ede4);

}



body.woocommerce-account.patient-history-page .woo-myaccount-banner-section h1 {

    margin: 0 0 16px;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(28px, 4vw, 40px) !important;

    font-weight: 400 !important;

    line-height: 1.2;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-account.patient-history-page .woocommerce-MyAccount-navigation {

    display: none !important;

}



body.woocommerce-account.patient-history-page .woocommerce-MyAccount-content {

    flex: 0 0 100% !important;

    width: 100% !important;

    max-width: 100% !important;

    float: none !important;

}



body.woocommerce-account.patient-history-page .woocommerce-account-content {

    width: 100%;

    max-width: min(1140px, 100%);

    margin: 0 auto;

    padding: 0;

}



body.woocommerce-account.patient-history-page .patient-medical-history {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 20px;

    width: 100%;

}



body.woocommerce-account.patient-history-page .history-box {

    box-sizing: border-box;

    min-height: 140px;

    padding: 24px 26px;

    border: 1px solid rgba(197, 206, 189, 0.65);

    border-radius: 16px;

    background: #e9eef3;

    box-shadow: 0 4px 20px rgba(44, 51, 56, 0.06);

}



body.woocommerce-account.patient-history-page .history-box h3 {

    margin: 0 0 14px;

    font-family: var(--aluna-font) !important;

    font-size: 17px !important;

    font-weight: 700 !important;

    line-height: 1.35;

    color: #1e3a5f;

}



body.woocommerce-account.patient-history-page .history-content {

    font-family: var(--aluna-font) !important;

    font-size: 15px;

    line-height: 1.6;

    color: var(--aluna-body, #5a6268);

}



body.woocommerce-account.patient-history-page .history-content em {

    font-style: italic;

    color: var(--aluna-muted, #7a8288);

}



body.woocommerce-account.patient-history-page .history-content p {

    margin: 0 0 8px;

}



body.woocommerce-account.patient-history-page .history-content p:last-child {

    margin-bottom: 0;

}



body.woocommerce-account.patient-history-page .history-content ul,

body.woocommerce-account.patient-history-page .history-content ol {

    margin: 0;

    padding-left: 1.2em;

}



@media (max-width: 767.98px) {

    body.woocommerce-account.patient-history-page .patient-medical-history {

        grid-template-columns: 1fr;

        gap: 16px;

    }



    body.woocommerce-account.patient-history-page .history-box {

        padding: 20px 18px;

        min-height: 0;

    }

}



/* =======================================

   MY ACCOUNT — View order (Aluna)

   ======================================= */



body.woocommerce-account.view-order-page.my-account-page,

body.woocommerce-view-order.view-order-page {

    background-color: var(--aluna-page-bg, #e8ede4);

}



body.woocommerce-view-order.view-order-page.logged-in .page-content-section {

    padding: 40px 0 72px;

    background-color: transparent !important;

}



body.woocommerce-view-order .woocommerce-MyAccount-content,

body.woocommerce-view-order .aluna-view-order {

    width: 100% !important;

    max-width: 100% !important;

    float: none !important;

}



body.woocommerce-view-order .aluna-view-order {

    display: flex;

    flex-direction: column;

    gap: 20px;

}



/* Order status intro */

body.woocommerce-view-order .aluna-view-order-intro {

    padding: 16px 20px;

    border: 1px solid var(--aluna-border-soft, #c5cebd);

    border-left: 4px solid var(--aluna-orange, #f44706);

    border-radius: 12px;

    background: #fff;

}



body.woocommerce-view-order .aluna-view-order-intro p {

    margin: 0 !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    line-height: 1.55 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-view-order .aluna-view-order-intro mark {

    padding: 0 2px;

    background: transparent;

    color: var(--aluna-text, #2c3338);

    font-weight: 700;

}



body.woocommerce-view-order .aluna-view-order-intro mark.order-status {

    color: var(--aluna-orange, #f44706);

    text-transform: capitalize;

}



/* Section cards */

body.woocommerce-view-order .aluna-view-order-card,

body.woocommerce-view-order .aluna-view-order-updates,

body.woocommerce-view-order .woocommerce-order-details.aluna-order-details-card {

    width: 100%;

    margin: 0 !important;

    padding: 24px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 16px !important;

    background: #fff !important;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.04);

    box-sizing: border-box;

}



body.woocommerce-view-order .aluna-view-order-section__title,

body.woocommerce-view-order .woocommerce-order-uploads__title {

    margin: 0 0 20px !important;

    padding: 0 0 14px !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

    font-family: "Playfair Display", serif !important;

    font-size: 22px !important;

    font-weight: 400 !important;

    line-height: 1.25;

    color: var(--aluna-text, #2c3338) !important;

}



/* Submit images form */

body.woocommerce-view-order .woocommerce-order-uploads.bg-light {

    background: #fff !important;

}



body.woocommerce-view-order .aluna-view-order-uploads__form {

    display: flex;

    flex-direction: column;

    gap: 16px;

    width: 100%;

    max-width: 100%;

}



body.woocommerce-view-order .aluna-view-order-uploads__field label {

    display: block;

    width: 100%;

    margin: 0;

    cursor: pointer;

}



body.woocommerce-view-order .aluna-view-order-uploads__label {

    display: block;

    margin: 0 0 8px !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-view-order .aluna-view-order-uploads__field input[type="file"],

body.woocommerce-view-order .aluna-view-order-uploads .form-control {

    width: 100% !important;

    max-width: 100% !important;

    min-height: 48px;

    padding: 10px 12px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    color: var(--aluna-text, #2c3338) !important;

    box-sizing: border-box;

}



body.woocommerce-view-order .aluna-view-order-submit,

body.woocommerce-view-order .aluna-view-order-uploads .image-upload.theme-btn {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    min-height: 48px;

    margin: 8px 0 0 !important;

    padding: 12px 28px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    text-transform: none !important;

    transition: background-color 0.2s ease, transform 0.2s ease;

}



body.woocommerce-view-order .aluna-view-order-submit:hover,

body.woocommerce-view-order .aluna-view-order-submit:focus,

body.woocommerce-view-order .aluna-view-order-uploads .image-upload.theme-btn:hover,

body.woocommerce-view-order .aluna-view-order-uploads .image-upload.theme-btn:focus {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    transform: translateY(-1px);

}



/* Uploaded images gallery */

body.woocommerce-view-order .aluna-view-order-gallery {

    margin: 0 !important;

    gap: 16px !important;

}



body.woocommerce-view-order .aluna-view-order-gallery__item {

    margin: 0 !important;

}



body.woocommerce-view-order .aluna-view-order-gallery .img-squared {

    width: 100%;

    max-width: 100%;

    height: auto;

    border-radius: 10px;

    border: 1px solid var(--aluna-border-soft, #c5cebd);

    object-fit: cover;

}



body.woocommerce-view-order .aluna-view-order-gallery figcaption {

    margin: 0;

    font-family: var(--aluna-font) !important;

    font-size: 13px !important;

    color: var(--aluna-body, #5a6268) !important;

}



/* Order details (shared with thank-you) */

body.woocommerce-view-order .woocommerce-order-details {

    width: 100%;

    margin: 0 !important;

}



body.woocommerce-view-order .order-detail-heading,

body.woocommerce-view-order .aluna-order-details-header {

    display: flex !important;

    flex-wrap: wrap;

    align-items: center;

    justify-content: space-between;

    gap: 12px 16px;

    width: 100%;

    margin: 0 0 20px !important;

    padding: 0 0 16px !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

}



body.woocommerce-view-order .woocommerce-order-details__title {

    margin: 0 !important;

    font-family: "Playfair Display", serif !important;

    font-size: 22px !important;

    font-weight: 400 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-view-order .order-detail-heading .theme-btn,

body.woocommerce-view-order .aluna-order-details-header .theme-btn {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    padding: 12px 22px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    text-decoration: none !important;

    text-transform: none !important;

}



body.woocommerce-view-order .order-detail-heading .theme-btn:hover,

body.woocommerce-view-order .aluna-order-details-header .theme-btn:hover {

    background: #d63d05 !important;

    color: #fff !important;

}



body.woocommerce-view-order table.woocommerce-table--order-details,

body.woocommerce-view-order table.order_details {

    width: 100% !important;

    border: none !important;

    border-collapse: collapse !important;

}



body.woocommerce-view-order table.woocommerce-table--order-details thead th {

    padding: 12px 0 !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    font-family: var(--aluna-font) !important;

    font-size: 12px !important;

    font-weight: 700 !important;

    letter-spacing: 0.04em;

    text-transform: uppercase;

    color: var(--aluna-text, #2c3338) !important;

    background: transparent !important;

}



body.woocommerce-view-order table.woocommerce-table--order-details tbody td,

body.woocommerce-view-order table.woocommerce-table--order-details tfoot th,

body.woocommerce-view-order table.woocommerce-table--order-details tfoot td {

    padding: 12px 0 !important;

    border: none !important;

    border-top: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    color: var(--aluna-text, #2c3338) !important;

    background: transparent !important;

    vertical-align: top !important;

}



body.woocommerce-view-order table.woocommerce-table--order-details .product-total,

body.woocommerce-view-order table.woocommerce-table--order-details tfoot td {

    text-align: right !important;

    font-weight: 600;

}



body.woocommerce-view-order table.woocommerce-table--order-details tfoot tr:last-child th,

body.woocommerce-view-order table.woocommerce-table--order-details tfoot tr:last-child td {

    font-size: 17px !important;

    font-weight: 700 !important;

}



body.woocommerce-view-order table.woocommerce-table--order-details tfoot small.includes_tax {

    display: block;

    margin-top: 4px;

    font-size: 12px !important;

    font-weight: 500 !important;

    color: var(--aluna-body, #5a6268) !important;

}



/* Billing / shipping — side by side (override WC floats + Bootstrap .col-1 / .col-2) */

body.woocommerce-view-order .woocommerce-customer-details,

body.view-order-page .woocommerce-customer-details {

    width: 100% !important;

    margin: 0 !important;

    clear: both !important;

}



body.woocommerce-view-order .woocommerce-customer-details::before,

body.woocommerce-view-order .woocommerce-customer-details::after,

body.woocommerce-view-order .woocommerce-columns::before,

body.woocommerce-view-order .woocommerce-columns::after,

body.woocommerce-view-order .col2-set::before,

body.woocommerce-view-order .col2-set::after,

body.view-order-page .woocommerce-customer-details::before,

body.view-order-page .woocommerce-customer-details::after,

body.view-order-page .woocommerce-columns::before,

body.view-order-page .woocommerce-columns::after,

body.view-order-page .col2-set::before,

body.view-order-page .col2-set::after {

    display: none !important;

    content: none !important;

}



body.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns,

body.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns.col2-set,

body.woocommerce-view-order .woocommerce-customer-details .col2-set.addresses,

body.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns--addresses,

body.woocommerce-view-order .woocommerce-order .woocommerce-columns.woocommerce-columns--2,

body.view-order-page .woocommerce-customer-details .woocommerce-columns,

body.view-order-page .woocommerce-customer-details .col2-set.addresses {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 20px !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    float: none !important;

    clear: both !important;

}



body.woocommerce-view-order .woocommerce-customer-details .woocommerce-column,

body.woocommerce-view-order .woocommerce-order .woocommerce-columns .woocommerce-column--1,

body.woocommerce-view-order .woocommerce-order .woocommerce-columns .woocommerce-column--2,

body.woocommerce-view-order .woocommerce-order .woocommerce-columns .woocommerce-column--1.col-1,

body.woocommerce-view-order .woocommerce-order .woocommerce-columns .woocommerce-column--2.col-2,

body.woocommerce-view-order .woocommerce-customer-details .col2-set .col-1,

body.woocommerce-view-order .woocommerce-customer-details .col2-set .col-2,

body.woocommerce-view-order .woocommerce-columns .col-1,

body.woocommerce-view-order .woocommerce-columns .col-2,

body.view-order-page .woocommerce-customer-details .woocommerce-column,

body.view-order-page .woocommerce-customer-details .col2-set .col-1,

body.view-order-page .woocommerce-customer-details .col2-set .col-2 {

    float: none !important;

    position: static !important;

    flex: none !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding: 24px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 16px !important;

    background: #fff !important;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.04);

    box-sizing: border-box;

}



body.woocommerce-view-order .woocommerce-column__title {

    margin: 0 0 14px !important;

    padding: 0 0 12px !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

    font-family: "Playfair Display", serif !important;

    font-size: 20px !important;

    font-weight: 400 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-view-order .woocommerce-customer-details address {

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    background: transparent !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    line-height: 1.65 !important;

    color: var(--aluna-body, #5a6268) !important;

    font-style: normal;

    word-break: break-word;

    overflow-wrap: break-word;

    text-transform: none !important;

}



body.woocommerce-view-order .woocommerce-customer-details address * {

    text-transform: none !important;

}



body.woocommerce-view-order .woocommerce-customer-details address strong {

    display: block;

    margin-bottom: 6px;

    color: var(--aluna-text, #2c3338);

    font-weight: 600;

}



/* Order updates list */

body.woocommerce-view-order .aluna-view-order-updates .woocommerce-OrderUpdates {

    margin: 0;

    padding: 0;

    list-style: none;

}



body.woocommerce-view-order .aluna-view-order-updates .woocommerce-OrderUpdate {

    margin: 0 0 12px;

    padding: 14px 16px;

    border: 1px solid var(--aluna-border-soft, #c5cebd);

    border-radius: 10px;

    background: var(--aluna-callout-bg, #eff3ec);

}



@media (max-width: 991.98px) {

    body.woocommerce-view-order .woocommerce-customer-details .woocommerce-columns,

    body.woocommerce-view-order .woocommerce-customer-details .col2-set.addresses,

    body.woocommerce-view-order .woocommerce-order .woocommerce-columns.woocommerce-columns--2,

    body.view-order-page .woocommerce-customer-details .woocommerce-columns,

    body.view-order-page .woocommerce-customer-details .col2-set.addresses {

        grid-template-columns: 1fr !important;

    }



    body.woocommerce-view-order .order-detail-heading,

    body.woocommerce-view-order .aluna-order-details-header {

        flex-direction: column;

        align-items: flex-start;

    }



    body.woocommerce-view-order .order-detail-heading .theme-btn,

    body.woocommerce-view-order .aluna-order-details-header .theme-btn {

        width: 100%;

    }

}



@media (max-width: 575.98px) {

    body.woocommerce-view-order .aluna-view-order-card,

    body.woocommerce-view-order .woocommerce-order-details.aluna-order-details-card {

        padding: 18px !important;

    }



    body.woocommerce-view-order .woocommerce-customer-details .woocommerce-column,

    body.woocommerce-view-order .woocommerce-order .woocommerce-columns .woocommerce-column--1,

    body.woocommerce-view-order .woocommerce-order .woocommerce-columns .woocommerce-column--2 {

        padding: 18px !important;

    }

}



/* =======================================

   MY ACCOUNT — Login / Register (logged out)

   ======================================= */



body.woocommerce-account.my-account-login-page.logged-out .page-content-section {

    padding: 48px 0 72px;

    background-color: transparent !important;

}



body.woocommerce-account.my-account-login-page .my-account-form-wrapper {

    width: 100%;

    max-width: 560px;

    margin: 0 auto;

}



body.woocommerce-account.my-account-login-page .my-account-form-wrapper .main-heading {

    margin: 0 0 24px !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(28px, 4vw, 36px) !important;

    font-weight: 400 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-account.my-account-login-page .login-wrapper {

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 16px !important;

    background: #fff !important;

    padding: 32px !important;

    box-shadow: 0 4px 24px rgba(44, 51, 56, 0.04);

}



body.woocommerce-account.my-account-login-page .login-wrapper .woop-notice.card,

body.woocommerce-account.my-account-login-page .login-wrapper .woop-notice {

    margin-bottom: 20px !important;

    padding: 14px 16px !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-left: 4px solid var(--aluna-orange, #f44706) !important;

    border-radius: 10px !important;

    background: var(--aluna-callout-bg, #eff3ec) !important;

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    line-height: 1.55 !important;

    color: var(--aluna-text, #2c3338) !important;

}



/* Login / Register tabs */

body.woocommerce-account.my-account-login-page .login-wrapper .switch-wrapper {

    margin-bottom: 24px;

}



body.woocommerce-account.my-account-login-page .login-wrapper .switch-wrapper ul {

    display: flex !important;

    align-items: stretch;

    gap: 8px;

    margin: 0 !important;

    padding: 6px !important;

    list-style: none !important;

    border: 1px solid var(--aluna-border-soft, #c5cebd) !important;

    border-radius: 999px !important;

    background: var(--aluna-callout-bg, #eff3ec) !important;

}



body.woocommerce-account.my-account-login-page .login-wrapper .switch-wrapper li.switch {

    flex: 1 1 50%;

    margin: 0 !important;

    padding: 12px 20px !important;

    border: none !important;

    border-radius: 999px !important;

    background: transparent !important;

    background-image: none !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    line-height: 1.2;

    color: var(--aluna-text, #2c3338) !important;

    text-align: center;

    cursor: pointer;

    transition: background-color 0.2s ease, color 0.2s ease;

}



body.woocommerce-account.my-account-login-page .login-wrapper .switch-wrapper li.switch:not(.active):hover {

    color: var(--aluna-orange, #f44706) !important;

}



body.woocommerce-account.my-account-login-page .login-wrapper .switch-wrapper li.switch.active {

    background: var(--aluna-orange, #f44706) !important;

    background-image: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    box-shadow: 0 2px 8px rgba(244, 71, 6, 0.25);

}



body.woocommerce-account.my-account-login-page .my-account-form-wrapper #woo-login h2,

body.woocommerce-account.my-account-login-page .my-account-form-wrapper #woo-register h2 {

    margin: 0 0 20px !important;

    font-family: "Playfair Display", serif !important;

    font-size: 24px !important;

    font-weight: 400 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-account.my-account-login-page .login-wrapper form.login label,

body.woocommerce-account.my-account-login-page .login-wrapper form.register label {

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    color: var(--aluna-text, #2c3338) !important;

}



body.woocommerce-account.my-account-login-page .login-wrapper form.login .input-text,

body.woocommerce-account.my-account-login-page .login-wrapper form.register .input-text,

body.woocommerce-account.my-account-login-page .login-wrapper form.login input[type="text"],

body.woocommerce-account.my-account-login-page .login-wrapper form.login input[type="email"],

body.woocommerce-account.my-account-login-page .login-wrapper form.login input[type="password"],

body.woocommerce-account.my-account-login-page .login-wrapper form.register input[type="text"],

body.woocommerce-account.my-account-login-page .login-wrapper form.register input[type="email"],

body.woocommerce-account.my-account-login-page .login-wrapper form.register input[type="password"] {

    width: 100% !important;

    min-height: 48px;

    padding: 10px 14px !important;

    border: 1px solid var(--aluna-border, #d4dad0) !important;

    border-radius: 10px !important;

    background: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    color: var(--aluna-text, #2c3338) !important;

    box-sizing: border-box;

}



body.woocommerce-account.my-account-login-page .login-wrapper form.login .input-text:focus,

body.woocommerce-account.my-account-login-page .login-wrapper form.register .input-text:focus,

body.woocommerce-account.my-account-login-page .login-wrapper form.login input:focus,

body.woocommerce-account.my-account-login-page .login-wrapper form.register input:focus {

    border-color: var(--aluna-orange, #f44706) !important;

    outline: none;

    box-shadow: 0 0 0 2px rgba(244, 71, 6, 0.15);

}



body.woocommerce-account.my-account-login-page .login-wrapper .woocommerce-form-login__submit,

body.woocommerce-account.my-account-login-page .login-wrapper .woocommerce-form-register__submit,

body.woocommerce-account.my-account-login-page .login-wrapper form .woocommerce-button.button {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    width: 100% !important;

    min-height: 48px;

    margin-top: 8px !important;

    padding: 12px 28px !important;

    border: none !important;

    border-radius: 999px !important;

    background: var(--aluna-orange, #f44706) !important;

    background-color: var(--aluna-orange, #f44706) !important;

    background-image: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font) !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    text-transform: none !important;

    transition: background-color 0.2s ease, transform 0.2s ease;

}



body.woocommerce-account.my-account-login-page .login-wrapper .woocommerce-form-login__submit:hover,

body.woocommerce-account.my-account-login-page .login-wrapper .woocommerce-form-register__submit:hover,

body.woocommerce-account.my-account-login-page .login-wrapper form .woocommerce-button.button:hover,

body.woocommerce-account.my-account-login-page .login-wrapper form .woocommerce-button.button:focus {

    background: #d63d05 !important;

    background-color: #d63d05 !important;

    color: #fff !important;

    transform: translateY(-1px);

}



body.woocommerce-account.my-account-login-page .login-wrapper .woocommerce-LostPassword {

    display: flex !important;

    flex-wrap: wrap;

    gap: 8px 16px;

    justify-content: space-between;

    margin-top: 16px !important;

    padding-top: 16px !important;

    border-top: 1px solid var(--aluna-border-soft, #c5cebd) !important;

}



body.woocommerce-account.my-account-login-page .login-wrapper .woocommerce-LostPassword a {

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    font-weight: 500 !important;

    color: var(--aluna-orange, #f44706) !important;

    text-decoration: underline;

    text-underline-offset: 2px;

}



body.woocommerce-account.my-account-login-page .login-wrapper .woocommerce-LostPassword a:hover {

    color: #d63d05 !important;

}



body.woocommerce-account.my-account-login-page .login-wrapper .woocommerce-form__label-for-checkbox span {

    font-family: var(--aluna-font) !important;

    font-size: 14px !important;

    color: var(--aluna-body, #5a6268) !important;

}



/* Consultation modal (view order / thank you) */

body.aluna-consultation-modal-open {

    overflow: hidden;

}



.aluna-consultation-modal-backdrop {

    position: fixed;

    inset: 0;

    z-index: 1055;

    background: rgba(44, 51, 56, 0.55);

}



#consultation-patient-modal.aluna-consultation-modal {

    z-index: 1060 !important;

    padding: 0 16px;

}



#consultation-patient-modal.aluna-consultation-modal.show,

#consultation-patient-modal.aluna-consultation-modal.aluna-consultation-modal--open {

    display: block !important;

    overflow-x: hidden;

    overflow-y: auto;

}



#consultation-patient-modal .modal-dialog {

    margin: 1.75rem auto;

    max-width: 720px;

    pointer-events: none;

}



#consultation-patient-modal.show .modal-dialog,

#consultation-patient-modal.aluna-consultation-modal--open .modal-dialog {

    pointer-events: auto;

}



#consultation-patient-modal .modal-content {

    border: 1px solid var(--aluna-border-soft, #c5cebd);

    border-radius: 16px;

    overflow: hidden;

    box-shadow: 0 12px 40px rgba(44, 51, 56, 0.18);

}



#consultation-patient-modal .aluna-consultation-modal__header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 16px;

    padding: 20px 24px;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

    background: #fff;

}



#consultation-patient-modal .aluna-consultation-modal__title {

    margin: 0 !important;

    font-family: "Playfair Display", serif !important;

    font-size: 22px !important;

    font-weight: 400 !important;

    color: var(--aluna-text, #2c3338) !important;

}



#consultation-patient-modal .btn-close,

#consultation-patient-modal .aluna-consultation-modal-close {

    flex-shrink: 0;

    width: 40px;

    height: 40px;

    margin: 0;

    padding: 0;

    border: 1px solid var(--aluna-border, #d4dad0);

    border-radius: 50%;

    background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232c3338'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/14px no-repeat;

    opacity: 1;

    cursor: pointer;

}



#consultation-patient-modal .btn-close:hover,

#consultation-patient-modal .aluna-consultation-modal-close:hover {

    border-color: var(--aluna-orange, #f44706);

    background-color: var(--aluna-callout-bg, #eff3ec);

}



#consultation-patient-modal .aluna-consultation-modal__body {

    max-height: min(70vh, 640px);

    padding: 20px 24px 24px;

    overflow-y: auto;

    background: #fff;

}



#consultation-patient-modal .consultation-content .prescription-patient-data .patient-row .q-label,

body.woocommerce-view-order #consultation-patient-modal .prescription-patient-data .patient-row .q-label,

body.woocommerce-order-received #consultation-patient-modal .consultation-content .prescription-patient-data .patient-row .q-label {

    width: auto !important;

    max-width: 100%;

}



#consultation-patient-modal .prescription-patient-data .patient-row .user-sub-detail,

body.woocommerce-view-order #consultation-patient-modal .prescription-patient-data .patient-row .user-sub-detail * {

    text-align: left !important;

}



#consultation-patient-modal h4 {

    margin: 0 0 12px !important;

    padding: 0 0 12px !important;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

    font-family: "Playfair Display", serif !important;

    font-size: 20px !important;

    font-weight: 400 !important;

    color: var(--aluna-text, #2c3338) !important;

}



#consultation-patient-modal .prescription-patient-data .patient-row {

    padding: 12px 14px;

    border-radius: 8px;

}



#consultation-patient-modal .prescription-patient-data .patient-row:nth-child(even) {

    background: var(--aluna-callout-bg, #eff3ec);

}



.modal-backdrop.show {

    z-index: 1055 !important;

}



/* Prescriber — Review & Sign modals (practitioner-orders) */

body.practitioner-orders-page.modal-open,

body.woocommerce-practitioner-orders.modal-open {

    overflow: hidden;

}



.pm-prescription-review .pm-consultation-accordion .accordion-collapse:not(.show) {

    display: none;

}



.pm-prescription-review .pm-consultation-accordion .accordion-collapse.show {

    display: block;

}



#practitioner-order-modal,

#practitioner-order-prescription-modal,

#prescription-extra-content-modal {

    z-index: 1060 !important;

}



#practitioner-order-modal.show,

#practitioner-order-prescription-modal.show,

#prescription-extra-content-modal.show {

    display: block !important;

    overflow-x: hidden;

    overflow-y: auto;

}



#practitioner-order-modal .modal-dialog,

#practitioner-order-prescription-modal .modal-dialog,

#prescription-extra-content-modal .modal-dialog {

    margin: 1.75rem auto;

    max-width: calc(100vw - 32px);

    pointer-events: none;

}



#practitioner-order-modal.show .modal-dialog,

#practitioner-order-prescription-modal.show .modal-dialog,

#prescription-extra-content-modal.show .modal-dialog {

    pointer-events: auto;

}



#practitioner-order-modal.view-prescriptions .modal-dialog,

#practitioner-order-modal.show.view-prescriptions .modal-dialog {

    max-width: min(1250px, calc(100vw - 32px));

}



#practitioner-order-modal .modal-content,

#practitioner-order-prescription-modal .modal-content,

#prescription-extra-content-modal .modal-content {

    border-radius: 16px;

    overflow: hidden;

    box-shadow: 0 12px 40px rgba(44, 51, 56, 0.2);

}



#practitioner-order-modal .modal-header,

#practitioner-order-prescription-modal .modal-header,

#prescription-extra-content-modal .modal-header {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    padding: 12px 16px;

    border-bottom: 1px solid var(--aluna-border-soft, #c5cebd);

    background: #fff;

}



#practitioner-order-modal .modal-header .close,

#practitioner-order-prescription-modal .modal-header .close,

#prescription-extra-content-modal .modal-header .close {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 40px;

    height: 40px;

    margin: 0;

    padding: 0;

    border: 1px solid var(--aluna-border, #d4dad0);

    border-radius: 50%;

    background: #fff;

    font-size: 24px;

    line-height: 1;

    color: var(--aluna-text, #2c3338);

    opacity: 1;

    cursor: pointer;

    float: none;

}



#practitioner-order-modal .modal-header .close:hover,

#practitioner-order-prescription-modal .modal-header .close:hover,

#prescription-extra-content-modal .modal-header .close:hover {

    border-color: var(--aluna-orange, #f44706);

    color: var(--aluna-orange, #f44706);

}



#practitioner-order-modal .modal-body,

#practitioner-order-prescription-modal .modal-body,

#prescription-extra-content-modal .modal-body {

    max-height: min(78vh, 900px);

    overflow-y: auto;

    padding: 20px 24px 24px;

    background: #fff;

}



#practitioner-order-modal.modal.blur,

#practitioner-order-prescription-modal.modal.blur {

    filter: none;

}



#practitioner-order-modal.modal.blur.show {

    opacity: 0.35;

    pointer-events: none;

}



/* Prescription modal — centered compact (PIN) and medium (electronic Rx) layouts */

#practitioner-order-prescription-modal.aluna-prescription-modal-compact.show,

#practitioner-order-prescription-modal.aluna-prescription-modal-electronic.show,

#practitioner-order-prescription-modal:has(.prescriber-verification-wrapper).show,

#practitioner-order-prescription-modal:has(.template-wrapper.decline-pres-popup).show,

#practitioner-order-prescription-modal:has(.practitioner-prescription-wrapper).show {

    display: flex !important;

    align-items: center;

    justify-content: center;

    padding: 24px 16px;

}



#practitioner-order-prescription-modal.aluna-prescription-modal-compact .modal-dialog,

#practitioner-order-prescription-modal:has(.prescriber-verification-wrapper) .modal-dialog,

#practitioner-order-prescription-modal:has(.template-wrapper.decline-pres-popup) .modal-dialog {

    width: min(520px, calc(100vw - 32px)) !important;

    max-width: min(520px, calc(100vw - 32px)) !important;

    margin: 0 auto !important;

    pointer-events: auto;

}



#practitioner-order-prescription-modal.aluna-prescription-modal-electronic .modal-dialog,

#practitioner-order-prescription-modal:has(.practitioner-prescription-wrapper) .modal-dialog {

    width: min(920px, calc(100vw - 48px)) !important;

    max-width: min(920px, calc(100vw - 48px)) !important;

    margin: 0 auto !important;

    pointer-events: auto;

}



#practitioner-order-prescription-modal.aluna-prescription-modal-compact .modal-dialog.modal-dialog-centered,

#practitioner-order-prescription-modal.aluna-prescription-modal-electronic .modal-dialog.modal-dialog-centered,

#practitioner-order-prescription-modal:has(.prescriber-verification-wrapper) .modal-dialog.modal-dialog-centered,

#practitioner-order-prescription-modal:has(.template-wrapper.decline-pres-popup) .modal-dialog.modal-dialog-centered,

#practitioner-order-prescription-modal:has(.practitioner-prescription-wrapper) .modal-dialog.modal-dialog-centered {

    min-height: auto;

    display: block;

}



#practitioner-order-prescription-modal.aluna-prescription-modal-compact .modal-body,

#practitioner-order-prescription-modal:has(.prescriber-verification-wrapper) .modal-body,

#practitioner-order-prescription-modal:has(.template-wrapper.decline-pres-popup) .modal-body {

    padding: 24px 28px 28px;

}



#practitioner-order-prescription-modal.aluna-prescription-modal-electronic .modal-body,

#practitioner-order-prescription-modal:has(.practitioner-prescription-wrapper) .modal-body {

    max-height: min(82vh, 860px);

    padding: 20px 28px 28px;

}



#practitioner-order-prescription-modal .practitioner-prescription-wrapper .presc-header-row .header-col-right h2 {

    font-size: clamp(20px, 2.2vw, 26px);

    line-height: 1.2;

}



#practitioner-order-prescription-modal .practitioner-prescription-wrapper .site-logo img {

    max-width: 140px;

    width: auto;

    height: auto;

}



#practitioner-order-prescription-modal .practitioner-prescription-wrapper .presc-header-row .presc-row {

    height: auto;

    min-height: 64px;

    padding-bottom: 16px;

}



#practitioner-order-prescription-modal .practitioner-prescription-wrapper .user-detail p {

    font-size: 15px;

    line-height: 1.45;

}



#practitioner-order-prescription-modal .prescriber-verification-wrapper,

#practitioner-order-prescription-modal .prescriber-verification-form,

#practitioner-order-prescription-modal .prescriber-verification-form .form-input {

    width: 100%;

    max-width: 100%;

}



#practitioner-order-prescription-modal .template-wrapper h2,

#practitioner-order-prescription-modal .template-wrapper h4 {

    font-family: var(--aluna-serif, 'Playfair Display', serif);

    font-weight: 500;

    color: #f44706;

    margin: 0 0 12px;

}



#practitioner-order-prescription-modal .template-wrapper h2 {

    font-size: clamp(22px, 2.5vw, 28px);

}



#practitioner-order-prescription-modal .template-wrapper h4 {

    font-size: clamp(18px, 2vw, 22px);

    color: #111827;

}



#practitioner-order-prescription-modal .prescriber-verification-form h5 {

    font-family: var(--aluna-font, 'DM Sans', sans-serif);

    font-size: 16px;

    font-weight: 600;

    color: #111827;

    margin: 0 0 6px;

}



#practitioner-order-prescription-modal .prescriber-verification-form small {

    display: block;

    font-size: 14px;

    line-height: 1.5;

    color: #6b7280;

    margin-bottom: 0;

}



#practitioner-order-prescription-modal .verify-wrapper,

#practitioner-order-prescription-modal .code-form-wrapper {

    display: block !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 16px 0 0;

}



#practitioner-order-prescription-modal .pin-input {

    display: block;

    width: 100% !important;

    max-width: 280px;

    min-height: 52px;

    padding: 12px 16px;

    border: 1px solid #d1d5db;

    border-radius: 8px;

    font-size: 22px;

    letter-spacing: 0.35em;

    text-align: center;

    box-sizing: border-box;

}



#practitioner-order-prescription-modal .modal-action-wrapper {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    align-items: center;

}



#practitioner-order-prescription-modal .modal-action-wrapper .verify-me,

#practitioner-order-prescription-modal .template-wrapper.decline-pres-popup .prescription-status-action {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    min-height: 44px;

    padding: 12px 28px !important;

    border-radius: 999px !important;

    background: #f44706 !important;

    background-color: #f44706 !important;

    color: #fff !important;

    border: none !important;

    font-weight: 600;

}



#practitioner-order-prescription-modal .modal-action-wrapper .verify-me:hover,

#practitioner-order-prescription-modal .modal-action-wrapper .verify-me:focus,

#practitioner-order-prescription-modal .template-wrapper.decline-pres-popup .prescription-status-action:hover,

#practitioner-order-prescription-modal .template-wrapper.decline-pres-popup .prescription-status-action:focus {

    background: #fff !important;

    background-color: #fff !important;

    color: #f44706 !important;

    border: 2px solid #f44706 !important;

}



#practitioner-order-prescription-modal .modal-action-wrapper .dismiss-modal,

#practitioner-order-prescription-modal .template-wrapper.decline-pres-popup .dismiss-modal {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    min-height: 44px;

    padding: 12px 20px !important;

    border-radius: 999px !important;

    background: transparent !important;

    color: #6b7280 !important;

    border: none !important;

    font-weight: 600;

}



#practitioner-order-prescription-modal .modal-action-wrapper .dismiss-modal:hover,

#practitioner-order-prescription-modal .template-wrapper.decline-pres-popup .dismiss-modal:hover {

    color: #f44706 !important;

}



@media (max-width: 575.98px) {

    #practitioner-order-modal .modal-dialog,

    #practitioner-order-prescription-modal .modal-dialog,

    #prescription-extra-content-modal .modal-dialog {

        margin: 0.75rem auto;

    }



    #practitioner-order-modal .modal-body,

    #practitioner-order-prescription-modal .modal-body,

    #prescription-extra-content-modal .modal-body {

        padding: 16px;

    }



    #practitioner-order-prescription-modal.aluna-prescription-modal-compact .modal-dialog,

    #practitioner-order-prescription-modal:has(.prescriber-verification-wrapper) .modal-dialog,

    #practitioner-order-prescription-modal:has(.template-wrapper.decline-pres-popup) .modal-dialog,

    #practitioner-order-prescription-modal.aluna-prescription-modal-electronic .modal-dialog,

    #practitioner-order-prescription-modal:has(.practitioner-prescription-wrapper) .modal-dialog {

        width: calc(100vw - 32px) !important;

        max-width: calc(100vw - 32px) !important;

    }



    #practitioner-order-prescription-modal .practitioner-prescription-wrapper .user-detail.first,

    #practitioner-order-prescription-modal .practitioner-prescription-wrapper .user-detail.last {

        float: none;

        width: 100%;

        max-width: 100%;

    }



    #practitioner-order-prescription-modal .pin-input {

        max-width: 100%;

    }



    #practitioner-order-prescription-modal .modal-action-wrapper .verify-me,

    #practitioner-order-prescription-modal .modal-action-wrapper .dismiss-modal,

    #practitioner-order-prescription-modal .template-wrapper.decline-pres-popup .prescription-status-action,

    #practitioner-order-prescription-modal .template-wrapper.decline-pres-popup .dismiss-modal {

        width: 100%;

        justify-content: center;

    }

}



@media (max-width: 575.98px) {

    #consultation-patient-modal.aluna-consultation-modal {

        padding: 0 12px;

    }



    #consultation-patient-modal .modal-dialog {

        margin: 1rem auto;

    }



    #consultation-patient-modal .aluna-consultation-modal__header,

    #consultation-patient-modal .aluna-consultation-modal__body {

        padding-left: 16px;

        padding-right: 16px;

    }

}



@media (max-width: 575.98px) {

    body.woocommerce-account.my-account-login-page .login-wrapper {

        padding: 24px 20px !important;

    }



    body.woocommerce-account.my-account-login-page .login-wrapper .switch-wrapper li.switch {

        padding: 11px 14px !important;

        font-size: 14px !important;

    }



    body.woocommerce-account.my-account-login-page .login-wrapper .woocommerce-LostPassword {

        flex-direction: column;

        align-items: flex-start;

    }

}



/* =======================================

   Prescriber — Change / draw signature (WooPW)

   ======================================= */



body.update-prescriber-signature .page-wrapper,

body.woocommerce-account:has(.woo-prescriber-signature-wrapper) .page-wrapper {

    overflow: visible !important;

}



.woo-prescriber-signature-wrapper > .row > .col-lg-12 > h2 {

    font-family: var(--aluna-serif, 'Playfair Display', serif) !important;

    font-size: clamp(28px, 3vw, 36px);

    font-weight: 500;

    color: #f44706 !important;

    margin-bottom: 12px;

}



.woo-prescriber-signature-wrapper > .row > .col-lg-12 > p {

    font-family: var(--aluna-font, 'DM Sans', sans-serif);

    font-size: 15px;

    line-height: 1.55;

    color: #4b5563;

}



.woo-prescriber-signature-wrapper .signature-modal.theme-btn {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    min-height: 44px;

    padding: 12px 28px !important;

    border: none !important;

    border-radius: 999px !important;

    background: #f44706 !important;

    background-color: #f44706 !important;

    color: #fff !important;

    font-family: var(--aluna-font, 'DM Sans', sans-serif) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    text-decoration: none !important;

    text-transform: none !important;

}



.woo-prescriber-signature-wrapper .signature-modal.theme-btn:hover,

.woo-prescriber-signature-wrapper .signature-modal.theme-btn:focus {

    background: #b84f1f !important;

    background-color: #b84f1f !important;

    color: #fff !important;

}



.prescriber-pin-gen-wrapper.make-popup:not(.d-none),

.prescriber-sign-gen-wrapper.make-popup:not(.d-none) {

    position: fixed !important;

    inset: 0;

    z-index: 100050;

    display: flex !important;

    align-items: center;

    justify-content: center;

    padding: 24px;

    box-sizing: border-box;

    height: auto !important;

    width: auto !important;

}



/* WooPW queues signature as step-2 while PIN is step-1 — keep hidden until PIN is saved */

.prescriber-pin-gen-wrapper.make-popup.d-none,

.prescriber-sign-gen-wrapper.make-popup.d-none,

.prescriber-sign-gen-wrapper.make-popup.step-2.d-none {

    display: none !important;

    visibility: hidden !important;

    pointer-events: none !important;

}



.prescriber-pin-gen-wrapper.make-popup::before,

.prescriber-sign-gen-wrapper.make-popup::before {

    position: fixed;

    inset: 0;

    z-index: 100049;

}



.prescriber-pin-gen-wrapper .prescriber-pin-gen-container.popup-content-wrapper {

    position: relative !important;

    top: auto !important;

    bottom: auto !important;

    left: auto !important;

    right: auto !important;

    width: min(520px, 100%) !important;

    height: auto !important;

    min-height: 0 !important;

    max-height: calc(100vh - 48px) !important;

    overflow: visible !important;

    margin: 0 !important;

    padding: 28px 32px 24px !important;

    z-index: 100051;

    border-radius: 12px;

    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.18);

}



.prescriber-sign-gen-wrapper .prescriber-sign-gen-container.popup-content-wrapper {

    position: relative !important;

    top: auto !important;

    bottom: auto !important;

    left: auto !important;

    right: auto !important;

    width: min(720px, 100%) !important;

    height: auto !important;

    min-height: 0 !important;

    max-height: calc(100vh - 48px) !important;

    overflow: visible !important;

    margin: 0 !important;

    padding: 28px 32px 24px !important;

    z-index: 100051;

    border-radius: 12px;

    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.18);

}



.prescriber-sign-gen-wrapper h2 {

    font-family: var(--aluna-serif, 'Playfair Display', serif) !important;

    font-size: 28px;

    font-weight: 500;

    color: #f44706 !important;

    margin: 0 0 8px;

}



.prescriber-sign-gen-wrapper .prescriber-sign-gen-container > p {

    font-family: var(--aluna-font, 'DM Sans', sans-serif);

    font-size: 14px;

    line-height: 1.55;

    color: #4b5563;

    margin: 0 0 20px;

}



.prescriber-sign-gen-wrapper #presc-jsignature {

    display: block;

    width: 100%;

    margin: 0 0 24px;

}



.prescriber-sign-gen-wrapper .form-input-wrapper {

    display: flex !important;

    flex-wrap: wrap;

    align-items: center;

    gap: 12px 20px;

    margin: 0 !important;

    visibility: visible !important;

    opacity: 1 !important;

}



.prescriber-sign-gen-wrapper .form-input-wrapper .btn,

.prescriber-sign-gen-wrapper .form-input-wrapper .theme-btn,

.prescriber-sign-gen-wrapper .form-input-wrapper a.btn {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    width: auto !important;

    min-height: 44px;

    margin: 0 !important;

    padding: 12px 28px !important;

    border-radius: 999px !important;

    font-family: var(--aluna-font, 'DM Sans', sans-serif) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    text-transform: capitalize !important;

    box-shadow: none !important;

    border: none !important;

}



.prescriber-sign-gen-wrapper .form-input-wrapper .save-sign,

.prescriber-sign-gen-wrapper .form-input-wrapper .processing,

.prescriber-sign-gen-wrapper .form-input-wrapper a.theme-btn[href*='logout'],

.prescriber-sign-gen-wrapper .form-input-wrapper .theme-btn:not(.clear-sign):not(.theme-btn-s4) {

    background: #f44706 !important;

    background-color: #f44706 !important;

    background-image: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

}



.prescriber-sign-gen-wrapper .form-input-wrapper .save-sign:hover,

.prescriber-sign-gen-wrapper .form-input-wrapper .save-sign:focus,

.prescriber-sign-gen-wrapper .form-input-wrapper .processing:hover,

.prescriber-sign-gen-wrapper .form-input-wrapper .processing:focus,

.prescriber-sign-gen-wrapper .form-input-wrapper a.theme-btn[href*='logout']:hover,

.prescriber-sign-gen-wrapper .form-input-wrapper a.theme-btn[href*='logout']:focus,

.prescriber-sign-gen-wrapper .form-input-wrapper .theme-btn:not(.clear-sign):not(.theme-btn-s4):hover,

.prescriber-sign-gen-wrapper .form-input-wrapper .theme-btn:not(.clear-sign):not(.theme-btn-s4):focus {

    background: #b84f1f !important;

    background-color: #b84f1f !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

}



.prescriber-sign-gen-wrapper .form-input-wrapper .clear-sign,

.prescriber-sign-gen-wrapper .form-input-wrapper .theme-btn-s4.clear-sign {

    background: transparent !important;

    background-color: transparent !important;

    color: #6b7280 !important;

    padding: 12px 16px !important;

}



.prescriber-sign-gen-wrapper .form-input-wrapper .clear-sign:hover,

.prescriber-sign-gen-wrapper .form-input-wrapper .clear-sign:focus,

.prescriber-sign-gen-wrapper .form-input-wrapper .theme-btn-s4.clear-sign:hover,

.prescriber-sign-gen-wrapper .form-input-wrapper .theme-btn-s4.clear-sign:focus {

    background: transparent !important;

    background-color: transparent !important;

    color: #f44706 !important;

}



.prescriber-sign-gen-wrapper .close-popup {

    margin-bottom: 4px;

}



.prescriber-sign-gen-wrapper .close-me {

    color: #374151;

    line-height: 1;

}



@media (max-width: 575.98px) {

    .prescriber-sign-gen-wrapper .prescriber-sign-gen-container.popup-content-wrapper {

        padding: 20px 16px 16px !important;

    }



    .prescriber-sign-gen-wrapper .form-input-wrapper {

        flex-direction: column;

        align-items: stretch;

    }



    .prescriber-sign-gen-wrapper .form-input-wrapper .btn,

    .prescriber-sign-gen-wrapper .form-input-wrapper .theme-btn,

    .prescriber-sign-gen-wrapper .form-input-wrapper a.btn {

        width: 100% !important;

        justify-content: center;

    }

}



/* =======================================

   WP 2FA setup — Aluna styling + modal stack

   ======================================= */



body.aluna-wp2fa-page .page-wrapper,

body.aluna-wp2fa-modal-open .page-wrapper,

body:has(.wp-2fa-configuration-form) .page-wrapper {

    overflow: visible !important;

}



body.aluna-wp2fa-page .page-content-section,

body:has(.wp-2fa-configuration-form) .page-content-section {

    overflow: visible !important;

}



body.aluna-wp2fa-modal-open .prescriber-pin-gen-wrapper.make-popup,

body.aluna-wp2fa-modal-open .prescriber-sign-gen-wrapper.make-popup,

body:has(.wp2fa-modal[aria-hidden="false"]) .prescriber-pin-gen-wrapper.make-popup,

body:has(.wp2fa-modal[aria-hidden="false"]) .prescriber-sign-gen-wrapper.make-popup {

    display: none !important;

    visibility: hidden !important;

    pointer-events: none !important;

}



.wp2fa-modal[aria-hidden="false"] .modal__overlay {

    position: fixed !important;

    inset: 0 !important;

    z-index: 100060 !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    padding: 24px !important;

    box-sizing: border-box !important;

}



.wp2fa-modal[aria-hidden="false"] .modal__container {

    position: relative !important;

    z-index: 100061 !important;

    width: min(560px, 100%) !important;

    max-width: min(560px, 100%) !important;

    margin: 0 !important;

    padding: 28px 32px 24px !important;

    border-radius: 12px !important;

    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.18) !important;

    font-family: var(--aluna-font, 'DM Sans', sans-serif);

}



body.aluna-wp2fa-page .page-content,

body:has(.wp-2fa-configuration-form) .page-content {

    font-family: var(--aluna-font, 'DM Sans', sans-serif);

    color: #374151;

    line-height: 1.55;

}



.wp-2fa-configuration-form,

.wp2fa-modal .modal__content {

    font-family: var(--aluna-font, 'DM Sans', sans-serif);

    color: #374151;

}



.wp-2fa-configuration-form h2,

.wp-2fa-configuration-form h3,

.wp-2fa-configuration-form .wp-2fa-user-profile-form-preamble-title,

.wp2fa-modal .modal__title {

    font-family: var(--aluna-serif, 'Playfair Display', serif) !important;

    font-weight: 500 !important;

    color: #f44706 !important;

    margin: 0 0 12px !important;

}



.wp-2fa-configuration-form p,

.wp2fa-modal .modal__content p {

    font-size: 14px;

    line-height: 1.55;

    color: #4b5563;

    margin-bottom: 12px;

}



.wp-2fa-configuration-form .form-table,

.wp-2fa-configuration-form table {

    width: 100%;

    border: 0;

    margin: 0 0 16px;

}



.wp-2fa-configuration-form .form-table td,

.wp-2fa-configuration-form .form-table th {

    display: block;

    width: 100%;

    padding: 0 0 8px;

    border: 0;

    font-size: 14px;

    color: #4b5563;

}



.wp-2fa-configuration-form .wp2fa-setup-actions {

    margin-top: 16px !important;

}



/* Option cards (method + email selection) */

.wp2fa-modal.enable_styling .radio-cells,

.wp-2fa-configuration-form .radio-cells,

.wp2fa-modal .radio-cells {

    display: grid !important;

    gap: 12px !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    width: 100% !important;

    margin: 16px 0 20px !important;

    position: static !important;

    left: auto !important;

    flex-wrap: unset !important;

}



.wp2fa-modal .radio-cells[data-option-count="1"] {

    grid-template-columns: minmax(0, 1fr) !important;

}



.wp2fa-modal .radio-cells[data-option-count="3"] {

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

}



.wp2fa-modal.enable_styling .radio-cells .option-pill,

.wp-2fa-configuration-form .radio-cells .option-pill,

.wp2fa-modal .radio-cells .option-pill {

    order: unset !important;

    flex: unset !important;

    flex-basis: auto !important;

    flex-grow: unset !important;

    margin: 0 !important;

    padding: 14px 16px !important;

    border: 2px solid #e5e7eb !important;

    border-radius: 12px !important;

    background: #fff !important;

    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;

    cursor: pointer;

}



.wp2fa-modal.enable_styling .radio-cells .option-pill.isSelected,

.wp-2fa-configuration-form .radio-cells .option-pill.isSelected,

.wp2fa-modal .radio-cells .option-pill.isSelected,

.wp2fa-modal.enable_styling .radio-cells .option-pill:has(input:checked),

.wp2fa-modal .radio-cells .option-pill:has(input:checked) {

    border-color: #f44706 !important;

    background: #fff8f5 !important;

    box-shadow: 0 0 0 1px rgba(244, 71, 6, 0.12);

}



.wp2fa-modal.enable_styling .radio-cells .option-pill label,

.wp2fa-modal .radio-cells .option-pill label {

    display: block !important;

    font-family: var(--aluna-font, 'DM Sans', sans-serif) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.45 !important;

    color: #111827 !important;

    margin: 0 0 4px !important;

    max-width: 100% !important;

    height: auto !important;

    cursor: pointer;

}



.wp2fa-modal.enable_styling .radio-cells .option-pill p,

.wp2fa-modal .radio-cells .option-pill p {

    font-size: 13px !important;

    line-height: 1.45 !important;

    color: #6b7280 !important;

    opacity: 1 !important;

    margin: 0 !important;

}



.wp2fa-modal .radio-cells .option-pill input[type="radio"] {

    accent-color: #f44706;

    margin-right: 8px;

}



.wp2fa-modal .radio-cells .option-pill input[type="email"],

.wp2fa-modal .radio-cells .option-pill input[type="text"] {

    width: 100% !important;

    margin-top: 8px !important;

    padding: 10px 12px !important;

    border: 1px solid #d1d5db !important;

    border-radius: 8px !important;

    font-family: var(--aluna-font, 'DM Sans', sans-serif) !important;

    font-size: 14px !important;

    color: #111827 !important;

    box-shadow: none !important;

}



.wp2fa-modal .radio-cells .option-pill input[type="email"]:focus,

.wp2fa-modal .radio-cells .option-pill input[type="text"]:focus {

    border-color: #f44706 !important;

    outline: none !important;

    box-shadow: 0 0 0 3px rgba(244, 71, 6, 0.15) !important;

}



/* Primary + secondary buttons (override WP 2FA / theme blue) */

body.aluna-wp2fa-page .enable_styling .wp-2fa-button-primary,

body.aluna-wp2fa-page .wp-2fa-configuration-form.enable_styling .button,

body.aluna-wp2fa-page .wp-2fa-configuration-form.enable_styling .wp-2fa-button-primary,

body.aluna-wp2fa-page .wp-2fa-configuration-form .button.enable_styling,

body.aluna-wp2fa-page .wp-2fa-configuration-form .button.wp-2fa-button-primary,

body.aluna-wp2fa-page .wp-2fa-configuration-form .wp-2fa-button-primary,

body.aluna-wp2fa-page .wp-2fa-configuration-form button.button,

body:has(.wp-2fa-configuration-form) .enable_styling .wp-2fa-button-primary,

body:has(.wp-2fa-configuration-form) .wp-2fa-configuration-form .button,

body:has(.wp-2fa-configuration-form) .wp-2fa-configuration-form .wp-2fa-button-primary,

body:has(.wp-2fa-configuration-form) .wp-2fa-configuration-form button.button,

.wp2fa-modal .enable_styling .wp-2fa-button-primary,

.wp2fa-modal .modal__content.enable_styling .wp-2fa-button-primary,

.wp2fa-modal .modal__container.enable_styling .wp-2fa-button-primary,

.wp2fa-modal.enable_styling .wp-2fa-button-primary,

.wp2fa-modal.enable_styling .modal__content .wp-2fa-button-primary,

.wp2fa-modal .enable_styling .wp2fa-setup-actions .button,

.wp2fa-modal .enable_styling .wp2fa-setup-actions .wp-2fa-button-primary,

.wp2fa-modal .modal__content .wp2fa-setup-actions .wp-2fa-button-primary,

.wp2fa-modal .modal__content .wp2fa-setup-actions .button.wp-2fa-button-primary,

.wp2fa-modal.enable_styling .modal__content .wp2fa-setup-actions .button,

.wp2fa-modal.enable_styling .modal__content .modal__btn.button-confirm,

#configure-2fa .wp-2fa-button-primary,

#configure-2fa .wp2fa-setup-actions .button,

#configure-2fa-backup-codes .wp-2fa-button-primary,

.wp2fa-modal .modal__content .wp-2fa-button-primary,

.wp2fa-modal .modal__content .modal__btn.button-confirm,

.wp2fa-modal .modal__btn-primary {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    width: auto !important;

    min-height: 44px !important;

    padding: 12px 28px !important;

    border-radius: 999px !important;

    border: 2px solid #f44706 !important;

    background: #f44706 !important;

    background-color: #f44706 !important;

    background-image: none !important;

    color: #fff !important;

    -webkit-text-fill-color: #fff !important;

    font-family: var(--aluna-font, 'DM Sans', sans-serif) !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.2 !important;

    letter-spacing: 0 !important;

    text-transform: capitalize !important;

    text-decoration: none !important;

    box-shadow: none !important;

    cursor: pointer;

    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;

}



body.aluna-wp2fa-page .enable_styling .wp-2fa-button-primary:hover,

body.aluna-wp2fa-page .enable_styling .wp-2fa-button-primary:focus,

body.aluna-wp2fa-page .wp-2fa-configuration-form.enable_styling .button:hover,

body.aluna-wp2fa-page .wp-2fa-configuration-form.enable_styling .button:focus,

body.aluna-wp2fa-page .wp-2fa-configuration-form.enable_styling .wp-2fa-button-primary:hover,

body.aluna-wp2fa-page .wp-2fa-configuration-form.enable_styling .wp-2fa-button-primary:focus,

body.aluna-wp2fa-page .wp-2fa-configuration-form .button.enable_styling:hover,

body.aluna-wp2fa-page .wp-2fa-configuration-form .button.enable_styling:focus,

body.aluna-wp2fa-page .wp-2fa-configuration-form .button.wp-2fa-button-primary:hover,

body.aluna-wp2fa-page .wp-2fa-configuration-form .button.wp-2fa-button-primary:focus,

body.aluna-wp2fa-page .wp-2fa-configuration-form .wp-2fa-button-primary:hover,

body.aluna-wp2fa-page .wp-2fa-configuration-form .wp-2fa-button-primary:focus,

body.aluna-wp2fa-page .wp-2fa-configuration-form button.button:hover,

body.aluna-wp2fa-page .wp-2fa-configuration-form button.button:focus,

body:has(.wp-2fa-configuration-form) .enable_styling .wp-2fa-button-primary:hover,

body:has(.wp-2fa-configuration-form) .enable_styling .wp-2fa-button-primary:focus,

body:has(.wp-2fa-configuration-form) .wp-2fa-configuration-form .button:hover,

body:has(.wp-2fa-configuration-form) .wp-2fa-configuration-form .button:focus,

body:has(.wp-2fa-configuration-form) .wp-2fa-configuration-form .wp-2fa-button-primary:hover,

body:has(.wp-2fa-configuration-form) .wp-2fa-configuration-form .wp-2fa-button-primary:focus,

body:has(.wp-2fa-configuration-form) .wp-2fa-configuration-form button.button:hover,

body:has(.wp-2fa-configuration-form) .wp-2fa-configuration-form button.button:focus,

.wp2fa-modal .enable_styling .wp-2fa-button-primary:hover,

.wp2fa-modal .enable_styling .wp-2fa-button-primary:focus,

.wp2fa-modal .modal__content.enable_styling .wp-2fa-button-primary:hover,

.wp2fa-modal .modal__content.enable_styling .wp-2fa-button-primary:focus,

.wp2fa-modal.enable_styling .wp-2fa-button-primary:hover,

.wp2fa-modal.enable_styling .wp-2fa-button-primary:focus,

.wp2fa-modal.enable_styling .modal__content .wp-2fa-button-primary:hover,

.wp2fa-modal.enable_styling .modal__content .wp-2fa-button-primary:focus,

.wp2fa-modal .enable_styling .wp2fa-setup-actions .button:hover,

.wp2fa-modal .enable_styling .wp2fa-setup-actions .button:focus,

.wp2fa-modal .enable_styling .wp2fa-setup-actions .wp-2fa-button-primary:hover,

.wp2fa-modal .enable_styling .wp2fa-setup-actions .wp-2fa-button-primary:focus,

.wp2fa-modal .modal__content .wp2fa-setup-actions .wp-2fa-button-primary:hover,

.wp2fa-modal .modal__content .wp2fa-setup-actions .wp-2fa-button-primary:focus,

.wp2fa-modal.enable_styling .modal__content .wp2fa-setup-actions .button:hover,

.wp2fa-modal.enable_styling .modal__content .wp2fa-setup-actions .button:focus,

.wp2fa-modal.enable_styling .modal__content .modal__btn.button-confirm:hover,

.wp2fa-modal.enable_styling .modal__content .modal__btn.button-confirm:focus,

#configure-2fa .wp-2fa-button-primary:hover,

#configure-2fa .wp-2fa-button-primary:focus,

#configure-2fa .wp2fa-setup-actions .button:hover,

#configure-2fa .wp2fa-setup-actions .button:focus,

#configure-2fa-backup-codes .wp-2fa-button-primary:hover,

#configure-2fa-backup-codes .wp-2fa-button-primary:focus,

.wp2fa-modal .modal__content .wp-2fa-button-primary:hover,

.wp2fa-modal .modal__content .wp-2fa-button-primary:focus,

.wp2fa-modal .modal__content .modal__btn.button-confirm:hover,

.wp2fa-modal .modal__content .modal__btn.button-confirm:focus {

    background: #fff !important;

    background-color: #fff !important;

    color: #f44706 !important;

    -webkit-text-fill-color: #f44706 !important;

    border: 2px solid #f44706 !important;

}



.wp-2fa-configuration-form .button.wp-2fa-button-secondary,

.wp2fa-modal .enable_styling .wp-2fa-button-secondary,

.wp2fa-modal .modal__content.enable_styling .wp-2fa-button-secondary,

.wp2fa-modal .enable_styling .wp2fa-setup-actions .wp-2fa-button-secondary,

.wp2fa-modal .modal__content .wp2fa-setup-actions .wp-2fa-button-secondary,

.wp2fa-modal.enable_styling .wp-2fa-button-secondary,

.wp2fa-modal.enable_styling .modal__content .wp-2fa-button-secondary,

.wp2fa-modal.enable_styling .modal__content .modal__btn.button-decline,

#configure-2fa .wp-2fa-button-secondary,

#configure-2fa-backup-codes .wp-2fa-button-secondary,

.wp2fa-modal .modal__content .wp-2fa-button-secondary,

.wp2fa-modal .modal__content .modal__btn.button-decline {

    background: transparent !important;

    background-color: transparent !important;

    color: #6b7280 !important;

    -webkit-text-fill-color: #6b7280 !important;

    border: 2px solid #d1d5db !important;

}



.wp-2fa-configuration-form .button.wp-2fa-button-secondary:hover,

.wp-2fa-configuration-form .button.wp-2fa-button-secondary:focus,

.wp2fa-modal .enable_styling .wp-2fa-button-secondary:hover,

.wp2fa-modal .enable_styling .wp-2fa-button-secondary:focus,

.wp2fa-modal .modal__content.enable_styling .wp-2fa-button-secondary:hover,

.wp2fa-modal .modal__content.enable_styling .wp-2fa-button-secondary:focus,

.wp2fa-modal .enable_styling .wp2fa-setup-actions .wp-2fa-button-secondary:hover,

.wp2fa-modal .enable_styling .wp2fa-setup-actions .wp-2fa-button-secondary:focus,

.wp2fa-modal.enable_styling .wp-2fa-button-secondary:hover,

.wp2fa-modal.enable_styling .wp-2fa-button-secondary:focus,

.wp2fa-modal.enable_styling .modal__content .wp-2fa-button-secondary:hover,

.wp2fa-modal.enable_styling .modal__content .wp-2fa-button-secondary:focus,

.wp2fa-modal.enable_styling .modal__content .modal__btn.button-decline:hover,

.wp2fa-modal.enable_styling .modal__content .modal__btn.button-decline:focus,

#configure-2fa .wp-2fa-button-secondary:hover,

#configure-2fa .wp-2fa-button-secondary:focus,

#configure-2fa-backup-codes .wp-2fa-button-secondary:hover,

#configure-2fa-backup-codes .wp-2fa-button-secondary:focus,

.wp2fa-modal .modal__content .wp-2fa-button-secondary:hover,

.wp2fa-modal .modal__content .wp-2fa-button-secondary:focus,

.wp2fa-modal .modal__content .modal__btn.button-decline:hover,

.wp2fa-modal .modal__content .modal__btn.button-decline:focus {

    background: #f9fafb !important;

    background-color: #f9fafb !important;

    color: #f44706 !important;

    -webkit-text-fill-color: #f44706 !important;

    border-color: #f44706 !important;

}



.wp2fa-modal .modal__close {

    color: #6b7280 !important;

    background: transparent !important;

}



.wp2fa-modal .modal__close:hover {

    color: #f44706 !important;

}



.wp2fa-modal .modal__content .wp2fa-setup-actions,

.wp2fa-modal .modal__footer,

.wp2fa-modal .modal__content p + .modal__btn,

.wp2fa-modal .modal__content .modal__btn + .modal__btn {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    align-items: center;

    margin-top: 16px;

}



.wp2fa-modal .enable_styling .wp2fa-setup-actions .button,

.wp2fa-modal .enable_styling .wp-2fa-button-primary,

.wp2fa-modal .enable_styling .wp-2fa-button-secondary {

    width: auto !important;

    display: inline-flex !important;

    margin-right: 0 !important;

    margin-left: 0 !important;

    text-transform: capitalize !important;

    letter-spacing: 0 !important;

}



.wp2fa-modal .modal__title {

    font-family: var(--aluna-serif, 'Playfair Display', serif) !important;

    color: #111827 !important;

    font-size: 20px !important;

    font-weight: 600 !important;

}



@media (max-width: 767.98px) {

    .wp2fa-modal.enable_styling .radio-cells,

    .wp2fa-modal .radio-cells,

    .wp2fa-modal .radio-cells[data-option-count="3"] {

        grid-template-columns: minmax(0, 1fr) !important;

    }



    .wp2fa-modal[aria-hidden="false"] .modal__container {

        padding: 24px 20px 20px !important;

    }



    .wp-2fa-configuration-form .button.enable_styling,

    .wp2fa-modal .modal__content .wp2fa-setup-actions .button,

    .wp2fa-modal .modal__content .modal__btn {

        width: 100% !important;

        justify-content: center !important;

    }

}
