/*
Theme Name: ArogyappachaPRO
Theme URI: https://starkwebtechnologies.com
Author: Stark Web Technologies
Author URI: https://starkwebtechnologies.com
Description: A professional WordPress theme for news and magazine websites with modern design, responsive layouts, and optimized performance.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: news, magazine, blog, custom-menu, featured-images, post-formats, rtl-language-support, sticky-post, translation-ready, responsive-layout
Text Domain: arogyappachapro
*/

/* ========================================
   CSS Custom Properties (Variables)
   ======================================== */
:root {
    --color-primary: #5a987b;
    --color-primary-dark: #3C6753;
    --color-primary-light: #b3d3bb;
    --color-primary-bg: #d6e5de;
    --color-secondary: #55826D;
    --color-accent: #37644f;
    --color-white: #ffffff;
    --color-black: #000000;
    --color-gray-light: #faf4f1;
    --color-gray-medium: #eeeeee;
    --color-gray-dark: #4d5765;
    --color-body: #355A49;
    --color-danger: #dc3545;
    --font-primary: 'Alumni Sans', system-ui, -apple-system, sans-serif;
    --radius-sm: 5px;
    --radius-md: 10px;
    --radius-lg: 30px;
    --radius-full: 50%;
    --shadow-lg: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
}

/* ========================================
   CSS Reset & Base Styles
   ======================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    padding: 0;
    font-family: var(--font-primary);
    font-size: 22px;
    line-height: 36px;
    color: var(--color-body);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: var(--spacing-md);
    line-height: 1.2;
    font-weight: 600;
}

h1 { font-size: 25.89px; color: var(--color-primary); }
h2 { font-size: 41.89px; text-transform: uppercase; }

p { 
    margin: 0; 
    padding: 0; 
    font-family: var(--font-primary); 
    font-size: 14px; 
    font-weight: 400;
    line-height: 1.5;
}

a { color: var(--color-black); text-decoration: none; transition: color var(--transition-fast); }
a:hover, a:focus { text-decoration: none; outline: none; }

ul { padding-left: 0; margin: 0; }
li { text-decoration: none; list-style-type: none; }

img { max-width: 100%; height: auto; display: block; }
.img-fluid { border-radius: var(--radius-md); }
strong { color: var(--color-primary); }

/* ========================================
   Layout
   ======================================== */
.page-wrap { min-height: 100%; }
.content { min-height: 300px; margin-top: 100px; margin-bottom: 100px; }
.wrap { overflow-x: hidden; }
.container1 { display: flex; height: 60px; background-color: #161c27; align-items: center; justify-content: space-between; flex-wrap: wrap; }

/* ========================================
   Header Styles
   ======================================== */
header .top-bar { display: flex; justify-content: center; height: auto; align-items: center; }
header .top-bar li a { padding: 10px; }
header .top-bar li .sub-menu { display: none; }
header .top-bar .menu-item-has-children:hover .sub-menu { display: block; }
.top-bar .row { margin: 4px 0; }
header .menubox { text-align: center; }
.top-bar, .socialmenu { background: var(--color-primary-bg); color: var(--color-primary); }

.fa-brands, .fa-solid { color: var(--color-primary) !important; }
.fa:hover { transition: opacity var(--transition-base), transform var(--transition-base); transform: scale(1.5); opacity: 0.5; }
.fa-whatsapp { color: var(--color-white) !important; }
i.fa-solid.fa-euro-sign { color: var(--color-white) !important; }

.navbar { padding: 0; }
.navbar-brand { font-size: 30px; font-weight: 600; color: var(--color-black); }
.menubar { display: flex; align-items: center; }
.rightgo { text-align: end; }

ul#menu-primary-navigation li { text-transform: capitalize; }
ul#menu-primary-navigation li a { color: var(--color-white); text-transform: uppercase; transition: all var(--transition-fast); }
ul#menu-primary-navigation li a:hover { color: #0b6702; background-color: #d8f3c9; }

.boxy { display: flex; align-items: center; }
.item:first-child, .item:nth-child(2) { flex: 0 0 auto; }
.item:last-child { margin-left: auto; }

.sitelogo { font-size: 30px; font-weight: 600; color: var(--color-primary-dark); }
.sitecaption { font-size: 16px; color: var(--color-secondary); }
.bg-light, .bar { background-color: #38bc8d !important; }

/* ========================================
   Buttons
   ======================================== */
.btn-primary { padding: 20px 30px; background-color: var(--color-primary); border: 1px solid #c0dcc4; transition: all var(--transition-fast); }
.btn-primary:hover, .btn-primary:focus { background-color: var(--color-white); color: var(--color-primary); }
.btn-primary2 { padding: 10px 15px; }
.btn-secondary { background-color: var(--color-primary); border-color: #6c757d; padding: 10px 15px; transition: all var(--transition-fast); }
.btn-secondary:hover, .btn-secondary:focus { color: var(--color-primary); background-color: var(--color-white); }
.btn-success { color: var(--color-white); background-color: var(--color-primary); }
.btn-home:hover { background-color: #fe9721; }
.bookbtn { padding: 18px 50px; border-radius: var(--radius-sm); box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.13); font-size: 15px; border: none; line-height: 1.4; font-weight: 400; transition: all var(--transition-fast); }

/* ========================================
   Banner & Slider
   ======================================== */
.banner { background-color: antiquewhite; }
.carousel-caption { position: absolute; top: 200px; left: 8%; text-align: left; }
.carousel-caption p { font-size: 60px; margin-top: 50px; line-height: 100px; font-weight: bold; }
.carousel-control-next, .carousel-control-prev { width: 6%; }

/* ========================================
   About Section
   ======================================== */
.about { margin-top: 100px; }
.aboutbox { margin-left: 100px; }
.bigheads { font-size: 67.77px; font-weight: 500; }
.subheads { font-size: 41.89px; text-align: center; }
.textleft { text-align: left; }
.maincaption { font-size: 46px; font-weight: 600; }
.boldcounter { font-size: 40px; }
.deep { color: var(--color-primary); }

/* ========================================
   Cards & Services
   ======================================== */
.card { border-radius: var(--radius-md); overflow: hidden; transition: transform var(--transition-base), box-shadow var(--transition-base); }
.card:hover { transform: translateY(-5px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); }
.card-img, .card-img-top { max-width: 100%; max-height: 100%; border-top-left-radius: var(--radius-md); border-top-right-radius: var(--radius-md); position: relative; }
.card-body { 
    background-color: var(--color-gray-light); 
    border-radius: 0 0 var(--radius-md) var(--radius-md); 
    padding: 15px; 
}
.card-body p {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color-body);
    margin: 0;
    padding: 0;
}
.trans { background-color: transparent; }
.card-title,
h5.card-title { 
    font-size: 16px; 
    font-weight: 700; 
    line-height: 1.3;
    max-width: 100%; 
    margin-bottom: 8px; 
    margin-top: 0;
}
.card-title a { 
    color: var(--color-primary); 
    transition: color var(--transition-fast); 
    font-weight: 700; 
}
.card-title a:hover { color: var(--color-primary-dark); }
.card-deck .card { text-align: center; }
.card-footer { color: var(--color-primary); background-color: var(--color-gray-light); transition: all var(--transition-fast); }
.card-footer:hover { background-color: var(--color-primary); color: var(--color-primary-light); }
.cards-wrapper { display: flex; justify-content: center; }

.services { text-align: center; border-radius: 0 0 var(--radius-md) var(--radius-md); }
.services heading { margin-top: 10px; }
.servicerow { justify-content: center; text-align: center; }
.servicebox { padding: 20px; border: 1px solid var(--color-gray-medium); border-radius: var(--radius-sm); text-align: center; transition: all var(--transition-base); }
.servicebox:hover { box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); }
.servicetitle { font-size: 20px; margin-top: 20px; color: var(--color-primary); font-weight: bold; }
.tags { background-color: var(--color-danger); color: var(--color-white); position: absolute; bottom: 20px; border-radius: var(--radius-lg); margin: auto; padding: 5px 15px; margin-left: 10px; }

/* ========================================
   Swiper
   ======================================== */
.swiper { width: 100%; }
.swiper-button-prev::after, .swiper-button-next::after { color: var(--color-white); font-size: initial !important; }

/* ========================================
   Counter & Data Box
   ======================================== */
.databox { display: flex; align-items: center; text-align: center; border: #6c757d; height: 150px; box-shadow: var(--shadow-lg); z-index: 100; background-color: var(--color-gray-light); border-radius: var(--radius-md); }
h3.counters { color: var(--color-primary-dark); }

/* ========================================
   News & Articles
   ======================================== */
.newsimg { position: relative; }
.categorysticker {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    padding: 4px 12px;
    font-size: 11px;
    font-weight: 600;
    color: var(--color-white);
    position: absolute;
    bottom: 10px;
    left: 10px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Hide empty stickers that appear after ad banners */
img.adbanner + .categorysticker,
.newsimg.adbanner + .categorysticker,
.container > .categorysticker,
.pt-3 > .categorysticker {
    display: none !important;
}
.adbanner { 
    margin-bottom: 30px; 
    width: calc(100% + 24px);
    margin-left: -12px;
    margin-right: -12px;
    padding: 0;
    max-width: none;
}
.article-section-titles { margin-top: 20px; margin-bottom: 20px; text-align: center; }
.rmbutton { margin-top: 20px; margin-bottom: 20px; }
.center { text-align: center; }
.vidcols { margin-bottom: 50px; }

/* ========================================
   Page Header
   ======================================== */
.headimg { background-color: #97b19b; padding: 5% 0; display: flex; align-items: center; justify-content: center; margin-bottom: 75px; }
.pagetitle { font-size: 50px; font-weight: bold; color: var(--color-white); text-transform: uppercase; }

/* ========================================
   Forms
   ======================================== */
.form-control { height: 50px; border: 1px solid var(--color-primary-light); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.form-control:focus { border-color: var(--color-primary); box-shadow: 0 0 0 0.2rem rgba(90, 152, 123, 0.25); }
.form8box { display: flex; align-items: center; border-radius: var(--radius-sm); margin: 60px auto; }
.form8box .fa-solid, .form8box .fa-regular { font-size: 18px; margin: 0 15px; }
.cform8 { background-color: var(--color-primary-light); padding: 42px; border-radius: var(--radius-sm); text-align: center; }

/* ========================================
   Misc Sections
   ======================================== */
.whybox { background-color: #d1d1e1; padding: 50px; text-align: justify; }
.whybox li { list-style-type: disc; }
.testimonials { padding-top: 50px; text-align: center; border-radius: var(--radius-md) var(--radius-md) 0 0; }
.testimg img { border-radius: var(--radius-full); }
.applybox { margin: 50px 0; }
.applyboxcontent { text-align: center; display: flex; align-items: center; padding: 0 50px; }
.courses { text-align: center; margin-top: 50px; }
.hr2 { border: 0; height: 0.1px; background-image: linear-gradient(to right, rgba(159, 159, 159, 0), rgba(9, 84, 132, 1), rgba(159, 159, 159, 0)); margin: 50px 0; }

/* ========================================
   Dropdowns
   ======================================== */
.dropdown-menu { top: 0; display: block; visibility: hidden; opacity: 0; transition: all var(--transition-fast); }
.dropdown-menu.show { transition: top 0.5s ease; top: 100%; visibility: visible; opacity: 1; }

/* ========================================
   Headings
   ======================================== */
.mainhead { font-size: 20px; }
.boldhead { font-size: 60px; font-weight: 600; }
.greytxt { color: var(--color-gray-dark); }

/* ========================================
   Fixed Elements
   ======================================== */
.callbox { position: fixed; bottom: 100px; right: 50px; display: flex; flex-direction: column; z-index: 1000; }
.wabox { margin-bottom: 10px; }
#myBtn { display: none; position: fixed; bottom: 20px; right: 50px; z-index: 9999; font-size: 18px; border: none; outline: none; background-color: #eefff0; color: var(--color-white); cursor: pointer; padding: 10px; height: 50px; width: 50px; border-radius: var(--radius-full); transition: background-color var(--transition-fast); }
#myBtn:hover { background-color: var(--color-accent); }

/* ========================================
   Footer
   ======================================== */
.footerbar { background: var(--color-primary); color: var(--color-primary-light); padding-top: 50px; background-repeat: no-repeat; background-size: contain; margin-top: 50px; background-blend-mode: color-burn; position: relative; }
.footerbar h1 { margin-bottom: 16px; color: var(--color-white); }
.footerbar h5 { margin-bottom: 30px; }
.footerbar ul li { list-style-type: none; }
.footerbar ul li:not(:last-child) { padding-bottom: 16px; }
.footerbar ul li a { color: var(--color-white); transition: opacity var(--transition-fast); }
.footerbar ul li a:hover { opacity: 0.8; }
.footerbar .fa-solid { color: var(--color-primary-light) !important; }
li.widget { list-style-type: none; }
.footer-bottom { height: 50px; display: flex; align-items: center; background: var(--color-black); }
.footerbar ul li a, .footer-bottom { color: var(--color-primary-light) !important; }
.foot-right { text-align: right; }
.mobblock { display: contents; }

/* ========================================
   Accessibility
   ======================================== */
.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; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: 14px; font-weight: bold; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }

/* ========================================
   WordPress Core
   ======================================== */
.alignleft { float: left; margin-right: var(--spacing-md); margin-bottom: var(--spacing-md); }
.alignright { float: right; margin-left: var(--spacing-md); margin-bottom: var(--spacing-md); }
.aligncenter { display: block; margin-left: auto; margin-right: auto; margin-bottom: var(--spacing-md); }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 0.875rem; color: var(--color-gray-dark); text-align: center; padding: var(--spacing-sm); }
.sticky { border-left: 4px solid var(--color-primary); padding-left: var(--spacing-md); }

/* ========================================
   Responsive - Tablet
   ======================================== */
@media (max-width: 1200px) {
    .navbar-brand img { max-width: 100px; }
    ul#menu-primary-navigation li a { font-size: x-small; }
    .carousel-caption p { font-size: 1rem; margin-top: 20px; line-height: 10px; }
}

@media (min-width: 992px) and (max-width: 1400px) {
    .navbar .nav > .nav-item:not(:last-child) { margin-right: 0; }
}

@media (max-width: 990px) {
    .navbar-brand img { max-width: 125px; }
    .navbar .nav > .nav-item:not(:last-child) { margin-right: 0; }
}

/* ========================================
   Responsive - Mobile
   ======================================== */
@media (max-width: 767px) {
    .mobblock { display: flex; align-items: center; margin: inherit; }
    .container { max-width: 100% !important; }
    .pagetitle { font-size: 25px; }
    .form8box { display: block !important; }
    .navbar-toggler { color: #afd54e; border: 1px solid #6c757d; }
    .col-lg-12.noborder { padding-left: 15px; }
    p { justify-content: center; }
    body { overflow-x: hidden; }
    .banner { text-align: center; }
    .container1 { justify-content: center; }
    .aboutbox { margin-left: 0; text-align: center; }
    .btn-home1 { background: var(--color-black); color: var(--color-white); width: 50%; margin-right: 10px; }
    .btn-home1:hover { background-color: #fe9721; }
    .carousel-caption { text-align: left; top: 10%; transform: translateY(-10%); }
    .carousel-caption p { font-size: 20px; line-height: 20px; padding-top: 0; text-align: left; margin: 35px 5px 0; }
    .carousel-caption h5 { font-size: 12px; }
    .btn-primary { padding: 5px 10px; }
    .carousel-indicators li { width: 10px; z-index: -100; }
    .about { margin-top: 0; }
    .bigheads { font-size: 10vw; }
    .subheads { font-size: 7vw; }
    .databox { display: flex; align-items: center; text-align: center; border: #6c757d; height: 150px; box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px; z-index: 9999; }
    .databox h3 { font-size: 15px; }
    .footer-bottom { height: auto; padding: var(--spacing-md) 0; }
    .top-bar p { font-size: 10px; text-align: center; line-height: 24px; }
    .footer-bottom p { text-align: left; font-size: 12px; line-height: 16px; }
    .dropdown-menu { display: none; visibility: hidden; opacity: 0; border: 0; }
    .dropdown-menu.show { transition: top 1s; top: 100%; visibility: visible; opacity: 1; display: block; }
    ul#menu-primary-navigation li { float: none; }
    .btn-primary:hover { background-color: var(--color-white); color: var(--color-primary); }
    .carousel-control-next, .carousel-control-prev { width: 6%; }
    #happyforms-form-91 { background-color: aliceblue; padding: 75px; border: 1px solid var(--color-primary); border-radius: var(--radius-sm); }
    ul#menu-primary-navigation > li:last-child a:hover { color: var(--color-primary); background-color: aliceblue; border-radius: var(--radius-sm); border-color: #0062cc; }
    #myBtn, .callbox { right: 20px; }
    .item.item-3 { display: none; }
    .sitelogo { font-size: 30px; }
}

/* ========================================
   Homepage Specific Styles
   ======================================== */

/* First row - equal height columns */
.front-page .container > .row:first-of-type {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.front-page .container > .row:first-of-type > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

.front-page .container > .row:first-of-type > [class*="col-"] > .mt-5 {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Left column (col-lg-3) - 2 cards with gap, total height = 2nd col */
.front-page .col-lg-3 .mt-5 {
    gap: 15px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.front-page .col-lg-3 .mt-5 > a {
    display: flex;
    flex: 1;
    min-height: 0;
}

.front-page .col-lg-3 .card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.front-page .col-lg-3 .card-img {
    flex-shrink: 0;
}

.front-page .col-lg-3 .card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 10px 15px 15px 15px;
    min-height: 0;
    overflow: hidden;
}

.front-page .col-lg-3 .card-body h5 {
    flex-shrink: 0;
}

.front-page .col-lg-3 .card-body p {
    flex: 1;
    margin: 0;
    min-height: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
}

/* Middle column (col-lg-6) specific */
.front-page .col-lg-6 .mt-5 {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.front-page .col-lg-6 .mt-5 > a {
    display: flex;
    flex: 1;
    height: 100%;
}

.front-page .col-lg-6 .card {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.front-page .col-lg-6 .card-img {
    flex-shrink: 0;
}

.front-page .col-lg-6 .card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 15px;
}

.front-page .col-lg-6 .card-body h5 {
    flex-shrink: 0;
}

.front-page .col-lg-6 .card-body p {
    flex: 1;
    margin: 0;
}

/* Right column (col-lg-3 last) */
.front-page .row:first-of-type > .col-lg-3:last-child .mt-5 {
    gap: 15px;
}

.front-page .row:first-of-type > .col-lg-3:last-child .mt-5 > a {
    display: flex;
    flex: 1;
}

.front-page .row:first-of-type > .col-lg-3:last-child .card {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Remove br tag spacing */
.front-page .col-lg-3 br,
.front-page .col-lg-6 br {
    display: none;
}

.front-page .row > .col-lg-3 .card-body,
.front-page .row > .col-lg-6 .card-body {
    padding: 15px;
}

/* All card titles bold */
.front-page .card-title,
.front-page .card-title a,
.front-page h5.card-title,
h5.card-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 8px;
}

/* All card paragraph text normal */
.front-page .card-body p,
.front-page .card-text,
.card-body p {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color-body);
    margin: 0;
}

/* Section titles bold */
.article-section-titles,
h6.article-section-titles {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    margin: 20px 0;
}

.article-section-titles strong {
    font-weight: 700;
    color: var(--color-primary);
}

/* ========================================
   Print Styles
   ======================================== */
@media print {
    .callbox, #myBtn, .top-bar, .menubar, .footer-bottom { display: none !important; }
    body { font-size: 12pt; line-height: 1.5; color: #000; background: #fff; }
    a { color: #000; text-decoration: underline; }
    .footerbar { background: #fff; color: #000; }
}