/* ==========================================================================
   Arya Samaj Theme — Core Styles
   ========================================================================== */

:root{
	--arya-orange:#f68f1e;
	--arya-teal:#53c2ba;
	--arya-white:#ffffff;
	--arya-black:#111111;
	--arya-radius:14px;
	--arya-shadow:0 10px 30px rgba(0,0,0,.12);
	--arya-header-h:88px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ overflow-x:hidden; }
body{
	margin:0; padding:0;
	max-width:100%;
	overflow-x:hidden;
	font-family:'Quicksand', sans-serif;
	color:#333;
	background:#fff;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	overflow-wrap:break-word;
	word-wrap:break-word;
}
h1,h2,h3,h4,h5,h6{ font-family:'Overlock', sans-serif; color:var(--arya-black); line-height:1.25; margin:0 0 .5em; overflow-wrap:break-word; word-wrap:break-word; }
a{ color:var(--arya-teal); }
img, video, iframe, embed, object{ max-width:100%; height:auto; }
img{ display:block; }
ul{ margin:0; padding:0; list-style:none; }

/* ---- Raw post content safety net ----
   the_content()/widgets can contain arbitrary pasted HTML (wide tables, <pre> code
   blocks, manually-embedded <iframe>s with fixed width/height attributes) that a
   theme has no control over. Without this, a single wide table or old-style embed
   forces the *entire page* to scroll horizontally on mobile. Scoping the scroll to
   the element itself (rather than the page) fixes that without touching the markup. */
.arya-page-content, .arya-single-content, .arya-widget, .arya-blog-excerpt{
	max-width:100%;
	overflow-wrap:break-word;
	word-wrap:break-word;
}
.arya-page-content table, .arya-single-content table, .arya-widget table{
	display:block;
	max-width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	border-collapse:collapse;
}
.arya-page-content pre, .arya-single-content pre, .arya-widget pre{
	max-width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	white-space:pre;
	word-wrap:normal;
}
.arya-page-content iframe, .arya-single-content iframe{ width:100%; }

.arya-container{ max-width:1240px; margin:0 auto; padding:0 24px; }
.arya-section{ padding:70px 0; }
.arya-section-tinted{ background:#f7fbfb; }

.arya-btn{
	display:inline-block; padding:13px 30px; background:var(--arya-orange); color:var(--arya-white);
	border-radius:50px; font-weight:700; text-decoration:none; letter-spacing:.3px;
	transition:all .35s cubic-bezier(.4,0,.2,1); border:2px solid var(--arya-orange);
}
.arya-btn:hover{ background:var(--arya-teal); border-color:var(--arya-teal); color:var(--arya-white); transform:translateY(-3px); box-shadow:0 10px 20px rgba(83,194,186,.35); }
.arya-btn-outline{ background:transparent; color:var(--arya-orange); }
.arya-btn-outline:hover{ color:var(--arya-white); }

.arya-eyebrow{ display:inline-block; color:var(--arya-teal); font-weight:700; text-transform:uppercase; letter-spacing:1.5px; font-size:13px; margin-bottom:8px; }
.arya-plugin-note{ background:#fff7ec; border:1px dashed var(--arya-orange); color:#7a5210; padding:12px 18px; border-radius:8px; font-size:13.5px; margin:16px 0; }
.arya-event-img-placeholder{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:44px; color:#fff; background:linear-gradient(135deg, var(--arya-orange), var(--arya-teal)); }

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.arya-topbar{ background:var(--arya-black); color:#ddd; font-size:13.5px; }
.arya-topbar-inner{ display:flex; justify-content:space-between; align-items:center; padding:8px 24px; flex-wrap:wrap; gap:8px; }
.arya-topbar-contact{ display:flex; gap:20px; flex-wrap:wrap; }
.arya-topbar-contact a, .arya-topbar-contact span{ color:#ddd; text-decoration:none; }
.arya-topbar-contact a:hover{ color:var(--arya-orange); }
.arya-topbar-social{ display:flex; gap:12px; }
.arya-topbar-social a{ color:#ddd; display:flex; transition:color .25s; }
.arya-topbar-social a:hover{ color:var(--arya-orange); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.arya-header{ position:sticky; top:0; z-index:999; background:var(--arya-white); box-shadow:0 2px 14px rgba(0,0,0,.06); transition:box-shadow .3s; }
.arya-header.arya-scrolled{ box-shadow:0 6px 20px rgba(0,0,0,.12); }
.arya-header-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 24px; min-height:var(--arya-header-h); }
.arya-header-inner > *{ min-width:0; }
.arya-branding{ display:flex; flex-direction:column; min-width:0; }
.arya-site-title{ font-family:'Overlock',sans-serif; font-size:26px; font-weight:900; color:var(--arya-black); text-decoration:none; }
.arya-site-tagline{ margin:0; font-size:12px; color:#888; }
.custom-logo{ max-height:64px; width:auto; max-width:100%; }

.arya-primary-nav{ flex:1; display:flex; justify-content:center; }
.arya-nav-menu{ display:flex; gap:8px; align-items:center; }
.arya-nav-menu li{ position:relative; }
.arya-nav-menu li a{
	display:block; padding:10px 16px; color:var(--arya-black); text-decoration:none;
	font-weight:600; border-radius:8px; transition:all .25s;
}
.arya-nav-menu li a:hover, .arya-nav-menu li.current-menu-item > a{ color:var(--arya-orange); background:#fff4e8; }

.arya-nav-menu li ul{
	position:absolute; top:100%; left:0; min-width:220px; max-width:280px; background:var(--arya-white);
	box-shadow:var(--arya-shadow); border-radius:10px; padding:8px; opacity:0; visibility:hidden;
	transform:translateY(10px); transition:all .3s; z-index:10;
}
.arya-nav-menu li:hover > ul{ opacity:1; visibility:visible; transform:translateY(0); }
.arya-nav-menu li ul li a{ padding:10px 14px; }

/* The last couple of top-level items sit close to the right edge of the header —
   a left-aligned dropdown there can push past the viewport edge and force an
   unwanted horizontal scrollbar. Anchor those to the right instead. */
.arya-nav-menu > li:nth-last-child(-n+2) > ul{ left:auto; right:0; }

.arya-header-actions{ display:flex; align-items:center; gap:16px; }
.arya-header-cta{ padding:10px 22px; font-size:14px; white-space:nowrap; }

.arya-mobile-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:36px; height:36px; background:none; border:none; cursor:pointer; }
.arya-mobile-toggle span{ display:block; width:100%; height:3px; background:var(--arya-black); border-radius:2px; transition:all .3s; }
.arya-mobile-toggle.is-active span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.arya-mobile-toggle.is-active span:nth-child(2){ opacity:0; }
.arya-mobile-toggle.is-active span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

@media (max-width:960px){
	.arya-primary-nav{
		position:fixed; top:var(--arya-header-h); left:0; right:0; bottom:0;
		background:var(--arya-white); flex-direction:column; justify-content:flex-start;
		padding:20px; transform:translateX(-100%); transition:transform .35s ease;
		overflow-y:auto; z-index:998;
	}
	.arya-primary-nav.is-open{ transform:translateX(0); }
	.arya-nav-menu{ flex-direction:column; align-items:stretch; width:100%; }
	.arya-nav-menu li ul{ position:static; box-shadow:none; opacity:1; visibility:visible; transform:none; display:none; padding-left:16px; }
	.arya-nav-menu li.is-expanded > ul{ display:block; }
	.arya-mobile-toggle{ display:flex; }
	.arya-header-cta{ display:none; }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.arya-footer{ background:var(--arya-black); color:#bbb; }
.arya-footer-columns{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding:60px 24px 40px; }
.arya-footer-col h3, .arya-footer-col h4{ color:var(--arya-white); font-size:18px; margin-bottom:16px; }
.arya-footer-col p{ font-size:14px; line-height:1.7; color:#aaa; }
.arya-footer-logo{ font-family:'Overlock',sans-serif; }
.arya-footer-social{ display:flex; gap:12px; margin-top:14px; }
.arya-footer-social a{ width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; color:#ddd; transition:all .3s; }
.arya-footer-social a:hover{ background:var(--arya-orange); color:var(--arya-white); }
.arya-footer-menu li a, .arya-footer-contact-list li{ display:block; padding:6px 0; color:#aaa; text-decoration:none; font-size:14px; }
.arya-footer-menu li a:hover{ color:var(--arya-orange); }
.arya-footer-contact-list a{ color:#aaa; text-decoration:none; }
.arya-footer-contact-list a:hover{ color:var(--arya-orange); }
.arya-footer-widget ul li{ padding:5px 0; }
.arya-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.arya-footer-bottom-inner{ padding:18px 24px; text-align:center; font-size:13px; color:#888; }

@media (max-width:960px){ .arya-footer-columns{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .arya-footer-columns{ grid-template-columns:1fr; } }

.arya-back-to-top{
	position:fixed; bottom:24px; right:24px; width:48px; height:48px; border-radius:50%;
	background:var(--arya-orange); color:var(--arya-white); border:none; font-size:20px; cursor:pointer;
	box-shadow:0 10px 24px rgba(246,143,30,.4); opacity:0; visibility:hidden; transform:translateY(20px);
	transition:all .35s; z-index:900;
}
.arya-back-to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.arya-back-to-top:hover{ background:var(--arya-teal); }

/* ==========================================================================
   HOMEPAGE
   ========================================================================== */
.arya-fallback-hero{
	background:linear-gradient(135deg, var(--arya-orange), var(--arya-teal));
	color:var(--arya-white); text-align:center; padding:120px 24px;
}
.arya-fallback-hero h1{ color:var(--arya-white); font-size:clamp(32px,5vw,52px); }
.arya-fallback-hero p{ max-width:600px; margin:0 auto 28px; font-size:18px; opacity:.95; }
.arya-fallback-hero .arya-btn{ background:var(--arya-white); color:var(--arya-orange); border-color:var(--arya-white); }
.arya-fallback-hero .arya-btn:hover{ background:var(--arya-black); color:var(--arya-white); border-color:var(--arya-black); }

.arya-about-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:60px; align-items:center; }
.arya-about-text p{ font-size:16px; color:#555; margin-bottom:24px; }
.arya-values-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.arya-value-card{ background:#fff; border-radius:var(--arya-radius); padding:26px; box-shadow:var(--arya-shadow); text-align:center; transition:transform .35s; }
.arya-value-card:hover{ transform:translateY(-6px); }
.arya-value-icon{ font-size:36px; margin-bottom:12px; }
.arya-value-card h3{ font-size:17px; margin-bottom:8px; }
.arya-value-card p{ font-size:13.5px; color:#666; margin:0; }

.arya-section-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px; flex-wrap:wrap; gap:16px; }
.arya-section-head h2{ font-size:clamp(24px,3vw,34px); margin:0; }

.arya-cta-banner{ background:linear-gradient(135deg, var(--arya-teal), var(--arya-orange)); padding:70px 24px; text-align:center; color:var(--arya-white); }
.arya-cta-inner h2{ color:var(--arya-white); font-size:clamp(24px,3.5vw,36px); }
.arya-cta-inner p{ max-width:560px; margin:0 auto 26px; opacity:.95; }
.arya-cta-inner .arya-btn{ background:var(--arya-white); color:var(--arya-orange); border-color:var(--arya-white); }
.arya-cta-inner .arya-btn:hover{ background:var(--arya-black); color:var(--arya-white); border-color:var(--arya-black); }

@media (max-width:900px){
	.arya-about-grid{ grid-template-columns:1fr; }
}
@media (max-width:560px){
	.arya-values-grid{ grid-template-columns:1fr 1fr; }
	.arya-section{ padding:50px 0; }
}
@media (max-width:400px){
	.arya-values-grid{ grid-template-columns:1fr; }
}

.arya-home-extra-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:24px; }
.arya-home-extra-widget{ background:#f9f9f9; border-radius:var(--arya-radius); padding:24px; box-shadow:var(--arya-shadow); }
.arya-home-extra-widget h3{ margin-top:0; }

/* ==========================================================================
   PAGE / SINGLE HERO + BREADCRUMBS
   ========================================================================== */
.arya-page-title-bar{ background:#f7fbfb; padding:40px 24px; }
.arya-page-title-bar h1{ margin-bottom:8px; }

.arya-page-hero{ position:relative; background-size:cover; background-position:center; min-height:340px; display:flex; align-items:flex-end;padding-top: 165px; }
.arya-page-hero-noimg{ background:linear-gradient(135deg, var(--arya-orange), var(--arya-teal)); }
.arya-page-hero-overlay{ width:100%; background:linear-gradient(0deg, rgba(0,0,0,.75) 10%, rgba(0,0,0,.05) 90%); padding:50px 0 34px; }
.arya-page-hero-overlay h1{ color:var(--arya-white); font-size:clamp(26px,4vw,42px); margin-bottom:10px; }
.arya-page-hero-noimg .arya-page-hero-overlay{ background:none; }

.arya-breadcrumbs{ font-size:13.5px; color:#666; }
.arya-breadcrumbs a{ color:inherit; text-decoration:none; }
.arya-breadcrumbs a:hover{ color:var(--arya-orange); }
.arya-page-hero-overlay .arya-breadcrumbs, .arya-page-hero-overlay .arya-breadcrumbs a{ color:rgba(255,255,255,.85); }

.arya-post-cat-badge{ display:inline-block; background:var(--arya-orange); color:#fff; font-size:12px; font-weight:700; text-transform:uppercase; padding:5px 14px; border-radius:50px; margin-bottom:10px; }
.arya-post-meta{ display:flex; gap:18px; flex-wrap:wrap; color:rgba(255,255,255,.85); font-size:13.5px; }

.arya-page-content{ padding:50px 0; max-width:900px; }
.arya-page-content p{ margin:0 0 1.2em; }

/* ==========================================================================
   SINGLE POST LAYOUT
   ========================================================================== */
.arya-single-layout{ display:grid; grid-template-columns:1fr 320px; gap:50px; padding:50px 0; align-items:start; }
.arya-single-content p{ margin:0 0 1.2em; font-size:16px; line-height:1.8; }
.arya-single-content img{ border-radius:var(--arya-radius); }
.arya-page-links{ margin:20px 0; font-weight:700; }
.arya-post-tags{ margin:30px 0; }
.arya-tag{ display:inline-block; background:#f2f2f2; color:#555; padding:6px 14px; border-radius:50px; font-size:12.5px; margin:0 6px 6px 0; }

.arya-author-box{ display:flex; gap:16px; align-items:flex-start; background:#f9f9f9; border-radius:var(--arya-radius); padding:22px; margin:30px 0; }
.arya-author-box img{ border-radius:50%; flex-shrink:0; }
.arya-author-box h4{ margin:0 0 6px; }
.arya-author-box p{ margin:0; font-size:14px; color:#666; }

.arya-post-nav{ display:flex; justify-content:space-between; gap:20px; margin:30px 0; padding:20px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; font-weight:700; }
.arya-post-nav a{ color:var(--arya-black); text-decoration:none; }
.arya-post-nav a:hover{ color:var(--arya-orange); }

@media (max-width:900px){ .arya-single-layout{ grid-template-columns:1fr; } }

/* ==========================================================================
   SIDEBAR / WIDGETS
   ========================================================================== */
.arya-blog-sidebar{ display:flex; flex-direction:column; gap:24px; }
.arya-widget{ background:#f9f9f9; border-radius:var(--arya-radius); padding:22px; box-shadow:var(--arya-shadow); }
.arya-widget h3{ margin:0 0 16px; font-size:18px; }
.arya-sidebar-recent-list li a{ display:flex; gap:12px; align-items:center; text-decoration:none; color:inherit; padding:8px 0; }
.arya-sidebar-recent-list img{ width:56px; height:56px; object-fit:cover; border-radius:8px; flex-shrink:0; }
.arya-sidebar-recent-list strong{ display:block; font-size:14px; }
.arya-sidebar-recent-list em{ display:block; font-size:11.5px; color:var(--arya-teal); font-style:normal; }
.arya-sidebar-cats li{ display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #eee; font-size:14px; }
.arya-sidebar-cats a{ color:#444; text-decoration:none; }
.arya-sidebar-cats a:hover{ color:var(--arya-orange); }

/* Widget defaults (search/text/recent-comments widgets etc placed by admin) */
.arya-widget input[type="search"], .arya-widget input[type="text"]{ width:100%; padding:10px 14px; border:2px solid #e5e5e5; border-radius:8px; font-family:'Quicksand',sans-serif; }
.arya-widget select{ width:100%; padding:8px; border-radius:8px; border:2px solid #e5e5e5; }

/* ==========================================================================
   BLOG GRID (index.php / archive.php / search.php reuse the Addon's classes)
   ========================================================================== */
.arya-blog-grid{ display:grid; grid-template-columns:repeat(var(--arya-blog-cols,3),1fr); gap:28px; }
.arya-blog-card{ background:#fff; border-radius:var(--arya-radius); overflow:hidden; box-shadow:var(--arya-shadow); display:flex; flex-direction:column; transition:transform .4s, box-shadow .4s; }
.arya-blog-card:hover{ transform:translateY(-8px); box-shadow:0 20px 40px rgba(0,0,0,.16); }
.arya-blog-thumb{ position:relative; display:block; overflow:hidden; aspect-ratio:16/10; }
.arya-blog-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.arya-blog-card:hover .arya-blog-thumb img{ transform:scale(1.1); }
.arya-blog-date{ position:absolute; bottom:12px; left:12px; background:var(--arya-orange); color:#fff; font-size:12px; font-weight:700; padding:5px 12px; border-radius:50px; }
.arya-blog-body{ padding:22px; display:flex; flex-direction:column; flex:1; }
.arya-blog-cat{ color:var(--arya-teal); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; margin-bottom:8px; }
.arya-blog-title{ margin:0 0 10px; font-size:19px; line-height:1.3; }
.arya-blog-title a{ color:var(--arya-black); text-decoration:none; }
.arya-blog-title a:hover{ color:var(--arya-orange); }
.arya-blog-excerpt{ color:#555; font-size:14px; line-height:1.6; margin:0 0 16px; flex:1; }
.arya-blog-readmore{ color:var(--arya-orange); font-weight:700; text-decoration:none; font-size:14px; }
.arya-blog-readmore:hover{ color:var(--arya-teal); }

@media (max-width:900px){ .arya-blog-grid{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:600px){ .arya-blog-grid{ grid-template-columns:1fr !important; } }

/* Pagination */
.pagination, .navigation.pagination{ display:flex; justify-content:center; gap:8px; margin:40px 0; flex-wrap:wrap; }
.pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border-radius:8px; background:#f2f2f2; color:#333; text-decoration:none; font-weight:700; transition:all .25s; }
.pagination .page-numbers.current, .pagination .page-numbers:hover{ background:var(--arya-orange); color:#fff; }

/* ==========================================================================
   COMMENTS
   ========================================================================== */
.arya-comments-wrap{ margin-top:50px; }
.comment-list{ list-style:none; margin:0; padding:0; }
.comment-list li{ margin-bottom:20px; }
#commentform input, #commentform textarea{ width:100%; padding:12px 16px; border:2px solid #e5e5e5; border-radius:8px; font-family:'Quicksand',sans-serif; margin-bottom:14px; }
#commentform input[type="submit"]{ width:auto; background:var(--arya-orange); color:#fff; border:none; font-weight:700; cursor:pointer; padding:12px 30px; border-radius:50px; transition:background .3s; }
#commentform input[type="submit"]:hover{ background:var(--arya-teal); }

/* ==========================================================================
   404
   ========================================================================== */
.arya-404-wrap{ text-align:center; padding:100px 24px; }
.arya-404-om{ font-size:64px; margin-bottom:10px; }
.arya-404-wrap h1{ font-size:64px; color:var(--arya-orange); margin-bottom:16px; }

/* ==========================================================================
   RESPONSIVE: general
   ========================================================================== */
@media (max-width:600px){
	.arya-container{ padding:0 16px; }
	.arya-section{ padding:40px 0; }
	.arya-header-inner{ gap:12px; padding:12px 16px; }
	.arya-site-title{ font-size:21px; }
	.custom-logo{ max-height:48px; }
	.arya-footer-columns{ padding:40px 16px 30px; gap:30px; }
}
@media screen and (max-width: 768px) {
    .arya-page-hero {
        padding-top: 0px !important;
        margin-top: -10px !important;    
        
        min-height: auto !important;    
    }
}