@charset "UTF-8";
/*
Theme Name: CANCER CURE CLUB
Theme URI: 
Author: CANCER CURE CLUB DEVELOPERS
Author URI: https://cancercureclub.com/
Description: A theme for WordPress 5.
Requires at least: WordPress 4.9.6
Version: 1.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: wp5default
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

CANCER CURE CLUB is based on Underscores https://underscores.me/, (C) 2012-2018 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*###################################
# General Styles
###################################*/
html {font-size: 16px; /* 1em */ overflow: auto; line-height: 1.15; -webkit-text-size-adjust: 100%;}
body { margin: 0 auto; width: 100%; }

/*###################################
## Layouts
###################################*/
.site {margin: 0 auto;}
.full {width: 100%;}
.main {max-width: 100%;}
.entry-content {margin: 0;}
.hentry, .so-panel, .panel-grid {margin-bottom: 0!important;}
.has-1-columns .wp-block-column {flex-basis: 100%;}
.wp-block-column, .blocks-gallery-item {margin: 0 !important;}
.wp-block-gallery.is-cropped .blocks-gallery-item img {height: auto; width: auto; object-fit: contain;}
.screen-reader-text {border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;}
.container, .container-fluid {max-width: 1360px; margin: 0 auto; padding-left: 15px; padding-right: 15px;}
.row {max-width: 100%; margin: 0 auto;}

.clearfix {clear: both;}

/*###################################
## Buttons
###################################*/


/*###################################
## Menus
###################################*/


/*###################################
## Header
###################################*/
#header { position: fixed; width: 100%; margin: 0 auto; padding: 0; z-index: 999; }
#header.sticky { background: #000 !important; }
#home-logo { filter: brightness(0) invert(1); }
.header-btn .block { display: block; }
#user-menu-toggle .elementor-menu-toggle::after { content: "Member Menu"; margin-left: 8px; font-size: 14px; color: inherit; font-weight: 700; display: inline-block; vertical-align: middle; }

/*###################################
## Banner
###################################*/
#banner { position: relative; }
#banner:after { position: absolute; left: 0; right: 0; top: 0; z-index: 99; background: url('assets/images/bnr-before.webp') no-repeat center top; background-size: 100% auto; content: " "; margin: 0 auto; width: 100%; height: 199px; }
.inr-bnr { position: relative; }
.inr-bnr:after { position: absolute; left: 0; right: 0; bottom: 0; z-index: 9; background: url('assets/images/bnr-after.webp') no-repeat center bottom; background-size: 100% auto; content: " "; margin: 0 auto; width: 100%; height: 198px; }

/*###################################
## Content
###################################*/
.home-grid { background: url('assets/images/borderline.webp') no-repeat bottom right; background-size: 1px 100%; }

.rev-slider .rev-stars { display: block; margin: 25px auto 0; }
.rev-slider .elementor-swiper-button { background: #780001; padding: 5px; border-radius: 50%; }
.rev-slider .elementor-swiper-button:hover { background: #659BBA; }
.rev-slider .elementor-swiper-button-prev { left: 0 !important }
.rev-slider .elementor-swiper-button-next { right: 0 !important }

/*###################################
## Footer
###################################*/


/*###################################
## Sidebar
###################################*/


/*###################################
## Inner Pages
###################################*/
.pdf-container { position: relative; }
.pdf-container:after { background: url('assets/images/before.webp') no-repeat center left; background-size: 100% 100%; position: absolute; left: -20px; top: 0; bottom: 0; margin: auto 0; content: " "; width: 40px; height: 41px; }

/*###################################
## WooCommerce
###################################*/
.custom-acc .woocommerce-MyAccount-navigation {  }
.custom-acc .woocommerce-MyAccount-navigation ul { margin: 0; list-style: none; }
.custom-acc .woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid #fff; }
.custom-acc .woocommerce-MyAccount-navigation ul li br { display: none; }
.custom-acc .woocommerce-MyAccount-navigation ul li a { display: block; padding: 10px; background: #780001; color: #fff; border: 1px solid #780001; }
.custom-acc .woocommerce-MyAccount-navigation ul li a:hover,
.custom-acc .woocommerce-MyAccount-navigation ul li.is-active a { background: #fff; color: #780001; }

.custom-acc .woocommerce-form-login .woocommerce-button,
.woocommerce-Button,
.woocommerce a.button,
.woocommerce button.button { border: 1px solid #780001 !important; border-radius: 50px !important; color: #fff !important; background: #780001 !important; }
.custom-acc .woocommerce-form-login .woocommerce-button:hover,
.woocommerce-Button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { color: #780001 !important; background: #fff !important; }

.custom-list-style ul { margin: 0 0 0 20px; }
.custom-list-style ol { margin: 0 0 0 25px; }
.custom-list-style ul li,
.custom-list-style ol li { padding: 0 0 5px; }

.custom-subscription .no_subscriptions .woocommerce-Button.button,
.custom-subscription .woocommerce-info .woocommerce-Button { display: none !important; }
.custom-subscription h2 { margin-top: 0 !important; color: #002D46 !important; }

.custom-account-details label { display: block; }
.custom-account-details input[type="text"],
.custom-account-details input[type="email"],
.custom-account-details input[type="password"] { width: 100% !important; padding: 10px !important; }

.wp-custom-logo form.woocommerce-form.woocommerce-form-login.login {max-width: 500px !important;margin: 0 auto !important;}


.woocommerce-Button.button br { display: none !important; }


p.price { margin: 0 !important; }

/* CCC Protocols styles */
.ccc-protocol-form-list,
.ccc-selected-protocols-list { display: flex; flex-direction: column; gap: 10px; margin: 0 auto 30px; }
.ccc-protocol-item { padding: 15px; border: 1px solid #ddd; border-radius: 8px; background: #fafafa; cursor: pointer; transition: all .15s ease; display: flex; align-items: center; gap: 10px; }

.ccc-protocol-item input[type="checkbox"] { margin: 0; transform: scale(1.05); }
.ccc-protocol-item.selected { border: 2px solid #012F47; background: #eef7fa; font-weight: 600; color: #012F47; }
.ccc-btn-save { background-color: #780001; color: #fff; padding: 10px 16px; border-radius: 8px; border: none; cursor: pointer; font-weight: 700; }

/* Loading spinner on buttons */
.ccc-loading { position: relative; pointer-events: none; opacity: 0.8; }
.ccc-loading::after { content: ""; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: ccc-spin 0.8s linear infinite; }

@keyframes ccc-spin {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* Messages */
.ccc-form-message,
.ccc-selected-message { margin-bottom: 12px; }

.ccc-message { padding: 10px 12px; border-radius: 6px; font-size: 14px; }
.ccc-message.success { background: #e6f7ee; color: #1a7f37; border: 1px solid #b7e2c1; }
.ccc-message.error   { background: #fdecea; color: #a21b1b; border: 1px solid #f5c2c0; }

/* Selected protocol card */
.ccc-selected-item { padding: 15px; border: 1px solid #e6e6e6; border-radius: 8px; margin-bottom: 8px; }
.ccc-selected-item h3 { margin: 0 0 10px; }
.ccc-selected-item h3 a { color: #012F47 !important; }
.ccc-selected-item h3 a:hover { color: #659bba !important; }
.ccc-selected-item p { margin: 0 0 15px; }
.ccc-selected-item .read-more { text-decoration: underline; color: inherit; color: #012F47 !important; }
.ccc-selected-item .read-more:hover { color: #659bba !important; }
.prot-controls { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: 10px; }

table.woocommerce-account-fields { text-align: left; }
.cancer-info-section { margin: 30px auto; }
.cancer-info-field { margin-bottom: 0; }
.woocommerce-input-wrapper .input-text { background:#f7f7f7; border:1px solid #ddd; padding:8px; border-radius:4px; }
.ccc-restricted-msg { color: #780001 !important; }

/* WooCommerce Member Login */

.woocommerce form.checkout_coupon,
.woocommerce form.login, .woocommerce form.register { width: 600px; max-width: 100%; margin: 0 auto; }
.custom-acc .woocommerce h2 { text-align: center; }
.woocommerce form.checkout_coupon br, .woocommerce form.login br, .woocommerce form.register br { display: none; }

/*woocommerce billing form*/
/* Container */
.woocommerce-EditAddressForm { margin: 0 auto; }

/* Heading */
.woocommerce-EditAddressForm h2 { font-size: 22px; font-weight: 600; margin-bottom: 20px; text-align: center; }

/* Field wrapper */
.woocommerce-address-fields__field-wrapper { display: flex; flex-wrap: wrap; gap: 15px; }

/* Individual fields */
.woocommerce-EditAddressForm p.form-row { flex: 1 1 48%; /* 2 fields per row */ margin: 0 0 15px; }

/* Full-width fields (like Address Line 1, Address Line 2) */
.woocommerce-EditAddressForm p.form-row.form-row-wide { flex: 1 1 100%; }

/* Labels */
.woocommerce-EditAddressForm label { display: block; font-weight: 500; margin-bottom: 5px; }

/* Inputs, selects */
.woocommerce-EditAddressForm input.input-text,
.woocommerce-EditAddressForm select { width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; box-sizing: border-box; }

/* Responsive for mobile */
@media (max-width: 480px) {
    .woocommerce-EditAddressForm p.form-row {
        flex: 1 1 100%;
    }
}



/*###################################
## Responsive
###################################*/
@media screen and (min-width: 1025px){
  .user-nav .elementor-nav-menu--main .elementor-nav-menu ul { width: 300px !important; }
}

@media screen and (max-width: 1024px){
  .pdf-container:after { left: -5px; }
}

@media screen and (max-width: 1023px){
  body {min-width: 320px;}
}

@media screen and (max-width: 880px){
  .pdf-container:after { width: 30px; height: 30px; }
}

@media screen and (max-width: 767px){
  .header-btn .block { display: block; }
  .pdf-container:after { width: 20px; height: 20px; }
  .prot-controls { flex-wrap: wrap; }
}