/*
Theme Name:        Everwell Wellness
Theme URI:         https://dinovahq.com
Author:            Dinova
Author URI:        https://dinovahq.com/
Description:       Everwell Wellness is a premium Divi child theme crafted for spas, massage studios, and wellness centers. Elegant, calming, and fully conversion-optimized, it comes pre-built with everything you need to attract and book more clients from day one. Includes complete page templates for Home, Services, Service Detail, Membership, Price List, About Us, Contact, Blog, Coming Soon, and 404. Features booking-ready design, flexible pricing sections, team showcase, testimonials, FAQ, newsletter integration, and a clean luxurious spa aesthetic throughout.
Version:           1.0.0
Requires at least: 6.0
Tested up to:      7.0
Requires PHP:      7.4
Template:          Divi
License:           GPL-2.0+
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       everwell-wellness
Tags:              day spas, massage therapy studios, wellness retreats, beauty salons, holistic health centers, skincare clinics

Generated by Dinova Packager on 2026-06-14T02:55:54+00:00.
*/

/* ===== Custom CSS (from Design step) ===== */
/* ==========================================================================
   Theme Custom Styles
   --------------------------------------------------------------------------
   Divi child-theme / layout-pack stylesheet.
   Formatting cleaned for readability — selectors, properties and values
   are unchanged from the original.

   TABLE OF CONTENTS
   --------------------------------------------------------------------------
   01. Header — Sub Menu
   02. Module Header
   03. Eyebrow
   04. Buttons
   05. Service Card
   06. List Style
   07. Video Button
   08. Choose Card
   09. Packages / Pricing
   10. Image Hover Effect
   11. FAQ
   12. Team
   13. Key Points
   14. Call Button
   15. Trust Images
   16. Blog
   17. Category Buttons
   18. Global Row Width
   ========================================================================== */

/* ==========================================================================
   01. Header — Sub Menu
   ========================================================================== */

.es-header ul.et-menu > li.menu-item-has-children > ul.sub-menu {
    padding: 0;
    border: none;
    transform: scaleY(0);
    top: calc(100% - 0px);
    transform-origin: 0 0;
    transition: all 0.3s ease-in-out 0s;
}

.es-header ul.et-menu > li.menu-item-has-children:hover > ul.sub-menu {
    transform: scale(1, 1);
}

.es-header ul.et-menu li.menu-item-has-children ul.sub-menu > li {
    padding: 0;
    display: block;
}

.es-header ul.et-menu li.menu-item-has-children ul.sub-menu > li > a {
    padding: 10px 18px;
    border-bottom: 1px solid #11111150;
    display: block;
    width: 100%;
    opacity: 1;
    position: relative;
    transition: all 0.2s ease-in-out 0s;
    -moz-transition: all 0.2s ease-in-out 0s;
    -webkit-transition: all 0.2s ease-in-out 0s;
    -o-transition: all 0.2s ease-in-out 0s;
    -ms-transition: all 0.2s ease-in-out 0s;
}

.es-header ul.et-menu li.menu-item-has-children ul.sub-menu > li:last-child > a {
    border-bottom: none;
}

.es-header ul.et-menu li.menu-item-has-children ul.sub-menu > li > a:before {
    position: absolute;
    content: "";
    background: var(--gcid-primary-color);
    width: 3px;
    transition: all 0.5s ease-out 0s;
    height: 0;
    left: 0;
    top: 50%;
    box-sizing: border-box;
    transform: translateY(-50%);
}

.es-header ul.et-menu li.menu-item-has-children ul.sub-menu > li > a:hover:before {
    height: 100%;
}

.es-header li li.menu-item-has-children > a:first-child::after {
    top: auto;
}

.es-header .nav li li ul {
    top: 0;
    padding: 0;
    border: none;
}


/* ==========================================================================
   02. Module Header
   ========================================================================== */

.et_pb_module_header span {
    font-style: italic;
    font-weight: 500;
}

.light .et_pb_module_header span {
    color: var(--gcid-primary-color);
}

.et_pb_module_header {
    line-height: 1.2;
}


/* ==========================================================================
   03. Eyebrow
   --------------------------------------------------------------------------
   Centered eyebrow heading with decorative side lines.
   ========================================================================== */

/* Main wrapper */
.es-eyebrow .et_pb_icon_wrap {
    width: 140px;
}

/* Right side lines */
.es-eyebrow .et_pb_icon_wrap:before,
.es-eyebrow .et_pb_icon_wrap:after,
.es-eyebrow .et_pb_icon_wrap .et-pb-icon:before,
.es-eyebrow .et_pb_icon_wrap .et-pb-icon:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 35px;
    height: 2px;
    transform: translateY(-50%);
    background: var(--gcid-primary-color);
}

.es-eyebrow.light .et_pb_icon_wrap:before,
.es-eyebrow.light .et_pb_icon_wrap:after,
.es-eyebrow.light .et_pb_icon_wrap .et-pb-icon:before,
.es-eyebrow.light .et_pb_icon_wrap .et-pb-icon:after {
    background: #fff;
}

/* Left side lines */
.es-eyebrow .et_pb_icon_wrap .et-pb-icon:before,
.es-eyebrow .et_pb_icon_wrap .et-pb-icon:after {
    left: -35px;
}

/* Bottom variation lines */
.es-eyebrow .et_pb_icon_wrap:after,
.es-eyebrow .et_pb_icon_wrap .et-pb-icon:after {
    top: 70%;
    width: 45px;
}

/* Icon styling */
.es-eyebrow .et_pb_icon_wrap .et-pb-icon {
    width: 70px;
}


/* ==========================================================================
   04. Buttons
   ========================================================================== */

.es-btn {
    position: relative;
    overflow: hidden;
    color: #fff;
    transition: all 0.4s ease;
    z-index: 1;
}

.es-btn:before {
    content: "";
    position: absolute;
    height: 420px;
    width: 450px;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    transform: translateY(-50%) translateX(-50%) scale(0.00001);
    transition: all 0.5s ease-out 0s;
    z-index: -1;
    box-sizing: border-box;
    display: block !important;
    opacity: 1 !important;
    margin: 0 !important;
}

.es-btn:hover:before {
    transform: translate(-50%, -50%) scale(1);
}

.es-btn-secondary:before {
    background: var(--gcid-primary-color);
}

.es-btn-primary:before {
    background: var(--gcid-secondary-color);
}

/* Hover */
.es-btn:hover::after,
.es-cat-btn .active-btn .es-btn::after {
    content: "\24" !important;
}


/* ==========================================================================
   05. Service Card
   ========================================================================== */

.es-ser-card .et_pb_module_header,
.et_pb_blurb_description p,
.es-mar .et_pb_text_inner p {
    margin-bottom: 10px;
}

.es-ser-card .et-pb-icon {
    height: 80px;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.es-ser-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--gcid-primary-color);
    transform: translateY(100%);
    transition: all 0.4s ease-in-out;
    z-index: 0;
    border-radius: 999px 999px 0 0;
}

.es-ser-card:hover *,
.es-ser-card.active * {
    color: white;
}

.es-ser-card:hover .et-pb-icon,
.es-ser-card.active .et-pb-icon {
    background: white !important;
    color: var(--gcid-primary-color);
}

.es-ser-card:hover::before,
.es-ser-card.active::before {
    transform: translateY(0);
    border-radius: 0px;
}

.es-ser-card ul {
    padding-bottom: 0px !important;
}

.es-ser-card:hover .et_pb_button,
.es-ser-card.active .et_pb_button {
    background: transparent;
    color: white !important;
}

.es-ser-card:hover .et_pb_button::after {
    content: "\24" !important;
}


/* ==========================================================================
   06. List Style
   ========================================================================== */

.es-list ul {
    list-style: none;
    padding-left: 0;
}

.es-list ul li {
    position: relative;
    padding-left: 26px;
}

.es-list ul li::before {
    content: "\52";
    font-family: ETmodules;
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 14px;
    transition: color 0.25s ease;
}


/* ==========================================================================
   07. Video Button
   ========================================================================== */

.es-vid-btn {
    height: 80px;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: ripple 1s linear infinite;
}

@keyframes ripple {
    0% {
        -webkit-box-shadow:
            0 0 0 0 rgba(255, 255, 255, 0.2),
            0 0 0 5px rgba(255, 255, 255, 0.2),
            0 0 0 20px rgba(255, 255, 255, 0.2),
            0 0 0 35px rgba(255, 255, 255, 0.2);
        box-shadow:
            0 0 0 0 rgba(255, 255, 255, 0.2),
            0 0 0 5px rgba(255, 255, 255, 0.2),
            0 0 0 20px rgba(255, 255, 255, 0.2),
            0 0 0 35px rgba(255, 255, 255, 0.2);
    }

    100% {
        -webkit-box-shadow:
            0 0 0 5px rgba(255, 255, 255, 0.2),
            0 0 0 20px rgba(255, 255, 255, 0.2),
            0 0 0 35px rgba(255, 255, 255, 0.2),
            0 0 0 45px rgba(255, 255, 255, 0);
        box-shadow:
            0 0 0 5px rgba(255, 255, 255, 0.2),
            0 0 0 20px rgba(255, 255, 255, 0.2),
            0 0 0 35px rgba(255, 255, 255, 0.2),
            0 0 0 45px rgba(255, 255, 255, 0);
    }
}


/* ==========================================================================
   08. Choose Card
   ========================================================================== */

.es-choose-card .et_pb_image_wrap {
    width: 100px;
    height: 100px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    background-color: ;
    border: 1px dashed;
    border-radius: 999px;
    transition: background-color 0.4s ease;
}

.es-choose-card .et_pb_blurb_content {
    align-items: center;
}

.es-choose-card:hover .et_pb_image_wrap {
    background-color: var(--gcid-primary-color);
}

/* Icon styling */
.es-choose-card .et-pb-icon {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1.5px ;
    transition: all 0.3s ease;
}

.es-choose-card:hover .et-pb-icon {
    color: white;
    animation: jump 0.5s ease;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px var !important;
}

/* Jump animation */
@keyframes jump {
    0% {
        transform: scale(0);
    }

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


/* ==========================================================================
   09. Packages / Pricing
   ========================================================================== */

/* Heading customization */
.es-package-item .et_pb_pricing_heading {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.es-package-item .et_pb_best_value {
    order: -1 !important;
    margin-bottom: 8px;
}

.es-package-item .et_pb_pricing_heading {
    background: transparent !important;
    padding: 0px;
}

.es-package-item {
    position: relative;
    overflow: hidden;
    z-index: 1;
    padding: 40px 20px;
    transition: box-shadow 0.4s ease;
    border-radius: 10px;
}

.es-package-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--gcid-primary-color);
    transform: translateY(100%);
    transition: all 0.4s ease-in-out;
    border-radius: 999px 999px 0 0;
    z-index: 0;
}

/* Hover + active */
.es-package-item:hover::before,
.es-package-item.active::before {
    transform: translateY(0);
    border-radius: 0;
}

.es-package-item .et_pb_pricing_table > * {
    position: relative;
    z-index: 2;
}

.es-package-item .et_pb_pricing_content_top {
    padding-bottom: 5px;
}

.es-package-item .et_pb_pricing_content {
    padding: 0 15px 15px;
}

/* List style */
.es-package-item .et_pb_pricing li {
    padding: 6px;
    position: relative;
}

.es-package-item .et_pb_pricing li span {
    left: 15px;
}

.es-package-item .et_pb_pricing li span:before {
    content: "\e052";
    font-family: ETmodules;
    position: absolute;
    left: -25px;
    top: -3px;
    color: var(--gcid-secondary-color);
}

.es-package-item .et_pb_pricing li.et_pb_not_available span:before {
    content: "\e051";
    color: red;
}

.es-package-item .et_pb_pricing li.et_pb_not_available {
    color: #11111180;
}

/* Currency style */
.es-package-item .et_pb_dollar_sign {
    font-size: 30px;
    font-weight: 400;
    position: absolute;
    color: rgb(218, 123, 8);
    margin-top: 35px;
}

/* Frequency tag */
.es-package-item span.et_pb_frequency {
    background: var(--gcid-secondary-color);
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    color: white;
}

.es-package-item span.et_pb_frequency_slash {
    display: none;
}

/* Hover + active text color */
.es-package-item:hover,
.es-package-item:hover .et_pb_sum,
.es-package-item.active,
.es-package-item:hover .et_pb_pricing li span:before,
.es-package-item:hover .et_pb_dollar_sign,
.es-package-item.active .et_pb_sum {
    color: white;
}

.es-package-item:hover .et_pb_pricing_heading,
.es-package-item:hover .et_pb_button_wrapper,
.es-package-item.active .et_pb_pricing_heading,
.es-package-item.active .et_pb_pricing li span:before,
.et_pb_sum,
.es-package-item.active .et_pb_button {
    --gcid-primary-color: #ffffff !important;
    --gcid-secondary-color: #ffffff !important;
}

/* Hover */
.es-package-item:hover .et_pb_button_wrapper .et_pb_button::after {
    content: "\24" !important;
}

.es-package-item:hover .et_pb_pricing li.et_pb_not_available span {
    color: #ffffff99 !important;
}

/* Frequency hover effect */
.es-package-item:hover span.et_pb_frequency,
.es-package-item.active span.et_pb_frequency {
    background-color: white;
    color: black;
}

.es-package-item .et_pb_pricing li > span:before {
    border-style: none;
}


/* ==========================================================================
   10. Image Hover Effect
   ========================================================================== */

.es-gallery-row .et_pb_image_wrap,
.et_pb_post .et_pb_image_container,
.es-img-hover .et_pb_image_wrap {
    position: relative;
    overflow: hidden;
}

.es-gallery-row .et_pb_image a {
    width: 100%;
}

/* Image fit full height */
.es-gallery-row .et_pb_image_wrap img,
.es-img-hover .et_pb_image_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
    transform: scale(1.05);
}

/* Zoom effect */
.es-gallery-row .et_pb_image:hover img,
.es-img-hover .et_pb_image:hover img {
    transform: scale(1.15);
}

/* Shine effect */
.es-gallery-row .et_pb_image_wrap::after,
.et_pb_post .et_pb_image_container:after,
.es-img-hover .et_pb_image_wrap::after {
    content: '';
    position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255, 255, 255, .3);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1;
}

/* Smooth slide animation */
.es-gallery-row .et_pb_image_wrap:hover::after,
.et_pb_post:hover .et_pb_image_container::after,
.es-img-hover .et_pb_image_wrap:hover::after {
    height: 250%;
    transition: all 600ms linear !important;
    background-color: transparent;
}


/* ==========================================================================
   11. FAQ
   ========================================================================== */

.es-faq .et_pb_toggle {
    margin-bottom: 10px !important;
}

.es-faq .et_pb_toggle_open.et_pb_toggle .et_pb_toggle_title:before {
    content: "\4d" !important;
    background: var(--gcid-primary-color);
    border: 1px solid var(--gcid-primary-color);
    opacity: 1;
    color: white;
}

.es-faq .et_pb_toggle_title::before {
    width: 32px;
    height: 32px;
    border: 1px solid var(--gcid-primary-color);
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    font-size: 20px;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0 !important;
    color: var(--gcid-primary-color);
    opacity: 0.5;
    transition: all 0.5s ease;
}


/* ==========================================================================
   12. Team
   ========================================================================== */

.es-team .et_flex_module.et_pb_team_member {
    align-items: center;
}

.es-team a {
    height: 45px;
    width: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    text-decoration: none;
    border: 1px solid ;
    border-radius: 999px;
}

.es-team a:hover {
    background: white;
    color: var(--gcid-primary-color);
}

.es-team .et_pb_team_member::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--gcid-secondary-color);
    transform: translateY(100%);
    transition: all 0.4s ease-in-out;
    z-index: 0;
    border-radius: 999px 999px 0 0;
}

.es-team .et_pb_team_member:hover::before,
.es-team .et_pb_team_member.active::before {
    transform: translateY(0);
    border-radius: 0px;
}

.es-team .et_pb_team_member_description {
    z-index: 1;
}


/* ==========================================================================
   13. Key Points
   ========================================================================== */

/* Remove default bullets */
.es-keypoint ul {
    list-style: none;
    padding-left: 0;
}

/* List item base */
.es-keypoint ul li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 10px;
}

/* Checkbox style icon */
.es-keypoint ul li::before {
    content: "\52";
    font-family: ETmodules;
    position: absolute;
    font-size: 16px;
    left: 0;
    top: 3px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    background: var(--gcid-primary-color);
    color: white;
    border-radius: 4px;
    transition: all 0.3s ease;
}


/* ==========================================================================
   14. Call Button
   ========================================================================== */

/* Hover */
.es-call-btn:hover .et_pb_button::after {
    content: "\24" !important;
}


/* ==========================================================================
   15. Trust Images
   ========================================================================== */

.es-trust-img .et_pb_image {
    margin-left: -15px !important;
    transition: all 0.3s ease;
    background: white;
    border-radius: 999px;
}

.es-trust-img img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid white;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.es-trust-img .et_pb_image:first-child {
    margin-left: 0px !important;
}


/* ==========================================================================
   16. Blog
   ========================================================================== */

.es-blog .et_pb_post,
.es-blog .et_pb_blog_grid .et_pb_post {
    background: transparent;
    border: 0px;
    padding: 0px;
}

.es-blog .et_pb_image_container {
    margin: 0px;
}

.es-blog .entry-title {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Read more — base reset */
.es-blog .et_pb_post a.more-link {
    font-size: 0px;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    text-decoration: none;
    transition: all 0.3s ease;
    color: var(--gcid-primary-color);
}

.es-blog .et_pb_post a.more-link::before {
    content: "Read More";
    font-size: 16px;
    text-transform: capitalize;
    letter-spacing: 0.3px;
    transition: color 0.3s ease;
    color: var(--gcid-primary-color);
}

/* Default icon */
.es-blog .et_pb_post a.more-link::after {
    content: "&";
    font-family: "ETmodules";
    font-size: 16px;
    transition: all 0.3s ease;
    color: var(--gcid-primary-color);
}

/* Hover effect */
.es-blog .et_pb_post:hover a.more-link::before {
    color: var(--gcid-secondary-color);
}

/* Icon change on hover */
.es-blog .et_pb_post:hover a.more-link::after {
    content: "\24";
    transform: translateX(4px);
    color: var(--gcid-secondary-color);
}


/* ==========================================================================
   17. Category Buttons
   ========================================================================== */

/* Make button flex */
.es-cat-btn .es-btn {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    position: relative;
    letter-spacing: 0px !important;
}

.es-cat-btn .active-btn .es-btn {
    background: var(--gcid-secondary-color) !important;
    --gcid-primary-color: #fff !important;
}

/* Fix icon alignment */
.es-blog-feedback .submit,
.es-cat-btn .es-btn::after {
    position: static !important;
    transform: translateY(1px);
}


/* ==========================================================================
   18. Global Row Width
   ========================================================================== */

.et_pb_section .et_pb_row.et_pb_row {
    width: 90%;
}
