/* ============================================
   CSS for pages ported from provitalhealthco
   (shop.php, products.php, ingredients.php, terms.php)
   ============================================ */

/* ---------- Text Logo ---------- */
a.logo.text-logo {
    font-size: 22px;
    font-weight: 700;
    color: #033442;
    text-decoration: none;
    line-height: 50px;
    letter-spacing: -0.5px;
    font-family: 'Roboto', sans-serif;
}
a.logo.text-logo:hover { color: #fd6334; }

/* ---------- Breadcrumb ---------- */
.shopBreadcrm {
    float: left;
    width: 100%;
    color: #000000;
    font-size: 14px;
    text-align: left;
    background: #eff6ff;
    padding: 10px 0;
    background-size: cover;
}
.shopBreadcrm a { color:#000000; }
.shopBreadcrm span { color: #000000; font-weight: 600; }

/* ---------- Common Typography ---------- */
.common_button {
    display: inline-block;
    vertical-align: middle;
    width: 100%;
    max-width: 235px;
    margin-top:30px;
    height: 50px;
    font-size: 15px;
    line-height: 50px;
    font-weight: 500;
    border-radius: 0px;
    color: #fff;
    text-align: center;
    background: #fc7d48;
    text-transform: uppercase;
    font-family: inherit;
}
.common_button.button2 { border:1px solid #f1f9ff; color:#fff; background:none; }
.btn_arrow { display:inline-block; vertical-align:middle; width:12px; margin:-2px 0 0 12px; filter:brightness(0) invert(1); }
.common-sub-hdg { font-size: 24px; line-height: 24px; font-weight: 400; color: #000000; margin-bottom: 10px; }
.common-heading { font-size: 40px; line-height: 50px; font-weight: 700; color: #033442; }
.common-text { font-size: 17px; line-height: 26px; color: #333333; margin-top: 20px; }
.common_heading { font-size: 44px; line-height: 54px; color: #16100e; font-weight: 600; }
.common_heading span { font-style:italic; color:#033442; }

/* ---------- Products Page (section_2 / top_seller) ---------- */
.section_2 { float:left; width:100%; padding:60px 0; overflow:hidden; text-align:center; background:#f9feff; }
.top_seller { float: left; width: 100%; margin-top: 25px; display: flex; flex-wrap: wrap; justify-content: flex-start; row-gap: 30px; column-gap: 30px; }
.top_seller_box { width:31%; float:left; }

/* ---------- Product Detail (shop.php) ---------- */
.prod-det-s1 { float:left; width:100%; padding: 60px 0; }
.prod_inner { float: left; width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; row-gap: 20px; }
.prod-det-s1-lft { float:left; width: 40%; }
.prod-det-s1-rgt { width: 58%; float: right; text-align: left; margin-top: 7px; }
.prod-det-s1-rgt .btn-box { width: 100%; float: left; display: flex; align-items: center; flex-wrap: wrap; margin-top:30px; justify-content: space-between; }
.prod-det-s1-rgt .btn-box .common_button { margin:0; }
.shop-cards { display: inline-block; vertical-align: middle; max-width: 314px; width: 100%; }
.prd-det-tx { font-size: 17px; line-height: 26px; margin-top: 15px; border-top: 2px solid #f2f2f2; float: left; width: 100%; padding-top: 20px; }
.prd-slide-1, .prod-det-s1-lft img.prd-slide-1 { max-width: 100%; margin: 0 auto; display: block; }

/* ---------- Ingredients Box ---------- */
.ing_box { float: left; width: 100%; position: relative; text-align: center; background: #fff; border: 1px solid #d2d2d2; margin-top: 10px; }
.ing_box a.fancybox { display: block; cursor: zoom-in; }

/* ---------- Points / Headings ---------- */
p.points-hed { float: left; width: 100%; font-size: 20px; line-height: 30px; font-weight: 700; color: #000; margin-top: 20px; }
.seb_text { font-size: 17px; line-height: 26px; margin-top: 20px; float: left; width: 100%; color: #000; background:#fdfceb; padding: 10px 15px; border-radius: 5px; }

/* ---------- Product Features List ---------- */
ul.prd-det-lst { float: left; width: 100%; margin-top: 25px; display: flex; flex-wrap: wrap; row-gap: 10px; }
ul.prd-det-lst li { font-size: 20px; line-height: 26px; background: url(../images/tick.png) left 3px no-repeat; background-size: 21px; font-weight: 500; padding-left: 35px; text-transform: capitalize; width: 100%; }

/* ---------- Package / Tier Selection ---------- */
.package__selection { margin-top: 20px; border-radius: 5px; float: left; width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; row-gap: 20px; }
.package__selection li { width: 49%; text-align: center; cursor: pointer; padding-bottom: 15px; position: relative; border-radius: 10px; box-shadow: 0 0 9px 2px rgba(0, 0, 0, 0.1); transition: all ease 1.5s; border: 1px solid #fff; }
.package__selection li.active, .package__selection li:hover { border: 1px solid #fd6334; animation: shadow-pulse 1.5s infinite; }
@keyframes shadow-pulse { 0% {box-shadow: 0 0 0 0 rgba(0,0,0,.7)} 50% {box-shadow: 0 0 0 0 rgba(0,0,0,.3)} 100% {box-shadow: 0 0 0 15px transparent} }
.package__selection li img { width: 180px; position: absolute; z-index: 1; left: 0; top: 12px; display:none; }
.package__selection li p { color: #0a0a0a; font-size: 20px; line-height: 30px; font-weight: bold; text-transform: uppercase; padding: 17px 0 15px; position: relative; }
.package__selection li p:after { content: ""; position: absolute; bottom: 0px; left: 10px; right: 10px; border-bottom: 1px solid #dadedc; }
.package__selection li span { color: #0a0a0a; font-size: 36px; line-height: 40px; font-weight: 700; margin-top: 5px; display: block; text-transform: capitalize; }
.package__selection li span span { font-size: 14px; line-height: 24px; text-transform: uppercase; letter-spacing: 3px; }

/* ---------- Qty List ---------- */
ul.qtylist { margin: 20px 0 0; width: 100%; float: left; }
ul.qtylist li:nth-child(1) { line-height: 38px; font-weight: 300; font-size: 24px; text-align: left; }
ul.qtylist li:nth-child(1) span { font-size: 32px; font-weight: 600; }

/* ---------- Sub Option / Purchase Container ---------- */
.sub-option { float: left; width: 100%; }
.purchase-container { margin: 5px 0 0 0; width: 100%; float: left; display: flex; flex-wrap: nowrap; justify-content: space-between; }
.onetime, .subscribe { float: left; display: inline-block; width: 100%; font-family: inherit; font-size: 18px; line-height: 24px; cursor: pointer; font-weight: 700; }
.buyopt { float: left; width: 49%; background: #fff; text-align: left; font-size: 20px; line-height: 26px; font-weight: 700; padding: 10px 10px 10px 45px; cursor: pointer; letter-spacing: 0.5px; border: 1px solid #fd6334; position: relative; }
.buyopt.active { background: #eff6ff; color: #000; border: 1px solid #fd6334; }
.buyopt input[type=radio] { position: absolute; left: 0; opacity: 0; }
.buyopt input[type=radio] + span { position: absolute; left: 15px; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid #fd6334; top: 50%; margin-top: -9px; }
.buyopt input[type=radio]:checked + span:after { content: ''; position: absolute; width: 8px; height: 8px; background:#fd6334; border-radius: 50%; left: 3px; top: 3px; }

/* ---------- "Why Choose" Section ---------- */
.proDetails-sec2 { float: left; width: 100%; padding: 60px 0; background: #f9feff; }
.proDetails-sec2-left { float:left; width:54%; text-align:left; }
.prdtls-s2-prod-img { position: absolute; right: 0; top: -23px; background: #fff; padding: 40px 0; filter: drop-shadow(1px 2px 2px #d2d2d2); border-radius: 10px; height: 350px; }
.prdtls-s2-img { max-width: 420px; background: #fff; padding: 10px; display: inline-block; }
ul.prd-dtls-s2-list { float: left; width: 100%; margin: 25px 0 0; display: flex; flex-wrap: wrap; row-gap: 20px; }
ul.prd-dtls-s2-list li { float: left; width: 47%; padding: 0 30px 0 50px; position: relative; text-align: left; }
ul.prd-dtls-s2-list li:after { position: absolute; right: 0; top: 0px; width: 1px; background: #e1e1e1; height: 40px; content: ""; }
ul.prd-dtls-s2-list li:nth-child(2), ul.prd-dtls-s2-list li:nth-child(4) { padding-right:0; margin-left:6%; }
ul.prd-dtls-s2-list li:nth-child(2):after, ul.prd-dtls-s2-list li:nth-child(4):after { display:none; }
ul.prd-dtls-s2-list li img { position:absolute; left:0; top:0; }
ul.prd-dtls-s2-list li span { float: left; width: 100%; font-size: 20px; line-height: 32px; color: #000000; font-weight: 600; }

/* ---------- Bundle Images ---------- */
.bundle-image-container { position: relative; display: flex; justify-content: center; align-items: flex-end; padding: 20px 10px; min-height: 280px; }
.bundle-image-container img { width: 33%; max-width: 140px; height: auto; transition: transform 0.3s; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1)); }
.bundle-image-container img:nth-child(1) { transform: rotate(-8deg) translateX(12px); z-index: 1; }
.bundle-image-container img:nth-child(2) { transform: scale(1.1); z-index: 2; }
.bundle-image-container img:nth-child(3) { transform: rotate(8deg) translateX(-12px); z-index: 1; }
.prod-det-s1-lft .bundle-image-container { min-height: 350px; padding: 30px 15px; }
.prod-det-s1-lft .bundle-image-container img { max-width: 180px; }
.bundle-ingredients { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; width: 100%; overflow: hidden; }
.bundle-ingredients a { flex: 1 1 calc(33.33% - 8px); max-width: calc(33.33% - 8px); display: block; border: 1px solid #eee; border-radius: 6px; padding: 5px; background: #fff; cursor: zoom-in; transition: border-color 0.2s, box-shadow 0.2s; }
.bundle-ingredients a:hover { border-color: #2c7a2c; box-shadow: 0 2px 8px rgba(44,122,44,0.15); }
.bundle-ingredients img { width: 100%; height: auto; display: block; }
.bundle-badge { display: inline-block; background: linear-gradient(135deg, #2c7a2c, #4caf50); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 3px 10px; border-radius: 12px; margin-bottom: 8px; letter-spacing: 0.5px; }

/* ============================================
   RESPONSIVE
   ============================================ */

@media only screen and (max-width:1187px) {
    .prod-det-s1-lft { width: 40%; }
    .prdtls-s2-img { width: 420px; top: 100px; }
    .proDetails-sec2-left { width: 55%; }
    .common-heading { font-size: 40px; line-height: 48px; }
    .top_seller_box { width: 32%; }
}

@media only screen and (max-width:1023px) {
    .common_heading { font-size:38px; line-height:48px; }
    .common-heading { font-size: 36px; line-height: 44px; }
    .section_2 { padding:50px 0 50px; }
    .top_seller_box { width:49%; }
    .common-sub-hdg { font-size: 20px; line-height: 20px; }
    .common-text { font-size:16px; line-height:24px; }
    .package__selection { margin-top:80px; }
    .package__selection li span { font-size: 22px; line-height: 22px; }
    .package__selection li p { font-size:18px; }
    ul.prd-det-lst li { font-size:17px; line-height:24px; background-size: 16px; padding-left: 20px; }
    .proDetails-sec2-left { width:100%; }
    .prdtls-s2-img { width: 338px; top: 20px; }
    .common_button { margin-top:20px; max-width: 220px; }
}

@media only screen and (max-width:767px) {
    a.logo.text-logo { font-size: 15px; }
    .common_heading { font-size:30px; line-height:38px; }
    .common-heading { font-size: 28px; line-height: 36px; }
    .common-sub-hdg { font-size: 20px; line-height: 20px; }
    .common-text { font-size:16px; line-height:24px; }
    .common_button { margin-top:20px; max-width: 220px; }
    .section_2 { padding:25px 0 35px; }
    .top_seller_box { width:100%; }
    .top_seller { margin-top: 20px; }
    .prod-det-s1 { padding:20px 0 30px; }
    .prod-det-s1-lft, .prod-det-s1-rgt { width:100%; }
    .prod-det-s1-lft img { max-width: 100%; margin: 0 auto; display: block; }
    .prod-det-s1-rgt { margin-top:0; }
    .prd-det-tx { font-size: 16px; line-height: 24px; padding-top: 10px; margin-top: 0px; }
    .sp-prod-rft { float: left; width:100%; }
    .package__selection { margin-top: 30px; }
    .package__selection li { width: 49%; padding: 10px; display: flex; flex-wrap: nowrap; align-items: center; }
    .package__selection li p { font-size: 16px; line-height: 24px; padding: 6px 0; }
    .package__selection li span { font-size: 26px; line-height: 30px; }
    .package__selection li span span { font-size: 13px; line-height: 21px; letter-spacing: 1px; }
    .seb_text { font-size: 15px; line-height: 23px; padding: 5px 10px; }
    .proDetails-sec2 { padding:0 0 30px; }
    .proDetails-sec2-left { text-align:center; }
    .prdtls-s2-prod-img { position:static; margin:10px 0 0; }
    .prdtls-s2-img { position:static; display:inline-block; vertical-align:middle; margin:20px 0 0; max-width:100%; width:100%; }
    ul.prd-dtls-s2-list { margin:20px 0 0; }
    ul.prd-dtls-s2-list li { width:49%; }
    ul.prd-dtls-s2-list li, ul.prd-dtls-s2-list li:nth-child(2), ul.prd-dtls-s2-list li:nth-child(4) { padding: 0 0 0 50px; margin:0; }
    ul.prd-dtls-s2-list li:after { display:none; }
    ul.prd-dtls-s2-list li span { font-size: 16px; line-height: 26px; }
    ul.prd-dtls-s2-list li img { top:-6px; }
    .prod-det-s1-rgt .btn-box .common_button { margin: 0; width:100%; max-width:100%; }
    ul.prd-det-lst li { font-size:17px; line-height:24px; }
    .bundle-image-container { min-height: 180px; padding: 15px 5px; }
    .bundle-image-container img { max-width: 100px; }
    .top_seller_product .bundle-image-container img { max-width: 80px; max-height: 160px; }
    .prod-det-s1-lft .bundle-image-container { min-height: 220px; }
    .prod-det-s1-lft .bundle-image-container img { max-width: 130px; }
    .bundle-ingredients a { flex: 1 1 calc(50% - 6px); max-width: calc(50% - 6px); }
}

/* ---------- Product Cards (includes_render_cards.php) ---------- */
.top_seller_product {
    padding: 20px 10px;
    background: #ecfbff;
    border-radius: 5px;
    height: 350px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.top_seller_product img { display:block; max-width: 100%; max-height: 310px; width: auto; height: auto; }
.top_seller_product .bundle-image-container { min-height: auto; padding: 10px 5px; width: 100%; }
.top_seller_product .bundle-image-container img { max-width: 100px; max-height: 200px; width: 30%; }
.top_seller_content { float: left; width: 100%; }
.seller_box_product_name { float: left; width: 100%; margin: 25px 0 10px; }
.seller_box_product_name h3 { font-size: 18px; line-height: 28px; font-weight: 700; text-align: left; color: #033442; }
.seller_box_product_name img { width:44px; display:none; }
.seller_box_product_text { font-size: 18px; line-height: 28px; color: #000000; text-align: left; margin-bottom: 20px; font-weight: 300; display:none; }
.product_price { float: left; width: 100%; text-align: left; position: relative; }
.product_price h3 { float:left; width:100%; font-size:21px; line-height:31px; color:#000; font-weight:600; padding:3px 0; border-top:1px solid #e4e7e7; border-bottom:1px solid #e4e7e7; }
.product_price h3 span { font-size:18px; line-height:28px; color:#6a6c77; font-weight:400; }
.product_price small { float: left; font-size: 14px; line-height: 20px; color: #6a6c77; font-weight: 500; margin-top:20px; }
.product_price small span { display:block; font-size:24px; line-height: 22px; font-weight: 700; }
.top_seller_button { cursor: pointer; float: right; height: 50px; width: 50%; font-size: 17px; line-height: 47px; font-weight: 600; margin-top: -37px; transition: all ease 0.3s; background: #fff; color: #000; border-radius: 5px; border: 1px solid #fd6334; position: relative; text-align: center; }
