/* ==========================================================
   Global Mobile-First Typography & Content Stylesheet
   Version: 1.0
   Suitable for blogs, AI content, documentation, articles,
   Tarot Shakti, Divine Connectionz and general web pages.
   ========================================================== */

/* ---------- RESET ---------- */

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    font-size:16px;
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%;
}

body{
    margin:0;
    padding:16px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans Tamil",sans-serif;
    font-size:1rem;
    line-height:1.75;
    color:#222;
    background:#fff;
    text-rendering:optimizeLegibility;
    word-wrap:break-word;
    overflow-wrap:break-word;
}

/* ---------- HEADINGS ---------- */

h1,h2,h3,h4,h5,h6{
    margin:1.5em 0 .6em;
    font-weight:700;
    line-height:1.3;
    color:#111;
}

h1{font-size:2rem;}
h2{font-size:1.75rem;}
h3{font-size:1.5rem;}
h4{font-size:1.3rem;}
h5{font-size:1.15rem;}
h6{font-size:1rem;}

h1:first-child,
h2:first-child,
h3:first-child{
    margin-top:0;
}

/* ---------- PARAGRAPHS ---------- */

p{
    margin:0 0 18px;
    font-size:1rem;
}

/* ---------- LINKS ---------- */

a{
    color:#1565C0;
    text-decoration:none;
    font-weight:500;
    transition:.2s ease;
}

a:hover{
    color:#0D47A1;
    text-decoration:underline;
}

/* ---------- LISTS ---------- */

ul,ol{
    margin:18px 0;
    padding-left:24px;
}

li{
    margin-bottom:10px;
    line-height:1.7;
}

li p{
    margin-bottom:8px;
}

/* ---------- BLOCKQUOTE ---------- */

blockquote{
    margin:20px 0;
    padding:14px 18px;
    border-left:4px solid #2196F3;
    background:#f8f9fa;
    font-style:italic;
    border-radius:6px;
}

/* ---------- IMAGES ---------- */

img{
    max-width:100%;
    height:auto;
    display:block;
    margin:20px auto;
    border-radius:8px;
}

/* ---------- VIDEO ---------- */

video,
iframe{
    width:100%;
    max-width:100%;
    aspect-ratio:16/9;
    border:none;
    border-radius:10px;
}

/* ---------- TABLE ---------- */

table{
    width:100%;
    border-collapse:collapse;
    margin:20px 0;
    display:block;
    overflow-x:auto;
}

th,td{
    border:1px solid #ddd;
    padding:10px;
    text-align:left;
}

th{
    background:#f5f5f5;
    font-weight:600;
}

/* ---------- CODE ---------- */

code{
    background:#f4f4f4;
    padding:2px 6px;
    border-radius:4px;
    font-family:Consolas,Monaco,monospace;
}

pre{
    background:#272822;
    color:#fff;
    padding:14px;
    border-radius:8px;
    overflow:auto;
}

pre code{
    background:none;
    padding:0;
    color:inherit;
}

/* ---------- INLINE ELEMENTS ---------- */

strong{font-weight:700;}
em{font-style:italic;}
small{font-size:.9rem;}
sup,sub{font-size:70%;}
mark{background:#FFF59D;}
kbd{
    background:#333;
    color:#fff;
    padding:2px 6px;
    border-radius:4px;
}
hr{
    border:none;
    border-top:1px solid #ddd;
    margin:30px 0;
}

/* ---------- FORMS ---------- */

input,
select,
textarea,
button{
    font:inherit;
}

input,
select,
textarea{
    width:100%;
    padding:12px;
    margin-bottom:16px;
    border:1px solid #ccc;
    border-radius:8px;
}

button{
    padding:14px 18px;
    border:none;
    border-radius:8px;
    cursor:pointer;
}

/* ---------- SPACING ---------- */

p+p{
    margin-top:18px;
}

/* ---------- SELECTION ---------- */

::selection{
    background:#1976D2;
    color:#fff;
}

/* ---------- TABLETS ---------- */

@media (min-width:768px){

body{
    max-width:760px;
    margin:auto;
    padding:24px;
    font-size:18px;
}

h1{font-size:2.4rem;}
h2{font-size:2rem;}
h3{font-size:1.7rem;}
h4{font-size:1.4rem;}
h5{font-size:1.2rem;}
}

/* ---------- DESKTOP ---------- */

@media (min-width:1200px){

body{
    max-width:900px;
    padding:32px;
}
}

/* ---------- DARK MODE ---------- */
@media (prefers-color-scheme:dark){

body{

background:#121212;
color:#f5f5f5;

}

.card{

background:#ffffff;
color:#333;

}

.card p{

color:#444;

}

.card h2,
.card h3{

color:#2E7D32;

}

}

/* =====================================
   VIDEO GALLERY
===================================== */

.video-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

    margin-top:40px;

}

.video-grid .card{

    text-align:center;

    background:#fff;

    border-radius:18px;

    padding:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.10);

}

.video-grid video{

    width:100%;

    aspect-ratio:9/16;

    object-fit:cover;

    border-radius:15px;

    background:#000;

}

.video-grid h3{

    margin-top:18px;

    color:#2E7D32;

}

.video-grid p{

    font-size:15px;

}

/*=========================================
FOOTER
=========================================*/

footer{

margin-top:60px;
padding:40px 20px;
background:#1B5E20;
color:white;
text-align:center;

}

.footer-content{

max-width:900px;
margin:auto;

}

.footer-content img{

margin:auto;
margin-bottom:20px;

}

/*=========================================
FLOATING BUTTONS
=========================================*/

.floating-whatsapp{

position:fixed;
right:20px;
bottom:20px;

width:60px;
height:60px;

background:#25D366;

border-radius:50%;

display:flex;
justify-content:center;
align-items:center;

color:white;
font-size:30px;

text-decoration:none;

box-shadow:0 5px 20px rgba(0,0,0,.3);

z-index:999;

}

.floating-call{

position:fixed;
left:20px;
bottom:20px;

width:60px;
height:60px;

background:#2E7D32;

border-radius:50%;

display:flex;
justify-content:center;
align-items:center;

color:white;
font-size:28px;

text-decoration:none;

box-shadow:0 5px 20px rgba(0,0,0,.3);

z-index:999;

}

#topButton{

position:fixed;

right:20px;

bottom:95px;

display:none;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#1B5E20;

color:white;

font-size:22px;

cursor:pointer;

box-shadow:0 5px 20px rgba(0,0,0,.3);

z-index:999;

}

.floating-call:hover,
.floating-whatsapp:hover,
#topButton:hover{

transform:scale(1.08);

transition:.3s;

}



/* =====================================
   COMMON LAYOUT
===================================== */

.container{
    max-width:1200px;
    margin:auto;
    padding:20px;
}

.section-title{
    text-align:center;
    color:#2E7D32;
    margin-bottom:25px;
    font-size:2rem;
}

.card{
    background:#ffffff;
    color:#333;
    border-radius:15px;
    padding:25px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    margin-bottom:25px;
    transition:.3s;
}

.card h2,
.card h3,
.card h4{
    color:#2E7D32;
}

.card p{
    color:#444;
    line-height:1.8;
}

.card a{
    color:#1976D2;
}



.card:hover{
    transform:translateY(-5px);
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
    margin-top:30px;
}

.feature-grid .card{
    text-align:center;
}

.feature-grid i{
    color:#2E7D32;
    margin-bottom:20px;
}

.btn-primary{
    display:inline-block;
    padding:14px 28px;
    background:#2E7D32;
    color:#fff;
    border-radius:30px;
    text-decoration:none;
    font-weight:bold;
}

.btn-primary:hover{
    background:#1B5E20;
}

.fade-in{
    opacity:0;
    transform:translateY(30px);
    transition:all .8s ease;
}

.fade-in.show{
    opacity:1;
    transform:translateY(0);
}
